陣列特性

非分散式陣列的一項重要特色是陣列的部分磁碟機會指定為備用磁碟機。在非分散式陣列配置中,只有當陣列中的其他磁碟機故障時,才會使用備用磁碟機。

一個非分散式陣列可以包含 2 - 16 個磁碟機;數個陣列即會建立儲存區的容量。為了提供備援,會配置緊急備用磁碟機,以便在任何其他磁碟機發生故障時接手讀取或寫入作業。在其餘時間,備用磁碟機只是閒置,不會處理系統的要求。當陣列中的成員磁碟機發生故障時,會依照磁碟機寫入資料的速度,將資料回復到備用磁碟機上。由於此瓶頸,重建資料可能需要數小時,因為系統會嘗試平衡主機與重建工作量。因此,其餘成員磁碟機上的負載會明顯增加。在這整段時間中,都會影響重建陣列的 I/O 延遲。因為磁區資料跨越各個 MDisk 來分段,在重建磁碟機的期間,所有磁區都會受影響。

陣列範例

圖 1 顯示以 RAID 層次 6 配置的陣列範例。這個陣列包含五個作用中磁碟機和兩個備用磁碟機。
  •  1  作用中磁碟機。
  •  2  備用磁碟機;兩個磁碟機都非作用中。
  •  3  資料分段,由資料的個別分段組成。
  •  4  分段寬度,等於陣列寬度;只有作用中的磁碟機會算入分段寬度中。
圖 1. 非分散式陣列(RAID 6 層次)
此圖顯示採用 RAID 6 層次配置的非分散式陣列範例;所有磁碟機都在作用中。
圖 2 顯示含有故障磁碟機的陣列。將會從所有剩餘的作用中磁碟機讀取資料。然後,所有回復的資料會寫入其中 1 個備用磁碟機。在此過程中,另一個備用磁碟機維持未用和閒置。
  •  1  故障磁碟機
  •  2  剩餘的作用中磁碟機,從中讀取回復的資料。
  •  3  回復的資料寫入一個備用磁碟機。
  •  4  剩餘的備用磁碟機維持未用和閒置。
圖 2. 含有故障磁碟機的非分散式陣列(RAID 6 層次)
此圖顯示採用 RAID 6 層次配置的非分散式陣列範例。一個磁碟機發生故障。

支援的 RAID 層次

系統支援下列 RAID 層次:RAID 0、RAID 1、RAID 5、RAID 6 和 RAID 10。

RAID 0
RAID 0 陣列沒有備援,不支援緊急備用接管。
RAID 1
RAID 1 提供磁碟鏡映,可在兩個磁碟機之間複製資料。RAID 1 陣列在內部等同於雙成員 RAID 10 陣列。
RAID 10
RAID 10 陣列會將資料分段在鏡映配對的磁碟機上。RAID 10 陣列只有單一備援。 鏡映配對會獨立重建。每個配對的成員可能同時重建或遺漏。RAID 10 結合 RAID 0 和 RAID 1 的特性。
表 1 比較 RAID 層次的性質。
表 1. RAID 層次比較
層次 磁碟機計數 (DC)1 大約的陣列容量 備援2
RAID 0 1 - 8 DC * DS3
RAID 1 2 DS 1
RAID 10 2 - 16,偶數 (DC/2) * DS 14
  1. 管理 GUI 中,您無法建立所有大小的陣列,因為大小取決於磁碟機如何配置。
  2. 備援表示陣列可容忍的磁碟機故障數目。在某些情況下,陣列可以容忍超過一個磁碟機故障。如需備援的相關資訊,請參閱磁碟機故障和備援
  3. DS 表示磁碟機大小。
  4. 介於 1 和 MC/2 之間。

陣列起始設定

建立陣列時,背景起始設定程序會讓陣列成員彼此同步。 在此過程中,陣列可用於 I/O。起始設定不會因為成員磁碟機故障而影響可用性。

磁碟機故障和備援

如果陣列具有必要的備援,則故障或無法存取的磁碟機會從陣列中移除。如果有適當的備用磁碟機可用,則會納入陣列中,然後這個磁碟機會開始同步化。

