- 單一硬碟又不備份是找死的行為
- RAID1很安全,三顆幾乎是永保安康,但空間容易不足
- RAID5組建磁碟陣列,建議量是4到6顆,不要超過10顆,請備份重要資料
- RAID6組建磁碟陣列,建議量是8到16顆,不要超過20顆,請備份重要資料
下面這件事情很重要所以要說三次
磁碟陣列不是備份!!
磁碟陣列不是備份!!
磁碟陣列不是備份!!
備份請另外找備份用的機器,最好能夠做到異地備援
要計算磁碟陣列故障率,首先必須要知道硬碟的年故障率,根據此資訊可知單一個硬碟年故障率約莫在1%~12%(不考慮人品不好拿到超過50%的極端情況...)。這邊硬碟年故障率叫做f,f={1%, 2%, 4%, 6%, 12%},橫軸x是經過的時間(單位是年);縱軸y是經過了x年之後的故障率(單位是機率,會發生在0到1之間)
備份請另外找備份用的機器,最好能夠做到異地備援
要計算磁碟陣列故障率,首先必須要知道硬碟的年故障率,根據此資訊可知單一個硬碟年故障率約莫在1%~12%(不考慮人品不好拿到超過50%的極端情況...)。這邊硬碟年故障率叫做f,f={1%, 2%, 4%, 6%, 12%},橫軸x是經過的時間(單位是年);縱軸y是經過了x年之後的故障率(單位是機率,會發生在0到1之間)
單一硬碟的狀況
單一硬碟的故障率可以依照下面公式計算:y = 1 - 經過x年都沒有壞的機率
= 1 - 年良好率^x
= 1 - (1 - 年故障率)^x
= 1 - (1 - f)^x
依照上面公式用年故障率1%(紫), 2%(藍), 4%(綠), 6%(橘), 12%(紅),可以畫出下圖:
單一硬碟的故障率 |
所有的單一硬碟都沒有辦法達到五年百分之三故障率的標準,也就是說,資料放在單一硬碟又不備份基本上是個找死的行為。
RAID1(mirror)的狀況
做成RAID1,所有硬碟都做成鏡像,理論上可以放置n個硬碟,但是一般來說都是配置兩顆mirror、但以某人人品不好遇到兩個同時壞掉,現在系統可以的話都做三顆mirror。RAID1的好處就是同時可以容忍n-1個硬碟壞掉,也就是說要N個硬碟同時壞掉磁碟陣列才會失效,故上述的公式更改成:y = 1 - 經過x年RAID1都沒有壞的機率
= 1 - RAID1的年良好率^x
= 1 - (1 - 年故障率^2)^x 這邊n代表的是RAID1安裝的硬碟數目,此處是兩個
= 1 - (1 - f^2)^x
令單個硬碟年故障率是1%(紫), 2%(藍), 4%(綠), 6%(橘), 12%(紅),可以畫出下圖:
兩個硬碟組成RAID1 |
另外補充,做三個硬碟的RAID1,即使是年故障率12%(紅線)的硬碟,上圖的線也很靠近綠線。因此可以知道如果要資料安全保存的話,RAID1三顆可以讓你確保資料的死亡率遠低於老闆的死亡率,也就是基本上是不用擔心資料不見而被老闆罵死~
RAID5的狀況
RAID1很安全,但是RAID1沒辦法提供足夠大的儲存空間。另外一個解法就是RAID5,好處是如果有n個容量是size的硬碟組成RAID5,那麼容量就會是(n-1) * size;另一方面,RAID5可以容忍任何一個硬碟壞掉,換句話說就是要同時有任兩個硬碟壞掉才會造成資料損毀。對一個n個硬碟組成的RAID5,任取兩個硬碟的組合數目c會是C(n,2)
n = 3, c = 3
n = 4, c = 6
n = 6, c = 15
n = 8, c = 28
n = 10, c = 45
n = 12, c = 66
n = 16, c = 120
n = 32, c = 496
n = 64, c = 2016
n = 64, c = 2016
y = 1 - 經過x年RAID5都沒有壞的機率
= 1 - RAID5的年良好率^x
= 1 - (1 - c*年故障率^2)^x
= 1 - (1 - c*f^2)^x
令單個硬碟年故障率是1%(紫), 2%(藍), 4%(綠), 6%(橘), 12%(紅),RAID5的故障率是
由4個硬碟組成的RAID5 |
年故障率2%的勉強達成五年磁碟陣列失效率3%的要求
由8個硬碟組成的RAID5 |
由12個硬碟組成的RAID5 |
結論:雖然說RAID5可以容忍壞掉一個硬碟,壞掉是可以馬上更換,所以說五年損毀率沒有上面所說那麼慘。但是由於組建的硬碟都會是同一批,還是有可能會發生在重建的時候資料消失的慘劇。所以說使用RAID5組建磁碟陣列絕對不要超過10顆,建議量是四到六顆,組越多顆硬碟要求的品質就要越好。上面的排列組合列到64只是要讓人體會到換不完的硬碟,與活在資料不見的恐懼......當RAID5用超過12個硬碟組起來的時候
RAID6的狀況
RAID5在大儲存空間的時候安全性不夠,所以要考慮到RAID6,好處是如果有n個容量是size的硬碟組成RAID5,那麼容量就會是(n-2) * size;另一方面,RAID6可以容忍任何兩個硬碟壞掉,換句話說就是要同時有任三個硬碟壞掉才會造成磁碟陣列失效。對一個n個硬碟組成的RAID6,任取兩個硬碟的組合數目c會是C(n,3)
n = 4, c = 4
n = 6, c = 20
n = 8, c = 56
n = 10, c = 120
n = 12, c = 220
n = 16, c = 560
n = 32, c = 4960
n = 64, c = 41664
n = 64, c = 41664
y = 1 - 經過x年RAID6都沒有壞的機率
= 1 - RAID6的年良好率^x
= 1 - (1 - c*年故障率^3)^x
= 1 - (1 - c*f^3)^x
令單個硬碟年故障率是1%(紫), 2%(藍), 4%(綠), 6%(橘), 12%(紅),RAID6的故障率是
6個硬碟組成的RAID6 |
10個硬碟組成的RAID6 |
16個硬碟組成的RAID6 |
結論:RAID6可以容忍壞掉兩個硬碟同時壞掉,壞掉是可以馬上更換,所以說五年磁碟陣列失效率沒有上面所說那麼慘。但是由於組建的硬碟都會是同一批,還是有可能會發生在重建的時候資料消失的慘劇。所以說使用RAID6組建磁碟陣列絕對不要超過20顆,建議量是8到16顆,組越多顆硬碟要求的品質就要越好。
以上算出來磁碟陣列失效,並不代表資料一定都會不見,還是有一些方式可以做資料救援。不過一旦要做到資料救援,代表需要花費許多金錢與時間,也無法做到完整回復。因此,還是必須要注意磁碟陣列失效率與資料回復的時間,藉此來考量資料備份的頻率
2016-Apr-05 更新
以上RAID5, RAID6的算式只是近似值,因為我只有算恰恰好壞掉兩個(RAID5)或是三個(RAID6)當作是RAID失效的條件,但還是有可能同時會壞超過這個數目,需要更好的方式來估算磁碟陣列失效率_EOF_
沒有留言:
張貼留言