本文將深入剖析專門為vCenter Server管理平台量身打造的高可用性機制vCHA(vCenter High Availability),並進行實作演練,以便協助管理人員了解vCenter High Availability高可用性的最佳建議作法,並讓企業和組織當中營運服務的「服務層級協定」(Service Level Agreement,SLA)獲得有效地提升。
當vCenter Server需要進行相關維運作業時,為了避免系統誤判而導致觸發vCenter Server容錯移轉機制,可以在進行vCenter Server維運作業前,讓vCenter HA機制進行「維護模式」(Maintenance Mode)。在vCenter Server管理介面中,依序點選「vCenter Server > Configure > Settings > vCenter HA > Edit」,在彈出的Edit vCenter HA視窗中選擇至「Maintenance Mode」。此時,可以在管理介面中看到vCenter HA的Mode由原本的Enable轉換成「Maintenance」,並且系統也顯示「Automatic failover」機制已停用,但管理人員仍然可以進行手動容錯移轉,如圖14所示。
即便建立vCenter Server高可用性機制,定期備份vCenter Server仍是必須的,下列便是建立vCenter HA高可用性機制後的備份還原注意事項:
1. 僅備份擔任Active Node角色的vCenter Server即可,無須備份Passive Node和Witness Node。
2. 當災難事件發生必須執行還原作業時,先關閉並刪除所有vCenter HA角色的節點主機。
3. 執行還原Active Node角色的vCenter Server即可,還原後為單台的vCenter Server,如圖15所示。
4. 重新組態設定vCenter HA高可用性機制。
事實上,vCHA高可用性機制針對不同的資料屬性採用不同的同步方式,以便保持Active Node和Passive Node節點主機狀態的一致性。
首先,在vCenter Server資料庫部分預設採用內嵌「PostgreSQL資料庫」,直接透過PostgreSQL資料庫原生的「複寫」(Replication)機制,保持Active Node和Passive Node節點主機資料庫同步與內容的一致性。在「組態設定檔」的部分,則使用Linux作業系統中原生的「Rsync」複寫機制,達到Active Node和Passive Node節點主機組態設定檔內容的一致性。
此外,在vCHA高可用性機制的運作架構下,當發生不同的災難事件時(例如硬體、軟體、網路環境等等),如何才會觸發Passive Node接手Active Node服務和叢集共用IP位址,並且繼續回應客戶端送出的請求?
接下來,將列舉當vCHA高可用性機制發生各種災難事件時,系統如何進行因應措施:
‧Active Node發生災難故障時:只要Passive Node與Witness Node能夠互相通訊,那麼Passive Node將會提升自己的角色為Active Node,接手相關服務及管理IP位址,並開始回應客戶端提出的請求。
‧Passive Node發生災難故障時:只要Active Node與Witness Node能夠互相通訊,那麼Active Node將繼續保持Active Node的角色,繼續回應客戶端提出的請求。
‧Witness Node發生災難故障時:只要Active Node與Passive Node能夠互相通訊,那麼Active Node將繼續保持原來的角色,並繼續回應客戶端提出的請求。同時,Passive Node會繼續偵測Active Node是否正常運作,以便隨時準備進行容錯移轉作業。
‧多台節點發生故障或發生網路隔離:表示Active、Passive、Witness這三台節點主機彼此無法互相通訊。此時,vCHA叢集無法正常運作並且高可用性也受到影響,因為在vCHA高可用性機制的設計中無法容許同時發生多項故障。
‧節點隔離行為:當單台節點主機發生網路中斷事件,在經過間歇性網路故障偵測程序以及所有重試機制都耗盡後,系統才會將該台節點主機判定為隔離狀態,同時進入隔離狀態的節點主機會自動停止所有服務。舉例來說,倘若Active Node發生隔離狀態的時候,那麼Active Node將會從叢集中移出並停止所有服務,以便確保Passive Node能夠接手角色成為Active Node,並開始回應客戶端提出的請求。
<本文作者:王偉任,Microsoft MVP及VMware vExpert。早期主要研究Linux/FreeBSD各項整合應用,目前則專注於Microsoft及VMware虛擬化技術及混合雲運作架構,部落格weithenn.org。>