每一個陣列都有一組目標,說明每一個陣列成員的偏好位置和效能。 如果磁碟機故障,一連串的磁碟機故障和緊急備用接管可能造成陣列失衡;也就是說,陣列可能包含不符合這些目標的成員。 有適當的磁碟機可用時,系統會自動重新平衡這些陣列。

重新平衡是透過並行交換來達成,這會在磁碟機之間移轉資料,但不影響備援。

您可以手動開始交換,也可以更新陣列目標來協助配置變更。

備用磁碟機保護和目標

每一個陣列成員由一組有效相符的備用磁碟機所保護。其中部分備用磁碟機會比其他備用磁碟機更適合。 例如,部分備用磁碟機可能降低陣列效能、可用性或兩者。良好備用磁碟機具有下列任一性質:
  • 完全符合成員目標容量、效能和位置。
  • 效能符合;備用磁碟機的容量相同或更大,且具有相同或更好的效能。
良好備用磁碟機還具有下列任一性質:
  • 作為備用的磁碟機。
  • 並行交換舊磁碟機,預定於交換完成時變成緊急備用磁碟機。

陣列指令有一個稱為 spare_protection 的屬性,可用來指定陣列成員的良好備用數目。 陣列屬性 spare_protection_min 是陣列成員的備用保護下限。

陣列屬性 spare_goal 是保護每一個陣列成員所需的良好備用磁碟機數目。 建立陣列時會設定這個屬性,可利用 charray 指令來變更。

如果用來保護陣列成員的良好備用磁碟機數目低於陣列備用目標,您會收到事件錯誤 084300。

慢速寫入優先順序設定

當備援陣列層次執行讀寫 I/O 作業時,陣列的效能會受限於最慢成員磁碟機的效能。 當磁碟機執行內部 ERP 程序時,如果 SAS 網路不穩定,或有太多工作湧進陣列中,成員磁碟機的效能會比平常更差。 在此情況下,提供備援的陣列可接受備援短暫中斷,以避免寫入或讀取慢速的元件。 對映至效能不佳磁碟機的寫入會交託給其他副本或同等項,然後以良好狀態完成(假設無其他失敗狀況)。 當成員磁碟機回復時,背景處理程序會寫入當成員變慢時標示為不同步的分段,從而還原備援。

這項技術由陣列的 slow_write_priority 屬性設定所控管,預設為 latency。 設為 latency 時,容許陣列變成不同步,以嘗試改善欠佳的成員效能。 您可以使用 charray 指令,將 slow_write_priority 屬性變更為 redundancy。 設為 redundancy 時,不容許陣列變成不同步。不過,陣列可以從備援路徑將讀取傳回給慢速的元件,以避免讀取效能降低。

當陣列使用 latency 模式時,或試圖避免讀取處於 redundancy 模式的元件時,系統會定期評估磁碟機,以判斷磁碟機何時再次成為系統的可靠部分。 如果磁碟機從未展現良好效能,或導致陣列中發生太多次效能失效狀況,系統會使硬碟失效,以免持續受到效能不佳磁碟機所拖累。 只有當系統無法偵測到磁碟機對效能不佳有何其他解釋時,才會使硬體失效。

磁碟機離線漸進式重建

當內部 RAID 陣列中的磁碟機離線時,系統不會立即以緊急備用磁碟機取代它. 在 60 秒期間內,磁碟機會標示發生新寫入的地方。如果磁碟機重回線上,則會對發生寫入的地方進行「漸進式重建」,而非完整的元件重建。 不論陣列的 slow_write_priority 設定為何,一律會應用這項技術,因為最好避免備用接管,以維持最高系統可用性。

更換磁碟機

故障 LED 亮起的磁碟機表示磁碟機標示為故障,不再供系統使用。當系統偵測到此故障磁碟機已更換時,就會將更換磁碟機重新配置為備用磁碟機。 已更換的故障磁碟機自動會從配置中移除。接著,就會使用新的備用磁碟機來達到系統的陣列成員資格目標。