數據中心要想全年不間斷運行,最大的敵人就是天災人禍,得出這樣結論的理論基礎是已經有太多的血的教訓擺在面前,太多數據中心曾發生過的嚴重故障均與天災和人禍有關。曾有人統計過一些大大小小影響較大的數據中心故障,百分之八十均與人有關,另外有百分之十與那些不可抗拒的天災有關。一個數據中心如果能將這兩個方面避免,肯定不再會出現嚴重的業務中斷事故,或者是信息泄露的安全事件。不過,絕大多數的人覺得在天災人禍方面無能為力,只能眼見著它去發生而手足無措,實則不然,科學地對數據中心進行管理,從兩個方面去入手,就可以消除天災人禍,以及由此給數據中心帶來的傷害。本文就來說一說數據中心里發生的天災人禍,如何去面對。
天災指的是高溫、洪水、臺風、暴雨、地震、雷電等自然災害,這些天氣破壞力強,有時超過人的能力所及。比如幾年前超級颶風桑迪,紐約和新澤西州數據中心受到了此次颶風的影響,包括曼哈頓下城地區的洪水和一些設施的停機,周圍地區數據中心發電機運行失常。颶風桑迪所帶來的影響超出了一般單一的中斷事故,為受災地區數據中心產業帶來了規模空前的災難。還有幾年前在北愛爾蘭都柏林出現的閃電,其引起亞馬遜和微軟在歐洲云計算網絡因為數據中心停電而出現大規模宕機故障。閃電擊中都柏林數據中心附近變壓器,導致其爆炸。爆炸引發火災,使所有公用服務機構的工作暫時陷入中斷,導致整個數據中心出現宕機。這類故障數不勝數,在大自然的面前,人的力量是渺小的,不過不能因為它強大,我們就不去考慮和阻止。首先,要做好數據中心冗余備份,最好是多地數據中心備份,這樣就算一處數據中心故障,處于世界任意角落的數據中心都可以接管業務繼續運轉,只要沒有出現地球末日,就能提供不間斷業務。當然,要做到這樣冗余備份,需要花費很多人力和財力,不是所有的數據中心都能做到的。即便做不到,也要在數據中心的任何系統設計考慮冗余性,提升數據中心的提供不間斷服務的能力;其次,數據中心要有一支能打硬仗的運維團隊,運維團隊在出現問題之后,能夠快速解決問題,將損失降低到最低。特別是遇到一些自然災害天氣之后,要及時上報,及時采取應急措施。第三,既對抗不起,不如就躲其鋒芒。在數據中心選址的時候,首要考慮的就是當地的自然災害情況,歷史上這個地區的天氣情況,不要將數據中心建在火山口附近、地震頻發地區,要遠離容易出現臺風的地區等等。
人禍指的是因為人為錯誤引發數據中心故障,據研究已得出了結論,高達75%的宕機事故是因為一些人為錯誤引起的。像幾年前天津濱海新區某物流公司危險品倉庫集裝箱堆場起火爆炸,造成周邊眾多人員傷亡以及大范圍的建筑物損毀。據國家超級計算天津中心主任劉光明介紹,受爆炸影響,天河一號不得不出于安全考慮而人工關機。面對這樣的突發事件,連國家超算中心都不得不靠關機來躲避風險,這是人為錯誤導致的暴力掠奪。在美國阿圖·葛文德寫的《清單革命》里曾寫道:人類的錯誤可以分為兩大類型:第一類是“無知之錯”,我們犯錯是因為我們沒有掌握相關知識;第二類是“無能之錯”,我們犯錯并非因為沒有掌握相關知識,而是因為沒有正確地使用這些知識。不管是哪種錯誤,給數據中心帶來的損失可能是致命的。阿圖同時認為,人人都會犯錯,在復雜問題面前更是如此。那么如何防止錯誤與失敗?只有通過一場簡單至極的變革:清單革命。所謂清單革命,就是把復雜的操作事先就充分分解成盡量細的操作步驟,在專家審核好這些步驟后,成為標準,然后就要求操作者嚴格按清單操作。《清單革命》其實也特別適用于數據中心,將數據中心里復雜系統分分類,將在何時何地做哪些操作都形成標準,避免人為操作錯誤。實際上,要做出數據中心的清單是非常困難的,很多突發情況在清單里沒有提及。比如發生地震,有些地區幾十年都沒有遇到過地震,突然發生一次,遇到時發現清單里沒有指定操作步驟,或者操作步驟根本與實際情況不符,畢竟制定清單的專家或許自己都沒有經歷過地震,又怎能制定出完美的標準步驟。還有很多數據中心有很多詳盡的標準制度,有的甚至都印制出來掛在墻上,但卻少有人去仔細看,制度成為一種擺設,當遇到數據中心故障時,此時才想到看制度,操作不熟練,出錯是難免的。對于這樣的現狀,最好就是進行模擬演練,對數據中心可能面臨出現的各種復雜情況進行模擬,然后對操作人員進行訓練,同時對操作步驟進行修正,直到達到完美,實踐是檢驗的唯一標準。為什么現在軟件定義數據中心這么火?就是因為用軟件來代替人去執行一些指令,減少人為出錯,從而提升數據中心的可靠性。
面對天災人禍,數據中心并非無能為力。數據中心要從初期規劃設計、機房建成的驗收測試、機房運營過程中對機房的定期檢測、對突發狀況的預案、到后期運維的管理都應遵照一定標準,以確保數據中心安全運行。用科學的方法,加強人員培訓,多做一些故障模擬演練,從而減少人禍;同時要勇于面對天災,對那些不可預知的自然災害做到防患于未然,最終達到提升數據中心運行可靠性的目的。