Openstack後期運維(六)----叢集收縮
注:在縮減之前,將宿主機上的虛機全部熱遷移完成後直接關閉宿主機,會比較省事兒,不用在需要關閉服務。
一、關閉和踢出 nova-compute 服務
1、關閉服務:WEB 介面 | 管理員 | 系統 | 虛擬機器管理器 | 計算主機 | 找到對應的服務點選“關閉服務”
當然,使用命令列也是可以關閉的:
#openstack compute service list # 檢視服務列表和名稱
#openstack compute service set--disablehost service
#openstack compute service set--
2、踢出服務
二、剔除網路節點
1、檢視
#openstack network agent list
2、關閉服務
#openstack network agent set--disable ID
3、踢出服務
#
三、踢出 塊儲存 服務
注: 在關閉和踢出 塊儲存服務 之前,首先確保此服務上沒有 卷存在。如果有,需要先遷移走,否則後期虛機無法進行遷移(熱遷移和冷遷移)。
1、檢視是否還有卷存在此服務上
被使用的卷無法進行遷移。解決辦法看部落格結尾 附文。
2、檢視和關閉服務
#openstack volume service list
#openstack volume service set --disable host Binary
#openstack volume service set --disablehost Binary
3、在資料庫中清除服務
cinder 資料庫 的 services表
drop from services where host="和要踢出的服務相關的名稱';
附文:
遷移卷,前提我是使用的dokcer 進行openstack部署的。 卷的驅動檔案都儲存在服務對應的 docker _data 檔案裡。
1、在資料庫cinder,表volumes 中找到對應服務所關聯的 卷ID
select * from cinder.volumes where host="compute-3.ops.ft1@rbd-1#RBD" # 我以compute-3.ops.ft1@rbd-1#RBD 為例。
2、在 宿主機 compute-3 的/var/lib/docker/volumes/cinder/_data 中找到 和 獲取到的ID相關的檔案,然後拷貝至目標主機 A(如下是前移到了compute-12 主機)。
scp /var/lib/docker/volumes/cinder/_data/cinder-'fe24213a-f380-4b13-9a7d-d66ce6b1a942* compute-12:/var/lib/docker/volumes/cinder/_data/
3、修改資料庫記錄:
#update volumes set host='compute-12.ops.ft1@rbd-1#RBD' where id='fe24213a-f380-4b13-9a7d-d66ce6b1a942';
結束
IT運維開發路上的點點滴滴。。。