2015.02.10 09:00

組建 NAS 磁碟腦袋不再卡卡,RAID 模式全方位分析

ADVERTISEMENT

RAID 6:

  • 優點:容錯硬碟數量比 RAID 5 多 1 顆。
  • 缺點:運算量比 RAID 5 大、空間利用率比 RAID 5 低。
  • 硬碟數量:至少 4 個。

在 RAID 5 的基礎上,額外再加入 1 組奇偶校驗碼,就形成了 RAID 6 磁碟陣列;也就是說,RAID 6 內部有 2 套並行使用的演算法,用以產生奇偶校驗碼。這 2 組演算法是不同的,除原先 RAID 5 使用的 XOR 之外,另 1 套演算法就交由廠商自行選擇。RAID 6 由於多出 1 組奇偶校驗碼需要儲存的關係,所以磁碟陣列中只有 n-2 顆實體硬碟用以儲存真正的資料。

RAID 6 的效能、安全性、空間利用率都可用 RAID 5 的方式來推估,在處理器足以負擔 2 套演算法的情況下,存取效能約是單顆硬碟的 n-2 倍;安全性則是可同時容忍 2 顆硬碟損毀,空間利用率則是比 RAID 5 少了 1 顆硬碟(邏輯上須 2 顆實體硬碟的空間擺放奇偶校驗碼)。


▲RAID 6。

ADVERTISEMENT

RAID 2、3、4 到哪去了?

筆者以跳過 RAID 2、RAID 3、RAID 4 的方式敘述 RAID 0、RAID 1、RAID 5、RAID 6,主要的原因是這幾種 RAID 方式並不常用。RAID 2 是 RAID 0 的改良版,將資料經由 1 種稱之為「漢明碼」的演算法計算後放入硬碟中(以 bit 為單位分割),經過漢明碼編碼的資料會略微增大,但換來了偵測與校正錯誤的功能。RAID 3 則是以 byte 為單位分割資料後儲存,同時改換奇偶校驗碼;RAID 4 同 RAID 3,但將資料以 block 為單位進行分割。

缺點在於 RAID 2 以 bit 為單位分割資料,加上漢明碼編碼後的影響,最少需要 7 顆實體硬碟才能夠建立(4 顆存放實體資料,3 顆存放校驗資料),架設門檻十分的高,空間利用率也不佳。RAID 3、4 最少需要 3 顆硬碟才可使用,皆可容忍 1 顆硬碟損毀;RAID 3 以 byte 為單位分割、RAID 4 換成以 block 為單位,但是奇偶校驗碼均固定儲存在 1 顆實體硬碟上,而非如 RAID 5 交錯的儲存在各顆硬碟,這使得無論讀取哪個部分的資料,都會存取到儲存奇偶校驗碼的那顆硬碟,導致單顆硬碟負荷過重,容易提早往生。

效能上 RAID 3 的隨機存取不佳,RAID 4 則是隨機寫入不佳,綜合以上原因,在現今的磁碟陣列中相當少(幾乎可以說是沒有)見到 RAID 2、3、4 的建立方式。

ADVERTISEMENT


▲RAID 4。


▲各種RAID的比較表。(假設硬碟容量相等、額外的校驗運算不為效能瓶頸)

JBOD 與混合使用

除以上介紹的 RAID 之外,讀者還可見到 JBOD 這個縮寫或是比 RAID 6 還要大的數字。首先來說明 JBOD 的意義,JBOD 為 ”Just a Bunch Of Disks” 的縮寫,意思就是「一堆硬碟」,指的是 RAID 磁碟陣列以外的所有組態。

ADVERTISEMENT

實作上 JBOD 有 2 種方式,第一種與我們直接將硬碟安裝在電腦中相同,各顆實體各自管理自己的容量,當然也可進行磁碟區分割。第二種則是能夠將不同實體硬碟的空間串在一起,例如 2 顆 1TB 硬碟串成 1 個 2TB 的空間運用,如此能夠放入大於 1TB 的單一檔案。由於 JBOD 可以指上述 2 種情況的其中 1 種,實際進行設定前建議仔細閱讀,硬碟控制器∕RAID 擴充卡廠商的說明。

在廠商支援的情況下,使用者甚至可以將 2 種以上的 RAID 組態放在同 1 組磁碟陣列內,也就是有時可以看到的雙位數 RAID 01、10、50、60……等。建立的方式也很好理解,首先利用前位數字的 RAID 方式建立陣列,接著再將後方數字所代表的陣列建立其上。譬如 RAID 10 就是先建立 2 組 RAID 1,接著這 2 組 RAID 1 再組合成 RAID 0;RAID 50 就是先建立 2 組 RAID 5,接著再組合成 1 組 RAID 0。

除了支援度很少的 RAID 2、3、4 之外,一般來說無論是軟體或硬體式 RAID 都支援 RAID 0、RAID 1、RAID 5、RAID 6 或混合使用(實際情況依照連接埠的多寡而有所差異),實務上的做法則比較傾向於 RAID 10、50、60,而非 RAID 01、05、06。舉例來說,RAID 50 和 RAID 05 最少所需實體硬碟均為 6 顆,前者先行建立 2 組 RAID 5 後再組合成 RAID 0,因此各組 RAID 5 之中皆容許有 1 顆(共 2 顆)硬碟損毀失效,上層的 RAID 0 均能夠正常運作;若是先行建立 RAID 0 再組合成 RAID 5,最多僅能容忍 1 顆損毀或是同一組RAID 0內的硬碟均損毀,這其中的因果關係可以請讀者稍微思考一下。

ADVERTISEMENT


▲RAID 50。

預備空間 spare

部分較為高階的產品,除了指定硬碟作為 RAID 使用之外,還可指定硬碟作為 spare 之用。spare 的意思就是多餘、備用的意思,被指定為 spare 角色的硬碟平常接上但不使用,一旦 RAID 陣列其中的硬碟發生問題,spare 硬碟就會立刻替換原本那顆損壞硬碟的功能。

因為硬碟損壞的當下很有可能沒有資訊人員能夠立刻處理,為了避免在資訊人員替換掉損毀硬碟之前,磁碟陣列內部的硬碟損毀數量超過 RAID 容許個數,才會有 spare 硬碟的這種作法。

選擇適合的 RAID 模式

了解 RAID 各種模式之後,最終還是要回到問題的起點「我該使用哪種模式?」。RAID 0 和 RAID 1 最少都需要 2 顆硬碟,RAID 0 是效能和儲存空間的最大化,不注重安全性,因此比較適合放一些消失不見也沒關係的檔案,例如快取、或是整理檔案時的暫存空間,RAID 1 則是安全性最大化,適合放一些重要的資料。

在 4bay 規格的 NAS 產品中,RAID 5、RAID 6、RAID 10則是可以放在一起探討,以安全性來排序由高至低為 RAID 6>RAID 10>RAID 5,空間利用率則是 RAID 5>RAID 6=RAID 10。此外還必須加入處理效能去探討,如果處理效能不高,那麼使用 RAID 10 能夠獲得比 RAID 6、RAID 5 還要高的存取速度(因為不用運算校驗碼)。

延伸閱讀:

超過 2TB 的硬碟怎麼分割?

動手組裝多碟 RAID 外接盒(上):外接盒應用全面解析

動手組裝多碟 RAID 外接盒(下):效能先決 9 大外接盒傳輸見真章

HDD 新藍海,4 大 NAS 硬碟評測

ADVERTISEMENT