陣列特性
非分散式陣列的一項重要特色是陣列的部分磁碟機會指定為備用磁碟機。在非分散式陣列配置中,只有當陣列中的其他磁碟機故障時,才會使用備用磁碟機。
一個非分散式陣列可以包含 2 - 16 個磁碟機;數個陣列即會建立儲存區的容量。為了提供備援,會配置緊急備用磁碟機,以便在任何其他磁碟機發生故障時接手讀取或寫入作業。在其餘時間,備用磁碟機只是閒置,不會處理系統的要求。當陣列中的成員磁碟機發生故障時,會依照磁碟機寫入資料的速度,將資料回復到備用磁碟機上。由於此瓶頸,重建資料可能需要數小時,因為系統會嘗試平衡主機與重建工作量。因此,其餘成員磁碟機上的負載會明顯增加。在這整段時間中,都會影響重建陣列的 I/O 延遲。因為磁區資料跨越各個 MDisk 來分段,在重建磁碟機的期間,所有磁區都會受影響。
陣列範例
支援的 RAID 層次
系統支援下列 RAID 層次:RAID 0、RAID 1、RAID 5、RAID 6 和 RAID 10。
層次 | 磁碟機計數 (DC)1 | 大約的陣列容量 | 備援2 |
---|---|---|---|
RAID 0 | 1 - 8 | DC * DS3 | 無 |
RAID 1 | 2 | DS | 1 |
RAID 10 | 2 - 16,偶數 | (DC/2) * DS | 14 |
|
陣列起始設定
建立陣列時,背景起始設定程序會讓陣列成員彼此同步。 在此過程中,陣列可用於 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 亮起的磁碟機表示磁碟機標示為故障,不再供系統使用。當系統偵測到此故障磁碟機已更換時,就會將更換磁碟機重新配置為備用磁碟機。 已更換的故障磁碟機自動會從配置中移除。接著,就會使用新的備用磁碟機來達到系統的陣列成員資格目標。