“凡事只要有可能出錯,那就一定會出錯。”—— 墨菲定律
數據中心的安全環境是由一個真實的環境和虛擬的環境構成。
真實的環境主要是指硬件設施和相關物理配置的資源等;虛擬的環境主要是指軟件設施的安全性。
數據中心環境構成示意圖
在數據中心機房里,有很多我們不可避免會遇到的單點故障,它可能屬于真實環境下,如電源、制冷等;也可能是虛擬環境下,如網絡通信、軟件系統等,為了保障數據中心的安全,這些單點故障都是值得被關注的焦點。
一、什么是單點故障?
單點故障,是指引發系統失效的單項故障,會給整個系統帶來災難性的破壞。
和單個故障是看似相似實為不同的兩個詞語。單個故障則是不會引發整個系統失效的單項故障。
打個比方,一部正在放映的電影,如果出現放映機短路而導致觀影結束,放映機短路就是單點故障。同樣是放映的電影,如果出現中央空調短路,但并不會影響整個電影的繼續放映,只是會影響觀影感受而已,這個故障就是單個故障。
二、如何避免單點故障?
在數據中心機房中,因各種原因可能會出現一些故障,但要盡力控制在單個故障范圍,避免由單個故障升級為單點故障。避免單點故障可以用以下五個招式:
第一招:抓關鍵
在防范單點故障時不可能做到面面俱到和平均用力。
任何一個數據中心都有一些關鍵點。
我們要做的就是對這些關鍵點進行全面監控并做重點保障。如UPS電源、制冷系統、服務器等都是非常重要的關鍵點。之前華為云的宕機事件,就是由于服務器這個關鍵點遭遇風險。
第二招:留備份
對可能出現單點故障的部分做好備份。
一旦出現故障就能立馬啟動備用,一般是對那些比較關鍵的系統或設備進行備份。如對制冷系統、UPS電源等進行“N+1”的冗余。
第三招:存余量
這和留備份有些相似但不一樣。存余量是指預留出一些例如人員、時間、空間等資源以應對可能出現的突發情況。
主要是針對不同場合,進行適當的考慮余量。
如在數據中心建設初期一般都會預留足夠的柜位空間,滿足日后擴容需求。
第四招:抓推演
通過某些工具或手段提前預制可行方案,也就是預先排除單點故障的過程。
推演越充分,方案越完善,就越可能避免單點故障的發生。
如機柜在交付前,對其進行預安裝和預調試,將有可能發生的單點故障發生率降到最低。
第五招:備預案
這里說的預案有兩種:一種預案是指出現可能單點故障的事故后采取的補救措施,這種預案的目的是避免單點故障的發生。還有一種預案是發生故障后的預案,這種預案的目的是最大限度減少損失。這兩種預案都需要。
前者是為了避免單點故障,后者是為了把單點故障帶來的損失降到最小。
例如,拿發生市電停電來說,第一種預案是指當發現停電后迅速通過切換到UPS電源等方式進行有效供電。第二種預案則是發生嚴重停電事故后,除了使用UPS電源供電,還要啟動后備柴油發電機,以防UPS電源無法承擔長時間的供電。
雙電源加發電機供電方案示意圖
如開頭“墨菲定律”所說的那樣,就好比生活中如果有99%的好事和1%的壞事,那么這1%的壞事一定會發生。單點問題永遠會存在,且一定會發生,不必太過憂慮。
只要參照上面提供的五種方式,在故障發生前學會如何降低風險,在故障發生后積極的尋求減小損失的措施。就算遇到問題了,總能解決。