2.2. 軟體 RAID 組態

RAID (獨立磁碟容錯陣列,Redundant Array of Independent Disks) 的用途是將數個硬碟分割區組合成一個大型「虛擬」硬碟,以達最佳化效能、資料安全性或是兩者兼具的功能。大部分 RAID 控制器使用 SCSI 通訊協定,因為它可利用比 IDE 通訊協定更有效的方式處理較大量的硬碟,並且更適合指令的平行處理。有部分的 RAID 控制器支援 IDE 或 SATA 硬碟。軟體 RAID 可提供 RAID 系統的優點,卻不需要硬體 RAID 控制器的額外成本。但是這需要一些 CPU 時間,而且有一些記憶體需求,使它不適用於極高效能的電腦。

2.2.1. RAID 層級

SUSE Linux 提供結合數個硬碟至一個軟體 RAID 系統的選項,結合 YaST 的使用,對硬體 RAID 是非常好的替代方案。RAID 一詞是表示將數個硬碟結合成 RAID 系統的一些策略,每個都有不同的目標、優點及特色。這些變化通常稱為 RAID 層級

常用 RAID 層級為:

RAID 0

此層級將每個檔案的區塊分散於多個磁碟,以提升您的資料存取效能。實際上,它不是真的 RAID,因為它不提供資料備份,但是此類型系統的名稱 RAID 0 已經成為標準。使用 RAID 0,就可將兩個以上的磁碟聚集在一起。效能非常好,但是如果其中一個硬碟錯誤,RAID 系統便會損毀而且資料會遺失。

RAID 1

此層級對資料提供足夠的安全性,因為資料是以 1:1 複製到另一個硬碟。這就是所謂的硬碟鏡射。如果其中一個硬碟損毀,另一個硬碟上有其內容的複本。只有其中一個會受到損害,但不會危害到資料。然而如果未偵測到損毀的情況,則損毀的資料也可能會鏡射到正確的磁碟,因而造成資料損毀。在複製程序中的寫入效能比使用單一磁碟存取時較差 (慢了百分之十到二十),但是讀取存取卻較任何一般實體硬碟快得多,因為資料已複製,因此可平行掃描。一般而言,可以說「層級 1」 比單一磁碟的讀取異動率快了將近兩倍,而且與單一磁碟的寫入異動率幾乎相同。

RAID 2 與 RAID 3

這些都不是一般的 RAID 實作。「層級 2」在是位元層級等量分割資料,而不是在區塊層級。「層級 3」提供具有專用同位磁碟的位元層級等量分割,但是無法同時服務多個要求。這兩個層級都很少使用。

RAID 4

「層級 4」提供與「層級 0」相同的區塊層級等量分割,並且結合專用的同位磁碟。在資料磁碟失敗時,會使用同位資料以建立替代的磁碟。不過,同位磁碟可能造成寫入存取的瓶頸。儘管如此,有時還是會使用「層級 4」。

RAID 5

RAID 5 是在「層級 0」與「層級 1」之間效能和備用方面最佳的折衷方法。硬碟空間等於使用的磁碟數減一。使用 RAID 0 可將資料分布至各個硬碟。在其中一個分割區上建立的同位區塊,即是基於安全性的因素。它們以 XOR 互相連結,使得系統失敗時,能夠藉由對應的同位區塊重新建構內容。使用 RAID 5,不會有一個以上的硬碟同時失敗。如果一個硬碟失敗,必須立即更換以避免資料遺失的風險。

其他的 RAID 層級

已經開發一些其他的 RAID 層級 (RAIDn、RAID10、RAID 10、RAID 0+1、RAID 30、RAID 50 等等),有些是硬體廠商所建立的專用實作。這些層級並不是很普遍,因此在這裏並不做說明。

2.2.2. 使用 YaST 進行軟體 RAID 組態

YaST 軟體 RAID 組態可以從 YaST 專家分割程式完成 (請參閱 節 2.9.5, "磁碟分割程式" (↑啟動))。這個磁碟分割工具可讓您編輯和刪除現有磁碟分割,以及建立應該與軟體 RAID 一起使用的新磁碟分割。接著,先按一下 建立+不要格式化,以建立 RAID 分割區,再選取 0xFD Linux RAID 做為分割區的識別碼。對於 RAID 0 和 RAID 1,至少需要兩個分割區。對於 RAID 1,通常剛好兩個而不需更多。如果使用 RAID 5,至少需要三個分割區。建議您僅使用大小相同的分割區。RAID 分割區應該儲存在不同的硬碟上,以減少其中一個損壞時 (RAID 1 和 5) 遺失資料的風險,並最佳化 RAID 0 的效能。在建立 RAID 使用的所有分割區後,按一下 RAID+建立 RAID 以啟動 RAID 組態。

在下一個對話方塊中,在 RAID 層級 0、1 及 5 之間選擇 (請參閱 節 2.2.1, "RAID 層級" 以取得詳細資訊)。按一下 下一步 後,下列對話方塊會列出具有 "Linux RAID" 或 "Linux native" 類型的所有分割區 (請參閱 圖形 2.6, "RAID 分割區")。不會顯示交換和 DOS 分割區。如果已經指定分割區給 RAID 磁碟區,RAID 設備 (例如 /dev/md0) 的名稱就會顯示在清單中。未指定的分割區以 "--" 表示。

圖形 2.6. RAID 分割區

RAID 分割區

若要新增之前未指定的分割區給選取的 RAID 磁碟區,請先按一下分割區,再按 新增。此時,RAID 設備的名稱,會輸入到選取分割區的旁邊。指定保留給 RAID 的所有分割區。否則,仍然不會使用分割區上的空間。在指定所有的分割區後,按一下 下一步 以進入設定對話方塊,在此您可以微調效能 (請參閱 圖形 2.7, "檔案系統設定")。

圖形 2.7. 檔案系統設定

檔案系統設定

使用傳統分割時,會設定要使用的檔案系統、加密以及 RAID 磁碟區的裝載點。檢查 永久超級區塊 以確定在開機時可識別 RAID 分割區。在按一下 完成 以完成組態之後,請參閱 /dev/md0 設備及其他在專家分割程式中以 RAID 表示的設備。

2.2.3. 疑難排解

檢查檔案 /proc/mdstats 以找出 RAID 分割區是否已損毀。當系統失敗時,請關閉 Linux 系統並使用以相同方式磁碟分割的新硬碟來更換損壞的硬碟。然後重新啟動系統,並輸入 mdadm /dev/mdX --add /dev/sdX 指令。使用特定的裝置識別碼取代 X。如此可將硬碟自動整合到 RAID 系統並完整地重新建構。

2.2.4. 如需詳細資訊

可在下列網址的 HOWTO 中找到組態指南及軟體 RAID 的詳細資訊:

也有 Linux RAID 郵寄清單可供參考,如 http://marc.theaimsgroup.com/?l=linux-raid&r=1&w=2