手动迁移实例方法,记载如下:
我的实验openstack环境,controller只有8G内存,compute1节点64G内存,创建虚拟机时有个重要实例分配在controller节点,用起来很卡,想把这个虚拟机从controller 迁移到compute1去,手动迁移过程如下:
1.查看实例ID
2. 复制实例文件到目标节点 controller--> compute1
在controller主机操作
cd /opt/stack/data/nova/instances
scp -rp 73e4a93e-8be4-42dc-9148-af4982a11c11 root@compute1:/opt/stack/data/nova/instances
3.修改复制文件的权限,在compute1节点操作
cd /opt/stack/data/nova/instances
chown stack:libvirt 73e4a93e-8be4-42dc-9148-af4982a11c11/ -R
4.在mysql数据库修改实例节点信息
mysql>use nova_cell1
mysql> select host,node from instances where uuid='73e4a93e-8be4-42dc-9148-af4982a11c11';
+------------+------------+
| host | node |
+------------+------------+
| controller | controller |
+------------+------------+
1 row in set (0.00 sec)
mysql> update instances set host='compute1', node='compute1' where uuid='73e4a93e-8be4-42dc-9148-af4982a11c11';
Query OK, 1 row affected (0.04 sec)
Rows matched: 1 Changed: 1 Warnings: 0
5.检查是否已迁移并能正常启动
可见实例所在主机已从controller 迁移到了 compute1
启动实例验证
正常启动
6. 删除原来节点上的实例文件
在节点controller上操作
cd /opt/stack/data/nova/instances
rm -rf 73e4a93e-8be4-42dc-9148-af4982a11c
---------------------------------------------------------
实例迁移完毕