IP | 主机名 | 节点 |
---|---|---|
192.168.100.10 | controller | OpenStack控制节点 |
192.168.100.20 | compute | OpenStack计算节点 |
把compute节点的IP和主机名改为controller节点的IP和主机名
运行iaas-install-nova-compute.sh
在控制节点运行iaas-install-nova-compute.sh
执行过程中需要确认登录controller节点和输入controller节点root用户密码。
注:这个.sh仅仅是一个环境认证产量,如果准备在哪个节点使用,就在哪个节点修改,所以该实验仅在controller节点进行了修改
登录界面,使用用户名密码登录,在左侧导航栏单击管理员--资源管理--虚拟机管理器查看
# 登录
controller # source /etc/keystone/admin-openrc.sh
# 通过命令创建云主机
controller # nova boot --flavor m1.test --image centos7.5 --security-group test --nic net-name=int-net test
可以使用dashboard界面或者命令创建虚拟机,此处使用dashboard界面创建,创建了一个名为test的云主机,可以通过命令查看。
controller # nova show test
......
| OS-EXT-AZ:availability_zone | nova |
| OS-EXT-SRV-ATTR:host | compute |
| OS-EXT-SRV-ATTR:hostname | test |
| OS-EXT-SRV-ATTR:hypervisor_hostname | compute | ......
可以看到虚拟机所在的物理节点为compute节点。
随着云计算平台的使用,可能会出现compute节点的资源不够用了,需要将创建在compute节点的虚拟机迁移至controller节点。又或者是compute节点机器太老了,需要跟新,这个时候也需要将创建在compute节点的虚拟机进行迁移。
compute # cd /var/lib/nova/instances/
compute # ll
总用量 4
drwxr-xr-x. 2 nova nova 54 6月 16 08:29 8c0a8f1d-7da1-447d-b96b-e48c0520c04d
drwxr-xr-x. 2 nova nova 54 5月 31 03:47 _base
-rw-r--r--. 1 nova nova 30 6月 25 11:20 compute_nodes
drwxr-xr-x. 2 nova nova 93 6月 7 17:44 locks
compute # cd 8c0a8f1d-7da1-447d-b96b-e48c0520c04d
compute # ll
-rw-------. 1 root root 55270 6月 16 11:06 console.log
-rw-r--r--. 1 root root 122355712 6月 16 11:06 disk
-rw-r--r--. 1 nova nova 79 6月 16 08:29 disk.info
compute # scp -r /var/lib/nova/instances/8c0a8f1d-7da1-447d-b96b-e48c0520c04d/ root@192.168.100.10:/var/lib/nova/instances/
compute # rm -rf /var/lib/nova/instances/8c0a8f1d-7da1-447d-b96b-e48c0520c04d/
controller # cd /var/lib/nova/instances/
controller # ll
总用量 0
drwxr-xr-x. 2 root root 54 6月 25 11:37 8c0a8f1d-7da1-447d-b96b-e48c0520c04d
controller # chown nova:nova 8c0a8f1d-7da1-447d-b96b-e48c0520c04d
controller # ll
总用量 4
drwxr-xr-x. 2 nova nova 54 6月 25 11:37 8c0a8f1d-7da1-447d-b96b-e48c0520c04d
-rw-r--r--. 1 nova nova 33 6月 25 11:41 compute_nodes
drwxr-xr-x. 2 nova nova 40 6月 25 11:41 locks
至此前期的迁移工作准备完毕。
进入数据库:
controller # mysql -uroot -p000000 > use nova;
> update instances set host='controller',node='controller' where uuid='8c0a8f1d-7da1-447d-b96b-e48c0520c04d';
修改完成后,重启nova-compute服务
controller # systemctl restart openstack-nova-compute
重启服务后启动虚拟机test并查看虚拟机的详细信息
controller # nova start 8c0a8f1d-7da1-447d-b96b-e48c0520c04d
controller # nova list
controller # nova show
test ......
| OS-EXT-AZ:availability_zone | nova |
| OS-EXT-SRV-ATTR:host | controller |
| OS-EXT-SRV-ATTR:hostname | test |
| OS-EXT-SRV-ATTR:hypervisor_hostname | controller | ......
可以查看到test虚拟机成功启动,在查看test虚拟机的详细信息后,可以发现宿主机由原来的compute变成了controller。虚拟机手动迁移操作成功。