RAID (獨立磁碟容錯陣列,Redundant Array of Independent Disks) 的用途是將數個硬碟分割區組合成一個大型「虛擬」硬碟,以達最佳化效能、資料安全性或是兩者兼具的功能。大部分 RAID 控制器使用 SCSI 通訊協定,因為它可利用比 IDE 通訊協定更有效的方式處理較大量的硬碟,並且更適合指令的平行處理。有部分的 RAID 控制器支援 IDE 或 SATA 硬碟。軟體 RAID 可提供 RAID 系統的優點,卻不需要硬體 RAID 控制器的額外成本。但是這需要一些 CPU 時間,而且有一些記憶體需求,使它不適用於極高效能的電腦。
SUSE® Linux Enterprise Server 可讓您選擇在說明的指導下,將幾個硬碟組合為一個軟體 RAID 系統。RAID 一詞是表示將數個硬碟結合成 RAID 系統的一些策略,每個都有不同的目標、優點及特色。這些變化通常稱為 RAID 層級。
常用 RAID 層級為:
此層級將每個檔案的區塊分散於多個磁碟,以提升您的資料存取效能。實際上,它不是真的 RAID,因為它不提供資料備份,但是此類型系統的名稱 RAID 0 已經成為標準。使用 RAID 0,就可將兩個以上的磁碟聚集在一起。效能非常好,但是如果其中一個硬碟錯誤,RAID 系統便會損毀而且資料會遺失。
此層級對資料提供足夠的安全性,因為資料是以 1:1 複製到另一個硬碟。這就是所謂的硬碟鏡射。如果其中一個硬碟損毀,另一個硬碟上有其內容的複本。只有其中一個會受到損害,但不會危害到資料。然而如果未偵測到損毀的情況,則損毀的資料也可能會鏡射到正確的磁碟,因而造成資料損毀。在複製過程中的寫入效能比使用單一磁碟存取時較差 (慢了百分之十到二十),但是讀取存取卻較任何一般實體硬碟快得多,因為資料已複製,因此可以平行掃描。一般而言,可以說「層級 1」比單一磁碟的讀取異動率快了將近兩倍,而且與單一磁碟的寫入異動率幾乎相同。
這些都不是一般的 RAID 實作。「層級 2」在是位元層級等量分割資料,而不是在區塊層級。「層級 3」提供具有專用同位磁碟的位元層級等量分割,但是無法同時服務多個要求。這兩個層級都很少使用。
「層級 4」提供與「層級 0」相同的區塊層級等量分割,並且結合專用的同位磁碟。在資料磁碟失敗時,會使用同位資料以建立替代的磁碟。不過,同位磁碟可能造成寫入存取的瓶頸。儘管如此,有時還是會使用「層級 4」。
RAID 5 是在「層級 0」與「層級 1」之間效能和備用方面最佳的折衷方法。硬碟空間等於使用的磁碟數減一。使用 RAID 0 可將資料分布至各個硬碟。在其中一個分割區上建立的同位區塊是基於安全性考量。它們以 XOR 互相連結,使得系統失敗時,能夠藉由對應的同位區塊重新建構內容。使用 RAID 5,不會有一個以上的硬碟同時失敗。如果一個硬碟失敗,必須立即更換以避免資料遺失的風險。
已經開發一些其他的 RAID 層級 (RAIDn、RAID 10、RAID 0+1、RAID 30、RAID 50 等等),有些是硬體廠商所建立的專用實作。這些層級並不是很普遍,因此在這裏並不做說明。
YaST 組態可透過 YaST 進階磁碟分割程式來完成,請參閱節 15.1, 使用 YaST 磁碟分割程式。這個磁碟分割工具可讓您編輯和刪除現有磁碟分割,以及建立應該與軟體 RAID 一起使用的新磁碟分割。在此磁碟分割程式中建立 RAID 分割區:
從中選取一個硬碟。
切換到索引標籤。
按一下,然後輸入此磁碟上 RAID 分割區所需的大小。
使用並將變更為。不要裝載此分割區。
重複此程序,直到定義了可用磁碟上所有需要的實體卷冊為止。
對於 RAID 0 和 RAID 1,至少需要兩個分割區。對於 RAID 1,通常剛好兩個而不需更多。如果使用 RAID 5,至少需要三個分割區。建議您僅使用大小相同的分割區。為減少當其中一個硬碟 (RAID 1 和 5) 損壞時會有遺失資料的風險,以及為了最佳化 RAID 0 的效能,RAID 分割區應位於不同的硬碟中。建立所有要使用 RAID 功能的分割區後,按一下開始設定 RAID 組態。
在下一個對話方塊中,選擇 RAID 層級 0、1 或 5。然後選取 RAID 系統要使用且類型為「Linux RAID」或「Linux native」的所有分割區。不會顯示交換和 DOS 分割區。
圖 15-5 RAID 分割區
若要新增之前未指定的分割區給選取的 RAID 卷冊,請先按一下分割區,再按 。指定保留給 RAID 的所有分割區。否則,仍然不會使用分割區上的空間。指定所有分割區後,按選取可用的。
在最後一個步驟中,設定要使用的檔案系統、加密以及 RAID 卷冊的定點。在按一下 以完成組態之後,請參閱 /dev/md0 設備及其他在專家分割程式中以 RAID 表示的設備。
檢查檔案 /proc/mdstat 以確定 RAID 分割區是否已損毀。當系統失敗時,請關閉 Linux 系統並使用以相同方式磁碟分割的新硬碟來更換損壞的硬碟。然後重新啟動系統,並輸入 mdadm /dev/mdX --add /dev/sdX 指令。使用特定的設備識別碼取代 X。如此可將硬碟自動整合到 RAID 系統並完整地重新建構。
請注意,雖然您可以在重建期間存取所有資料,但是在完全重建 RAID 之前,您可能會遇到一些效能問題。
可在下列網址的 HOWTO 中找到組態指南及軟體 RAID 的詳細資訊:
/usr/share/doc/packages/mdadm/Software-RAID.HOWTO.html
也有 Linux RAID 郵寄清單可供參考,如 http://marc.theaimsgroup.com/?l=linux-raid。