1. 程式人生 > >Openstack 之 安全關閉HA集群

Openstack 之 安全關閉HA集群

斷電 openstack ha集群 啟動

前言

理論上,生產環境的OpenStack集群盡量不要關閉,但由於某些原因你肯定會遇到需要關閉整個集群的,如計劃中的機房斷電,版本升級等。特別是物理斷電要特別謹慎,因為會導致磁盤故障,以及數據狀態的混亂,從而導致各類問題的出現。我經常遇到的問題是,當物理斷電後,mariadb galera 啟動失敗,這個組件可是核心組件,數據庫起不來,那麽整個openstack集群就停擺了。

一般關閉的順序是這樣的,先關閉OpenStack上的虛擬機,接著關閉計算節點、Ceph節點、控制節點。如果用了“超融合架構”,將Ceph和Compute放在一起了,關機計算節點之前 ,需要先執行ceph osd set noout,才能關閉。

步驟

1、通過Horizon web管理界面或者命令行關閉虛擬機

註意:請確認虛擬機之間是否有特殊的關閉順序要求。

2、關閉Ceph OSD 節點

設置noout標記,防止因為Ceph節點斷電引起重平衡

a、登陸到Controller節點或者Ceph OSD節點,執行:

ceph osd set noout

b、確認集群狀態,可以看到noout 標記

# ceph -s
    cluster 7eb2b84a-c73e-4050-b735-3ba643ffc603
     health HEALTH_WARN
            noout flag(s) set


3、關閉計算節點

登陸每一個計算節點,執行:

poweroff

4、登陸到每個Ceph OSD節點,執行:

poweroff

5、關閉控制節點

假設你有3個控制節點(標配就是3個),首先判斷哪一臺主機上擁有keepalive主IP,首先關閉其他2臺控制節點,最後關閉擁有keepalive主IP的控制節點,並且記住關閉的順序,後面啟動的時候需要相反的順序啟動

(1)首先判斷哪一臺主機上擁有keepalive主IP,假設192.168.1.140是HA地址,用命令 ip a |grep 192.168.1.140 判斷,假設controller01擁有keepalive主IP

(2)登陸到其他兩臺控制節點controller02節點和controller03節點

,分別執行:

poweroff

每個節點關閉完成,多等幾分鐘,使集群有充足的時間在剩余的控制節點之間重新分配服務。

(3)最後登陸到controller01節點,執行:

poweroff

至此,集群已經安全關閉。

重啟集群過程正好相反,先啟動控制節點,再啟動Ceph節點,最後啟動計算節點,啟動計算節點後再登錄web管理界面將相應的虛擬機啟動。

需要特別註意的是,啟動控制節點的時候,按照關閉相反的順序進行啟動。

?




Openstack 之 安全關閉HA集群