1. 程式人生 > 其它 >Openstack後期運維(六)----叢集收縮

Openstack後期運維(六)----叢集收縮

注:在縮減之前,將宿主機上的虛機全部熱遷移完成後直接關閉宿主機,會比較省事兒,不用在需要關閉服務。

一、關閉和踢出 nova-compute 服務

  1、關閉服務:WEB 介面 | 管理員 | 系統 | 虛擬機器管理器 | 計算主機 | 找到對應的服務點選“關閉服務”

    

  當然,使用命令列也是可以關閉的:

    #openstack compute service list # 檢視服務列表和名稱

    #openstack compute service set--disablehost service

    #openstack compute service set--

downhost service

    

  2、踢出服務

    openstack compute service delete ID #ID 為 1步驟中列出的ID。

二、剔除網路節點

  1、檢視

    #openstack network agent list

    

  

  2、關閉服務

    #openstack network agent set--disable ID

  3、踢出服務

    #openstack network agent delete ID

三、踢出 塊儲存 服務

  注: 在關閉和踢出 塊儲存服務 之前,首先確保此服務上沒有 卷存在。如果有,需要先遷移走,否則後期虛機無法進行遷移(熱遷移和冷遷移)。

  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運維開發路上的點點滴滴。。。