當數(shù)據(jù)中心結(jié)點出現(xiàn)故障,應(yīng)用程序需要盡可能快的重新啟動。
IT組織需要一套系統(tǒng)實現(xiàn)故障轉(zhuǎn)移,將一個結(jié)點轉(zhuǎn)移到另一個結(jié)點,使服務(wù)重新恢復。手動干預(yù)會減慢這一流程的速度——特別當結(jié)點在半夜或假期出現(xiàn)問題時。
最關(guān)鍵的應(yīng)用程序通常都會以守護進程或服務(wù)方式實現(xiàn)——他們會在計算機啟動時自運行動。這種情況下,故障轉(zhuǎn)移應(yīng)該啟動那些安裝了應(yīng)用程序的虛擬機。虛擬化能夠讓運行虛擬機的任何應(yīng)用程序使用這樣的故障轉(zhuǎn)移技術(shù)。
有時候應(yīng)用程序不僅僅需要重啟操作系統(tǒng)。不是服務(wù)的應(yīng)用程序,需要用戶登錄到虛擬機系統(tǒng)上,并獲取應(yīng)用程序備份。這樣的問題通常都只會發(fā)生在Windows服務(wù)器上。設(shè)置自動登錄與啟動應(yīng)用程序也是比較容易的,但某些特定的應(yīng)用程序,還需要用戶在應(yīng)用程序可以再次運行前點擊按鈕或打開菜單。
自動化應(yīng)用程序故障轉(zhuǎn)移同樣可能在這種情況下使用。我使用AutoIT腳本來自動化故障轉(zhuǎn)移后的應(yīng)用程序啟動。腳本是好東西,但這種類型的自動化是脆弱的:應(yīng)用程序的每個版本升級都可能導致腳本失效。
最大的問題在于那些無法非正常關(guān)閉的應(yīng)用程序。這類應(yīng)用程序需要完整的關(guān)閉流程,非計劃的關(guān)機可能導致異常關(guān)閉,無法實現(xiàn)故障轉(zhuǎn)移。
一般情況下,這些應(yīng)用程序需要進一步人工干預(yù),例如列出并移除每個數(shù)據(jù)庫鎖。自動化這些應(yīng)用程序修復的告警通知,會比自動化修復這些問題來的容易。