???????????? ICOS 高可用計算架構(gòu)
業(yè)務(wù)層高可用:確保業(yè)務(wù)高可用的關(guān)鍵在于能敏銳感知Hypervisor虛擬化層面異常事件并及時采取合適的保護動作。ICOS的集群HA管理服務(wù)方案在計算主機配置云主機監(jiān)控服務(wù),輪詢底層虛擬化接口,關(guān)注虛擬機異常事件,例如“異常退出”。當事件發(fā)生時,云主機監(jiān)控服務(wù)封裝并發(fā)送“云主機異常退出通知”到集群HA管理服務(wù),由異常事件處理引擎甄別事件,并發(fā)送“云主機重啟”請求到ICOS計算服務(wù)接口,完成對問題業(yè)務(wù)的恢復(fù)。
關(guān)鍵進程高可用:如果要確保業(yè)務(wù)云主機的健康運行,僅僅從Hypervisor層關(guān)注虛擬機是否宕機顯然是不夠的,因為在復(fù)雜的云環(huán)境下,業(yè)務(wù)的健康不僅取決于其掛載的后端分布式存儲是否可用,業(yè)務(wù)網(wǎng)絡(luò)是否暢通,還在于云環(huán)境中能否被良好地治理等諸多因素。在計算集群中,負責維護這些因素良好狀態(tài)的進程就是我們所關(guān)注的“關(guān)鍵進程”。ICOS的集群HA管理服務(wù)方案提供了一套高度可配置化,自由定制化架構(gòu)以實現(xiàn)對計算主機進程的監(jiān)控:監(jiān)控進程列表可配置,監(jiān)控腳本以及異常處理Action可以自定義,支持基于Action列表的工作流定制化。
系統(tǒng)默認提供“嘗試重新啟動失敗進程”的處理方式,一旦目標進程發(fā)生異常,可以在數(shù)秒內(nèi)檢測到并恢復(fù)服務(wù)以解決問題,如果多次嘗試無果,即自動發(fā)送“進程不可用”事件到集群HA管理服務(wù),由其通知云平臺Disable本節(jié)點計算服務(wù),使該計算主機不在為新建虛擬機提供計算資源,但并不妨礙既有業(yè)務(wù)運行,這時配合外部的集群監(jiān)控系統(tǒng)告知運維人員,使其進行系統(tǒng)修復(fù),并可以將該修復(fù)方法定義為新的Action以實現(xiàn)系統(tǒng)的進化。
主機高可用:各個計算主機上的主機監(jiān)控進程集成了業(yè)界成熟開源的高可用心跳檢測工具Pacemaker Remote,不僅可以提供高效率的運行狀態(tài)探測,而且突破了Pacemaker集群最多16節(jié)點的限制,極大地擴展了計算集群大規(guī)模彈性的上限。主機監(jiān)控進程借助該工具感知集群Peer節(jié)點的運行狀態(tài),一旦發(fā)生物理主機宕機,那么就會由心跳集群主控節(jié)點的主機監(jiān)控進程產(chǎn)生“宕機事件通知”,并告知集群HA管理服務(wù),并經(jīng)后者的事件處理引擎甄別,觸發(fā)ICOS計算服務(wù)的“云主機疏散”,將故障主機上的業(yè)務(wù)遷移到集群其他可用計算節(jié)點,從發(fā)現(xiàn)宕機到虛擬機重啟并且能夠正常運行,整體時間可以控制在1分鐘左右。此外,ICOS還可以基于可配置策略對物理主機進行諸如重啟或者關(guān)機的相應(yīng)處理策略,從而防止業(yè)務(wù)虛擬機出現(xiàn)腦裂現(xiàn)象。當主機故障清除后,主機健康運行后,還可以根據(jù)配置策略決定是否自動加入高可用監(jiān)控集群中,使得高可用的配置策略更加簡單化、人性化。
借助于浪潮自研的高可靠分布式存儲以及ICOS全方位的集群高可用管理服務(wù),在主機硬件故障,機房斷電等不可抗因素引發(fā)宕機的場景下,ICOS確保業(yè)務(wù)連續(xù)性,有效降低宕機時間。