在系統的高可靠性(也稱為可用性,英文描述為HA,High Available)里有個衡量其可靠性的標準——X個9,這個X是代表數字3~5。X個9表示在系統1年時間的使用過程中,系統可以正常使用時間與總時間(1年)之比,我們通過下面的計算來感受下X個9在不同級別的可靠性差異。
3個9:(1-99.9%)*365*24=8.76小時,表示該系統在連續運行1年時間里最多可能的業務中斷時間是8.76小時。
4個9:(1-99.99%)*365*24=0.876小時=52.6分鐘,表示該系統在連續運行1年時間里最多可能的業務中斷時間是52.6分鐘。
5個9:(1-99.999%)*365*24*60=5.26分鐘,表示該系統在連續運行1年時間里最多可能的業務中斷時間是5.26分鐘。
那么X個9里的X只代表數字3~5,為什么沒有1~2,也沒有大于6的呢?我們接著往下計算:
1個9:(1-90%)*365=36.5天
2個9:(1-99%)*365=3.65天
6個9:(1-99.9999%)*365*24*60*60=31秒
可以看到1個9和、2個9分別表示一年時間內業務可能中斷的時間是36.5天、3.65天,這種級別的可靠性或許還不配使用“可靠性”這個詞;而6個9則表示一年內業務中斷時間最多是31秒,那么這個級別的可靠性并非實現不了,而是要做到從“5個9” 到“6個9”的可靠性提升的話,后者需要付出比前者幾倍的成本。
可用度A |
9的個數 |
年停機時間(分鐘) |
適用產品 |
0.999 |
三個9 |
500 |
電腦或服務器 |
0.9999 |
四個9 |
50 |
企業級設備 |
0.99999 |
五個9 |
5 |
一般電信級設備 |
0.999999 |
六個9 |
0.5 |
更高要求電信級設備 |
【MTBF】MTBF,即平均故障間隔時間,英文全稱是“Mean Time Between Failure”。是衡量一個產品(尤其是電器產品)的可靠性指標。單位為“小時”。具體來說,是指相鄰兩次故障之間的平均工作時間,也稱為平均故障間隔。
概括地說,產品故障少的就是可靠性高,產品的故障總數與壽命單位總數之比叫“故障率”(Failure rate)。它僅適用于可維修產品。同時也規定產品在總的使用階段累計工作時間與故障次數的比值為MTBF。磁盤陣列產品一般MTBF不能低于50000小時。
【失效率】失效率是指工作到某一時刻尚未失效的產品,在該時刻后,單位時間內發生失效的概率。一般記為λ,它也是時間t的函數,故也記為λ(t),稱為失效率函數,有時也稱為故障率函數或風險函數。
失效率 λ=1/MTBF,單位1FITs=10-9(1/h)
【MTTR】MTTR,全稱是Mean Time To Repair,即平均修復時間。是指可修復產品的平均修復時間,就是從出現故障到修復中間的這段時間。MTTR越短表示易恢復性越好。
MTTR也必須包含獲得配件的時間,維修團隊的響應時間,記錄所有任務的時間,還有將設備重新投入使用的時間。是一個縮寫的平均時間恢復或平均修復時間代表的平均時間將有缺陷的部件或系統恢復工作秩序。
它是衡量一個系統的可維護性和可預測的平均所需的時間讓系統工作的情況下再次出現系統故障。 MTTR可以從幾個毫秒,如不間斷電源(UPS)的許多數小時甚至數天的情況下的應用軟件或復雜的機制。
【修復率】修復率(μ) repair rate 產品維修性的一種基本參數。修理時間已達到某個時刻但尚未修復的產品,在該時刻后的單位時間內完成修理的概率。
經常用到所謂4個9或者5個9,也就是99.99%與99.999%。那么,4個9或者5個9的差距有多大,差距是0.009%,還不到0.01%。但對于系統而言,恰恰是這不到0.01%的差距,決定了系統完全不在一個檔次上。
所謂5個9的系統,一年內不能正常工作的時間少于5分15秒。對應4個9的系統是不超過52分36秒。這些都是理論上的數據,在實際工作中有些故障導致的宕機時間遠超過5分鐘,即使采用大型主機,也有宕機4個多小時的慘痛教訓。問題出在哪里?
一個系統的可靠性并不完全取決于硬件,而由軟件和硬件共同來決定,如果是軟件問題,最好的解決辦法就是打補丁、升級,再好的硬件也沒有辦法解決軟件的問題。要提高系統的可靠性,軟件是沒有太好辦法的,只有依靠廠商服務來解決問題。
用戶可以選擇的只有硬件,其中,包括網絡、服務器以及存儲設備。其中,網絡可以借助多運營商接入來解決,存儲有RAID、快照等應對技術,通過備份來提高數據安全性。但對于服務器來說,更多用戶的選擇是采用雙機集群的方法。
采用雙機集群的方案是達不到5個9的要求的。原因很簡單,雙機集群是通過集群軟件來構建方案的,當其中的一臺服務器產生故障的時候,切換到備份主機繼續工作,保持業務連續性。設備之間也可以依靠心跳線連接對故障進行判定。
對于集群而言,故障切換是有嚴格要求的,要求主機、備用機的環境是一致的。在應用實踐中,要求管理要到位,例如同步升級、升級,打補丁。如果管理不到位,很有可能會導致切換失敗。這也是為什么,系統可以在演示環境下成功切換,但現實中往往做不到的原因。
來源:硬件十萬個為什么