vSphere 應用層級高可用性服務

監控虛擬機上應用的狀態來啟動高可用性一直是許多場景需要的功能,但是實務上,如何判斷應用是否正常,可不是單純看Process/Service是否是處於Running的狀態這麼簡單,每個應用的特性不同,所謂失效的定義也不同,所以雖然VMware曾經嘗試做出應用層級的高可用性功能,但是最後還是無法提供一個一般性又支援所有應用類型的高可用性方案,截至vSphere 6.5為止,仍須搭配客製化來達到。

應用層級的高可用性功能在過去幾個版本不斷的被修正,最近幾個改版的變化如下

vSphere 5.5
功能:App HA
技術:透過 Hyperic 技術達到,支援主流商用應用如MSSQL/Oracle等,vSphere HA的模組監控到應用無Heartbeat回應則重啟OS
參考資料:http://www.vmware.com/tw/support/support-resources/pubs/vsphere-esxi-vcenter-server-pubs/appha-pubs.html

vSphere 6.0:
功能:無,App HA已停止支援
技術:無
參考資料:https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2108249

vSphere 6.5:
方案一:Application Monitoring
技術:透過應用於開發時使用VMware SDK達到,啟動前需先啟動VM Monitoring,vSphere HA的模組監控到應用無Heartbeat回應則重啟OS
參考資料:https://www.vmware.com/support/developer/guest-sdk/

方案二:vRealize Operations+客製化
技術:由於一般商用軟體客戶並沒有辦法取得原始碼加入SDK啟用Application Monitoring功能,可實施的作法為使用vRealize Operations 的 App Monitoring 功能 (內涵於vRealize Operations Enterprise或是vCloud Suite Enterprise)加上客製化完成,監控到應用無回應可完全自定(客製)接下來要執行的修正步驟
參考資料:https://blogs.vmware.com/management/2015/08/automatic-shutdown-idle-machines-vrealize-operations-vrealize-automation.html

方案三:使用OS Level的監控
技術:OS Level 可使用VM Monitoring,透過vSphere HA持續對VMware Tools做Heartbeat,當OS無回應時重啟VM來達到,此功能雖然無法深入至每個應用做監控,但是至少可以做到作業系統層級的監控,vSphere HA的模組監控到VMware Tools無Heartbeat回應則重啟OS
參考資料:下圖為設定範例


*vSphere HA模組為分散式的高可用性模組,也就是說Heartbeat監控是每台主機都會執行,並不是透過單一vCenter來做Heartbeat,此設計的好處是不會因為單一點故障,造成整個機制停擺。

留言

這個網誌中的熱門文章

VMware 相容性認證豆知識

簡單7個步驟從無到有利用Ansible自動佈建vSphere VM

如何在VM使用Linux光碟開機進入救援模式並調整SELinux設定