一般情況下,我們希望實現主機宕機的時候,該主機上面的所有虛擬機資源都可以成功遷移到另外一臺主機上面,不過在現階段,CloudStack還未能實現這樣的功能,僅僅提供了虛擬機高可用方案,也就是一臺主機上面的虛擬機由於某些原因以外關機,可以在另外一臺上面自動啓動,併成功運行,前提是該以外關機的虛擬機資源是完整的,也就是需要保證該虛擬機是可以正常被重新啓動的。
這樣的情況是很有可能出現的,比如一臺主機的資源消耗的很多,資源已經不再夠其中虛擬機資源的使用,導致虛擬機以外宕機,此時,該主機也很有可能隨時宕機,所以在一臺虛擬機以外宕機之後,及時將其遷移至另外一臺主機上面是很有道理的。
默認情況下,虛擬路由器跟彈性負載均衡虛擬機被自動配置成高可用特性,當啓用高可用的實例出現宕機的時候,CloudStak會發現並自動重啓同一個zone中的宕機實例。
HA特性只能用於同一個zone中,CloudStack重啓虛擬機的策略,確保同一時間內沒有同一個虛擬機的兩個實例同時運行。管理節點嘗試在同一個集羣上的另外一個主機中啓動虛擬機。並且HA特性需要共享存儲支持
下面就是實現的步驟,主要分爲如下幾個步驟。
1.設置全局變量中的HA標籤
2.給需要成爲VM高可用特性的主機打上HA標籤
3.創建支持VM高可用特性的計算方案
4.通過普通模板,HA計算方案,創建實例
5.對一臺虛擬機實現關機操作,查看是否會自動遷移到另外一臺主機上面
注意:以上的所有特性均需要提供VM高可用特性的主機處於同一集羣中。
以下爲相關步驟截圖:
圖 全局變量配置HA標籤,重啓生效
圖 對主機1添加主機標籤,跟全局變量設置一致
圖 圖 對主機2添加主機標籤,跟全局變量設置一致
圖 創建支持高可用特性的計算方案
圖 創建高可用計算方案的實例
圖 定義實例主機名
圖 查看實例所在主機
圖 創建文件,對實例做相關標記
圖 對實例進行關機操作
圖 Console斷開連接,表明關機成功
圖 顯示實例正在自動啓動
圖 查看實例當前所在主機
圖 查看實例中相關文件是否一致
注意:在後續的測試中發現,虛擬機不一定每次被關機後,都會在另外一臺主機上面啓動,也有可能在本機上面被重啓,然而,不管怎樣,這個功能還是在一定意義上面保證了虛擬機實例的高可用,意外關機後可以被自動啓動,在一定程度上面滿足了某些高可用定義。
在配置VM高可用之前,需要先讓兩個SSVM跟虛擬路由器啓動,否則都會報錯!