保持業務全年無中斷運行是最能體現數據中心能力的一方面。現在的數據中心系統組成復雜,要確保沒有故障出現,幾乎不可能。每年都會有很多著名的大型互聯網公司被爆出其數據中心出現故障,有的業務甚至要數個小時才能恢復,這給數據中心的業務帶來了嚴重的損失。所以一定要重視數據中心運行的高可靠性,曾經的馬來西亞航空公司也是受人尊敬的航空公司之一,然而最近兩年出了兩次的重大墜機事故后,不僅欠下了一屁股債,現在還面臨著關門的境地。對于數據中心也是一樣,以前沒有出過故障,并不代表以后都不會出,一旦出現一次嚴重的業務中斷,對數據中心業務的影響就是多方面的,不僅僅是金錢上的損失,還有數據中心承載業務的聲譽。一旦人們認為這個業務是不穩定的,有風險的,人們寧愿棄之不用,在科技如此發達的今天,沒有什么業務是不可替代的,或者找不到替代品,數據中心能否提供持續穩定的業務運行至關重要。最近,顯然發生了不少數據中心故障,影響面都比較廣,真可以稱得上是“黑色五月”了。5月11日,網易因骨干網絡遭受攻擊,導致了網易旗下部分服務暫時無法正常使用,當時還傳言是網易廣州大樓發生爆炸,導致其旗下多款游戲無法登陸,不過后來證實的確是謠傳。緊接著5月27日,支付寶因為杭州市蕭山光纖被挖斷,也出現了用戶無法正常使用的問題。這起事故,導致全國許多地方的用戶都無法使用支付寶,直到兩個小時后才恢復正常。然后是5月28日,攜程網因為部分服務器受到不明攻擊,導致官方網站及APP暫時無法正常使用,攜程網主頁里的二級頁面無法打開,這造成了攜程網業務損失一百多萬。這類數據中心故障在不斷地上演著,雖然故障已經恢復,但是卻留給了我們深深的思考。
數據中心這幾年發展非常火爆,各地都是新建或擴建數據中心,在數據中心設計上應該更加考慮運行的可靠性、冗余性的設計。如果數據中心三天兩頭地故障,擁有再多的服務器,擁有再好的網絡也是白費,沒有人愿意使用一個總也不穩定的業務系統。如果動不動網頁就無法訪問,動不動自己的保密信息就出現了丟失,這些故障對于數據中心都是致命性的。我們通常用五個九,即99.999%,來衡量一個數據中心的可靠性,如表1定義了數據中心的可靠性級別,數字9越多代表數據中心的可靠性越高:
數據中心屬于哪個級別的,主要是基于過去數據中心運行的數據得到的,所以不能代表以后。也許一個數據中心以前從來沒有出過長時間的業務中斷事故,可靠性達到了99.999%,但只要出現一次長時間故障,就可能一下子變成了99%,這對數據中心業務的打擊是非常大的。為了提升數據中心的可靠性,數據中心必須要引入一些冗余備份機制。其實我們也相信支付寶的數據中心也肯定有冗余備份,斷掉一根光纖都能讓業務中斷二小時,說明支付寶的數據中心本身設計上是有問題的,至少備份沒有起到應有的作用。通過備份確保出現故障時,業務流量依然可以有別的通道可走,保持業務的連續性。當支付寶的鏈路光纖斷掉后,應該有其它的備份鏈路轉發流量,這種通過鏈路聚合或者等價路由這種成熟的技術就可以完成備份。顯然支付寶故障不是光纖中斷那么簡單,也許是光纖中斷引發了其它方面的問題,造成了整個系統的癱瘓。數據中心是一個復雜的信息系統,冗余設計也不是通過幾個備份鏈路、等價路由就可以完成的,需要的是全面的規劃設計,確保任何一個環節都有備份機制。
當然,要實現所有地方都有備份,將大大增加系統的復雜性,反而會大大降低數據中心的處理性能。過于復雜的冗余設計就可能是畫蛇添足,起到反作用。而且引入過多的冗余機制,將消耗大量的資金和設備,給數據中心運行帶來沉重負擔,所以也不是什么地方都要備份。在業務故障可容忍的范圍內,部署高效的冗余設計,才能使得數據中心高效地運行。提升數據中心業務不間斷的處理能力,是數據中心的一項持久性工作,貫穿于數據中心的整個生命周期中。數據中心運維人員應該具有如履薄冰的心態,在日常的工作中,勇于發現系統的缺陷,及時完善,做好各種故障模擬的補救措施。在數據中心的運維工作中,也要經常進行故障模擬演練,考驗數據中心系統的冗余設計是否有不完善的地方,不斷進行優化和改善。很多的冗余備份設計可能并不符合實際,在一些異端情況下甚至起不到備份的效果,這就需要主動做一些故障演練,檢驗冗余備份設計是否滿足設計要求。以便一旦真的出現了故障,數據中心可以從容應對。對于一個擁有數萬臺設備的數據中心,軟硬件故障可能天天都在上演,在這種情況下,要保持業務的穩定運行,需要做大量的冗余設計工作。對可能出現的異常狀態,提前進行模擬規避,提升數據中心的可靠性。歷史教訓告訴我們,不能忽視數據中心的可靠性,一旦出了嚴重的故障,對于數據中心可能就是致命的,一次故障可能就會使得數據中心“一夜就回到解放前”。切記,莫忽視數據中心的可靠性,根據數據中心自身的實際情況,部署切合實際的冗余備份設計方案,將使數據中心終身獲益。