CloudStack 實(shí)現(xiàn)VM高可用特性
一般情況下,我們希望實(shí)現(xiàn)主機(jī)宕機(jī)的時(shí)候,該主機(jī)上面的所有虛擬機(jī)資源都可以成功遷移到另外一臺(tái)主機(jī)上面,不過(guò)在現(xiàn)階段,CloudStack還未能實(shí)現(xiàn)這樣的功能,僅僅提供了虛擬機(jī)高可用方案,也就是一臺(tái)主機(jī)上面的虛擬機(jī)由于某些原因以外關(guān)機(jī),可以在另外一臺(tái)上面自動(dòng)啟動(dòng),并成功運(yùn)行,前提是該以外關(guān)機(jī)的虛擬機(jī)資源是完整的,也就是需要保證該虛擬機(jī)是可以正常被重新啟動(dòng)的。
這樣的情況是很有可能出現(xiàn)的,比如一臺(tái)主機(jī)的資源消耗的很多,資源已經(jīng)不再夠其中虛擬機(jī)資源的使用,導(dǎo)致虛擬機(jī)以外宕機(jī),此時(shí),該主機(jī)也很有可能隨時(shí)宕機(jī),所以在一臺(tái)虛擬機(jī)以外宕機(jī)之后,及時(shí)將其遷移至另外一臺(tái)主機(jī)上面是很有道理的。
默認(rèn)情況下,虛擬路由器跟彈性負(fù)載均衡虛擬機(jī)被自動(dòng)配置成高可用特性,當(dāng)啟用高可用的實(shí)例出現(xiàn)宕機(jī)的時(shí)候,CloudStak會(huì)發(fā)現(xiàn)并自動(dòng)重啟同一個(gè)zone中的宕機(jī)實(shí)例。
HA特性只能用于同一個(gè)zone中,CloudStack重啟虛擬機(jī)的策略,確保同一時(shí)間內(nèi)沒(méi)有同一個(gè)虛擬機(jī)的兩個(gè)實(shí)例同時(shí)運(yùn)行。管理節(jié)點(diǎn)嘗試在同一個(gè)集群上的另外一個(gè)主機(jī)中啟動(dòng)虛擬機(jī)。并且HA特性需要共享存儲(chǔ)支持
下面就是實(shí)現(xiàn)的步驟,主要分為如下幾個(gè)步驟。
1.設(shè)置全局變量中的HA標(biāo)簽
2.給需要成為VM高可用特性的主機(jī)打上HA標(biāo)簽
3.創(chuàng)建支持VM高可用特性的計(jì)算方案
4.通過(guò)普通模板,HA計(jì)算方案,創(chuàng)建實(shí)例
5.對(duì)一臺(tái)虛擬機(jī)實(shí)現(xiàn)關(guān)機(jī)操作,查看是否會(huì)自動(dòng)遷移到另外一臺(tái)主機(jī)上面
注意:以上的所有特性均需要提供VM高可用特性的主機(jī)處于同一集群中。
以下為相關(guān)步驟截圖:

圖 全局變量配置HA標(biāo)簽,重啟生效

圖 對(duì)主機(jī)1添加主機(jī)標(biāo)簽,跟全局變量設(shè)置一致

圖 圖 對(duì)主機(jī)2添加主機(jī)標(biāo)簽,跟全局變量設(shè)置一致

圖 創(chuàng)建支持高可用特性的計(jì)算方案

圖 創(chuàng)建高可用計(jì)算方案的實(shí)例

圖 定義實(shí)例主機(jī)名

圖 查看實(shí)例所在主機(jī)

圖 創(chuàng)建文件,對(duì)實(shí)例做相關(guān)標(biāo)記

圖 對(duì)實(shí)例進(jìn)行關(guān)機(jī)操作

圖 Console斷開連接,表明關(guān)機(jī)成功

圖 顯示實(shí)例正在自動(dòng)啟動(dòng)

圖 查看實(shí)例當(dāng)前所在主機(jī)

圖 查看實(shí)例中相關(guān)文件是否一致
注意:在后續(xù)的測(cè)試中發(fā)現(xiàn),虛擬機(jī)不一定每次被關(guān)機(jī)后,都會(huì)在另外一臺(tái)主機(jī)上面啟動(dòng),也有可能在本機(jī)上面被重啟,然而,不管怎樣,這個(gè)功能還是在一定意義上面保證了虛擬機(jī)實(shí)例的高可用,意外關(guān)機(jī)后可以被自動(dòng)啟動(dòng),在一定程度上面滿足了某些高可用定義。
本文出自 “暗黑魔君騰云端” 博客,請(qǐng)務(wù)必保留此出處http://clovemfong.blog.51cto.com/3297559/1316868