硬盤|RAID是磁盤陣列嗎?什么是RAID? RAID等級有哪些?( 四 )



但因為采用雙算法校驗數據 , 校驗數據量是raid5的兩倍 , 同時校驗算法計算量也偏大 , 導致raid6讀取速度不及raid5 。
raid6寫入慢 , 還多占了一個硬盤容量 , 那豈不是被raid5秒殺?
Raid5也有自身的缺點 , 機械硬盤在讀取數據時 , 有極低概率遇到不可恢復性讀取錯誤 , 簡稱u r e , 大概是每十二TB的數據可能會出現一個u r e錯誤 。

當raid5損壞一塊硬盤 , 正在進行重建磁盤陣列時 , 只要出現一次ure錯誤 , 就會導致raid5認為數據出現問題 , 需要重新開始建立陣列 。 多次重建陣列 , 導致硬盤長時間高復合運作 。
如果硬盤是同一時期買的 , 一塊硬盤掛了 , 其他硬盤狀態可能也好不到哪里去 , 非常容易導致更多硬盤損壞 。


raid5只允許換一塊硬盤 , 重建過程中再掛到一塊硬盤 , 那數據就救不回來了 。 個人建議raid5能少用就別用 , 重建陣列成功率偏低 , 安全性相對raid6差很多 。
raid6之上還有一個RAID7 , 但raid7是美國s c c公司的專利產品 , 默認情況下只要涉及國外專利肯定就不會便宜 , 這里不做太多介紹 。

看到這里如果覺得RAID0~6都不太滿意 , 想了解有沒有兼有多種優點的RAID?
那肯定是有的 , 隆重介紹下混合RAID 。
常見的混合RAID是raid10 , 把raid1和raid0兩種模式合二為一 , 既保證了數據安全 , 又大幅提升了讀寫速度 , 缺點是可用容量只有總容量的一半 。

raid10最少需要四塊硬盤 , 其中先兩兩組成raid1 , 然后把兩組raid1組成RAID0 。

所以raid10是先raid1 , 然后RAID0 。
那有沒有RAID01呢?邏輯上是存在的 , 但實際沒有見到過 。
主要原因有三 , 一是raid10陣列建成后 , 再添加一組raid1 , 總容量就可以輕松擴大 , 但RAID01添加一組raid0 , 總容量沒有變化 。

第二是如果壞了一塊硬盤 , raid01重建時 , 需要對兩塊硬盤進行數據恢復 , 而raid10重建只需要對壞盤進行重建即可 。

第三種情況是 , 假設已經壞了一塊硬盤 , 如果第二塊硬盤有問題 , raid01模式下只要另一組raid0任意一塊硬盤損壞 , 整個陣列就會掛掉 , 壞第二塊硬盤導致整個陣列掛掉的概率是三分之二 。 raid10模式下 , 只要壞盤不在同一RAID陣列就能挺住 , 損壞概率是三分之一 。

對比一下可以看到 , raid10可靠性、易用性相對raid01更高 , 所以應用也更為廣泛 。
根據raid10模式向外延伸 , 還可以做出raid50、raid60 。

大家可以自己捋一捋這里的邏輯關系 。
接著說下稍微小眾的JBOD和UNRAID , JBOD英文全稱是 justa bunch of disks(只是一堆磁盤)
JBOD的模式下 , 數據從第一塊硬盤開始 , 一直往后邊的硬盤存 , 系統內也只能看到包含所有硬盤容量的大分區 , 哪個硬盤壞了 , 壞盤里的數據就會損壞 。
由于第一塊硬盤包含了各個盤數據的分段表 , 如果壞的是第一塊硬盤 , 整個陣列都會報廢 。

JBOD的優點是系統會把多塊硬盤認成一個可用容量 , 是所有硬盤容量之和 , 而且每次寫入只會占用一塊硬盤 , 讀寫時其他硬盤處于閑置狀態 , 不會導致過勞死 。
但JBOD的缺點是安全性偏低 , 讀寫速度和單塊硬盤速度一樣 , 沒有任何的提升 。
然后介紹下和JBOD模式相似的陣列模式UNRAID , UNRAID一聽就不好惹 , 直譯就是不組RAID 。
UNRAID本身是基于linux的raid系統 , 和JBOD非常相似 , 實際上就是帶冗余的JBOD , 可以設定一塊或兩塊硬盤作為數據校驗盤 , 校驗盤要求比其他所有單個硬盤都大 , 允許連續壞一塊或兩塊的情況下恢復數據 。

相關經驗推薦