openstack虚机冷迁移
| 迁移前主机所在节点 |
![]() |
|
#(1)查看正在运行的虚拟机
[root@controller1 ~]# openstack server list
+--------------------------------------+-------------+--------+----------------------+--------+--------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+-------------+--------+----------------------+--------+--------+
| b4941301-4227-47c9-a591-a1d8c628f542 | openstack02 | ACTIVE | vm-ext=192.168.1.114 | cirror | cirror |
| 6cfdc73c-31df-4485-b043-494c61111cc6 | openstack01 | ACTIVE | vm-ext=192.168.1.110 | cirror | cirror |
+--------------------------------------+-------------+--------+----------------------+--------+--------+
#(2)关闭需要迁移的虚拟机,记录对应的ID
[root@controller1 ~]# openstack server stop b4941301-4227-47c9-a591-a1d8c628f542
[root@controller1 ~]# openstack server list
+--------------------------------------+-------------+---------+----------------------+--------+--------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+-------------+---------+----------------------+--------+--------+
| b4941301-4227-47c9-a591-a1d8c628f542 | openstack02 | SHUTOFF | vm-ext=192.168.1.114 | cirror | cirror |
| 6cfdc73c-31df-4485-b043-494c61111cc6 | openstack01 | ACTIVE | vm-ext=192.168.1.110 | cirror | cirror |
+--------------------------------------+-------------+---------+----------------------+--------+--------+
[root@controller1 ~]#
#(3)拷贝openstack02对应的磁盘文件到目的主机(即compute1节点)
[root@controller1 ~]# cd /var/lib/nova/instances/
[root@controller1 instances]# ls
b4941301-4227-47c9-a591-a1d8c628f542 _base compute_nodes locks
#拷贝文件
[root@controller1 instances]# scp -r b4941301-4227-47c9-a591-a1d8c628f542 compute1:/var/lib/nova/instances/
#(4)在目的主机修改权限,属主属组修改为nova
[root@compute1 instances]# ls
6cfdc73c-31df-4485-b043-494c61111cc6 b4941301-4227-47c9-a591-a1d8c628f542 _base compute_nodes locks
[root@compute1 instances]# chown -R nova:nova b4941301-4227-47c9-a591-a1d8c628f542/
#(5)修改数据库中的instances相关内容
[root@controller1 instances]# mysql -uroot -p
Enter password: xxxxxx
#(6)修改instances表中的内容
MariaDB [(none)]> use nova;
Database changed
MariaDB [nova]> update instances set host='compute1', node='compute1' where uuid='b4941301-4227-47c9-a591-a1d8c628f542';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
MariaDB [nova]> quit
[root@controller1 instances]#
#注:其中的UUID为需要迁移的虚拟机的ID
#(7)查看虚拟机所在的节点是否变化
[root@controller1 instances]# nova show b4941301-4227-47c9-a591-a1d8c628f542
+--------------------------------------+----------------------------------------------------------+
| Property | Value |
+--------------------------------------+----------------------------------------------------------+
| OS-DCF:diskConfig | AUTO |
| OS-EXT-AZ:availability_zone | nova |
| OS-EXT-SRV-ATTR:host | #compute1 |
| OS-EXT-SRV-ATTR:hostname | #openstack02 |
| OS-EXT-SRV-ATTR:hypervisor_hostname | #compute1 |
| OS-EXT-SRV-ATTR:instance_name | instance-00000004 |
| OS-EXT-SRV-ATTR:kernel_id | |
| OS-EXT-SRV-ATTR:launch_index | 0
#(8)启动虚拟机
[root@controller1 instances]# openstack server list
+--------------------------------------+-------------+---------+----------------------+--------+--------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+-------------+---------+----------------------+--------+--------+
| b4941301-4227-47c9-a591-a1d8c628f542 | openstack02 | #SHUTOFF | vm-ext=192.168.1.114 | cirror | cirror |
| 6cfdc73c-31df-4485-b043-494c61111cc6 | openstack01 | ACTIVE | vm-ext=192.168.1.110 | cirror | cirror |
+--------------------------------------+-------------+---------+----------------------+--------+--------+
[root@controller1 instances]# openstack server start openstack02
[root@controller1 instances]# openstack server list
+--------------------------------------+-------------+--------+----------------------+--------+--------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+-------------+--------+----------------------+--------+--------+
| b4941301-4227-47c9-a591-a1d8c628f542 | openstack02 | #ACTIVE | vm-ext=192.168.1.114 | cirror | cirror |
| 6cfdc73c-31df-4485-b043-494c61111cc6 | openstack01 | ACTIVE | vm-ext=192.168.1.110 | cirror | cirror |
+--------------------------------------+-------------+--------+----------------------+--------+--------+
| (9)平台中查看是否迁移完成 |
![]() |
| (10)平台中查看是否迁移成功,虚拟机是否正常运行 |
![]() |