自動化人工故障修復機制
數據中心難免會出現這樣那樣的問題,靠人工發現不僅速度慢,而且容易誤判。不妨將這個識別工作交由軟件來處理。首先,要建立一個故障模式庫,長期積累各種曾經或者可能會出現的故障預判、識別,這個故障庫內容要實時保持更新,不斷將一些新的故障類型和經驗輸入進去。其次,將故障判斷的方法告知軟件設備,由軟件自動完成判斷,軟件根據從數據中心各個設備收集上來的運行參數,與故障模式庫里保存的參數進行對比,如果發現有相同的,認為是數據中心出故障了。最后,數據中心可以采取告警方式通知運維人員,也可以由軟件執行一鍵式修復。這個取決于業務的重要性以及數據中心故障經驗積累的豐富性,萬一恢復動作錯誤,可能會引發二次故障,給數據中心帶來更大的損失,所以修復機制一定要慎重,非緊急的業務故障不建議采用自動修復,待人員確認之后再去手工執行修復。實際上,云計算的引入增加了數據中心故障自動檢測和修復的難度,所有的應用業務都已和物理硬件設備脫離,形成了一個純軟件的虛擬世界,復雜的虛擬系統給故障的排查和分辨都帶來了難度,這給自動化人工故障修復帶來了極大挑戰。不過,數據中心運維走自動化的路已不可避免,過多的人力成本對于任何一個高速擴張的數據中心都無法承受。
日志和監控信息集中管理與控制
傳統數據中心中,各軟硬件系統的日志監控信息往往相對零散孤立,沒有實現與業務和用戶的自動關聯,當出現故障時,甚至還需要依此登錄到每臺設備上去排查,效率低下。在有些數據中心雖然部署了網管系統、日志服務器,依然需要人工檢查。當數十萬的設備同時輸出日志時,海量的數據根本沒有辦法進行檢查,這時就要統一對這些信息進行分析和判斷。很多數據中心建設運維管理云平臺,就是要將這些海量數據進行統一處理,依然是通過提前設定判斷條件,然后發現不符合常規的日志及時進行告警。云平臺的判斷條件忽略了日志告警的設備差異,只關心對業務有影響的日志信息,設計一些特有的判斷故障的條件,這些條件需要和各種設備廠商溝通好,證實這些判斷是有效的,然后在云平臺中部署。云平臺的功能很強大,僅僅是依靠設備主動輸出日志來診斷是遠遠不夠的,它還可以主動從數據中心的任何一個環節采集監控信息,這些監控信息可以實時反映整個數據中心系統運行的綜合狀態,一旦出現異常的參數或者有變化的數值,就要引起警惕,輸出告警。
大數據的機器學習機制
傳統數據中心的故障發現與修復建議的處理,主要依賴云平臺收集的日志和監控信息,通過運維人員長期積累的歷史經驗進行判斷,人的行為是最不可靠的,很多時候經驗都是錯誤的,而機器則不會出錯,只要你給它足夠的學習信息,它就可以做出正確的判斷。最近Master很火,Master是一款會下圍棋的機器人,在最近的圍棋比賽中,取得了60勝1和的成績,1和還是因為掉線被系統判和,落敗者包括聶衛平等頂尖圍棋高手,這說明只要給設備足夠的學習時間,它的智慧可以遠遠超過人類。運維的管理也可以引入機器學習技術,通過對數據中心運維海量數據的分析,利用大數據建模,自動化地、智能化地挖掘出更多高價值的、運維人員認知范圍外的故障模式與系統優化模式,從而進一步提升系統運維的效率。通過大數據機器學習,對大規模運維場景下的性能與故障規律分析、趨勢預測及故障根因識別定位,提升機器自動化運維的能力,最終其將超過人工運維的判斷準確性,就像機器人下圍棋一樣,最終機器運維數據中心也要大大超過人們自動去做。人們只要去研究如何讓這些機器正確學習,學習好就可以了。
顯而易見,云數據中心新的自動化運維技術特點主要是:自動化、自學習。由機器自我學習,自動完成數據中心的運維和故障修復。未來的數據中心雖然規模更大,系統更復雜,但在運維的管理上要從簡,實現自動化運維管理。數據中心運維將人的因素排除,讓數據中心形成一個完全的自治系統,實現成為真正的無人數據中心。當然,數據中心的自動化運維還有很長的路要走,沒有哪個數據中心能夠真正脫離人工參與。這就像自動駕駛汽車技術發展一樣,技術復雜,并徹底改變了現有的生活方式,要人們接受需要很長時日。對于數據中心也一樣,自動化運維技術雖好,但仍不夠成熟,很多人持觀望的態度,但愿未來這類技術可以很快完善起來。