手動遷移實例方法,記載如下:
我的實驗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 [email protected]:/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