2016年4月5日 星期二

磁碟陣列上硬碟損壞的可能性

上一篇介紹《磁碟陣列上資料消失的可能性》,所估計的是磁碟陣列(RAID)上資料消失的可能性。當一個RAID組成硬碟越多的時候,遇到硬碟損壞更換的機會會增加許多,此篇則是說明每年遇到更換硬碟的可能性。

不過,還是要再次提醒,磁碟陣列不是備份,磁碟陣列只是增加資料的
  • 可靠度(Reliability):將低儲存資料出錯的機會
  • 可存取度(Availability):增加資料每年可以存取的時間
  • 存取效能(Performance):增加資料存取的效能
  • 容量(Capacity):增加儲存容量
不要因為資料放在磁碟陣列上面而忽視了資料備份


RAID0 (stripe)的狀況

討論由n個硬碟中任何一個故障的可能性,剛好就是由n個硬碟組成RAID0的損壞機率。在這邊一樣使用前一篇的數據:硬碟年故障率叫做ff={1%, 2%, 4%, 6%, 12%},橫軸x是經過的時間(單位是年);縱軸y是經過了x年之後的失效率(單位是機率,會發生在0到1之間)
y = 1 - 經過x年RAID0都沒有壞的機率
   = 1 - RAID0的年良好率^x
   = 1 - (單一硬碟年良好率^n)^x
   = 1 - ((1 - 單一硬碟年故障率)^n)^x
   = 1 - ((1 - f)^n)^x
   = 1 - (1 - f)^nx
令單個硬碟年故障率是1%(紫), 2%(藍), 4%(綠), 6%(橘), 12%(紅);根據這篇文章,HDD年故障率約5%(綠橘線之間)、SSD年故障率約1.5%(藍紫線之間)。
RAID0的失效率如下:

磁碟陣列裡面有2,3顆硬碟
因此用兩個SSD做RAID0當成系統,還是要勤加備份。

磁碟陣列裡面有4, 5, 6顆硬碟
前一篇建議RAID5用四到六顆硬碟做,運氣不好的話每年有一半的機會要換硬碟;如果是RAID0,每年有一半的機會要從備份挖資料。

磁碟陣列裡面有8, 10, 12顆硬碟
前一篇建議RAID6用8~16個硬碟做,運氣不好的話半年就有一半的機會要換硬碟。

磁碟陣列裡面有16~20顆硬碟
16~20個硬碟,約莫是一般機器可以裝到最大的硬碟數目。可以見識到即使都是比較好的硬碟,每年也約莫有10~20%的機會要換硬碟;運氣不好的話幾乎有90%的機會。除了備份以外,還要有spare hard disk。

磁碟陣列裡面有32~48顆硬碟
能夠裝置到48個硬碟的都已經是機殼比較特別的伺服器了,通常裝的硬碟會是2.5吋,穩定度感覺似乎比3.5吋要差一點。裝到這麼多硬碟,即使買到品質很好的硬碟,每年也會有三成的機會要換硬碟。所以說這麼多硬碟就不能只做成一個磁碟陣列,而是要分成很多個了。

磁碟陣列裡面有72~100顆硬碟

能夠裝置72~100個硬碟是特殊機種,應該要想像成儲存池。買這種機器應該一開始就沒有打算要換硬碟,而是多拿幾個硬碟當成spare,壞掉直接就接上去。這種機器應該是年限到了以後資料轉移完後直接退役。

      上述的計算不只可以應用在一台很多硬碟的伺服器裡面,也可以用來估計一整討電腦叢集系統裡面大量計算節點的硬碟損壞機率(只要假設硬碟損壞都是獨立事件就可以討用上述模型)。反過來想,也可以從更換硬碟的頻率來估計買到某批硬碟的品質吧?

管得越多,遇到壞東西的機會越高
一個能力越大、責任越重的概念 


2016-Apr-12 更新

單位時間內一個硬碟損壞的可能性可以用Poisson distribution來計算,或是參考Weibull distribution來計算

_EOF_

1 則留言:

  1. 對於 RAID 設置,這是您必須檢查的另一個工具。
    RAID 計算器

    回覆刪除