Maintain PD Fail History是一種特殊的維護性設計功能, 他並非可以增強可靠性, 也並非對效能造成影響. 他只是對管理人員提出的一種警示性設計.
該功能啟動時, RAID f/w會對VD下的PD進行追蹤, 當一個異常的情況發生時, 例如VD中其中一顆PD突然loss掉了. 顯然VD status會從Optimal轉成Critical, 這時如果把loss掉的PD重新插回去(re-insert), RAID f/w會判定該PD的狀態(Status)為Unconfigured Bad, 而且是foreign 這是一種RAID f/w對該PD的一個標記. 但是如果將該功能給關閉掉的話, 那loss掉的PD重新插回去則是判定Unconfigured Good.
Maintain PD Fail History是自MegaRAID v3.4版後新增的一項功能, 其功能目的可提供一種可維護性操作. 尤其在沒有建立HSP的情況下, 該功能可能會有一些作用性存在.
這項功能的啟動與否目前是沒辦法在LSI MegaRAID Storage Manager(MSM)進行控制, 只有兩種途徑可以決定該功能的使用:
- 在WebBIOS下, 進會Controller Properties項目進行設定.
- 使用MegaCLI鍵入相關的命令來操作該功能的啟動.
開機進行BIOS initializing時, 可進入WebBIOS針對該功能決定是否關閉與啟動:
如果進入到作業系統(Operating System)時, 這時只能透過MegaCLI的命令工具進行操作, 可以鍵入如下的命令查看啟動與否:
可以得知目前的狀態為啟動, 欲針對該功能進行關閉上操作的話, 可以鍵入如下的命令執行:
而反之, 想要重啟動該功能的話, 可以鍵入如下的命令執行啟動操作:
因此, LSI的MegaRAID stack並沒有針對這項設計強制化, 它是一種對管理人員的可選擇性設計. 是否需要則視當時的環境與管理人員的行為而定.當然! 一般的建議是最好啟用它. 而且MFC settings的出廠預設值為啟動狀態.
以出廠預設值(Factory settings)為主, 模擬一個媒體環境, 配置如下圖所示:
有四顆PD被RAID f/w操作建立成RAID 5的VD, 這時它的狀態是Optimal, 並且沒有任何HSP存在. 當有一個PD異常loss掉時, VD的狀態會馬上轉成Degraded. 並且控制器的整體狀態會是Crtical, 很快會收到如下圖的警示:
這時候在將loss掉的PD重新插回原來的slot上的話, RAID f/w會找到該PD並且重新標記新狀態, 如下圖所示:
從上圖可以看到重新插回去(re-insert)的PD, 它的狀態為(Foreign)Unconfigured Bad, 一個不正常的情況. 這便是Maintain PD Fail History功能的真正作用. 這個功能會對PD進行追蹤, 一種失敗性追蹤. 如果PD發生loss掉且重新插回去的話, RAID f/w便將該PD進行mark更變狀態為Bad. 針對當時的狀況, 視管理人員是否決定要Rebuild或著操作其他行為. 當決定要進行Rebuild操作, 按照如下步驟可以使RAID f/w開始操作Rebuild作業:
- 將Unconfigured Bad的狀態轉成Unconfigured Good
- 從控制器掃描Foreign Configuration.
- 取得Foreign Configuration後, 將它全部清掉.
- 清掉後的PD將它轉成GSHP或著DHSP, 一個Auto-rebuild的操作行為便會開始.
按照上述的步驟, 來繼續進行模擬測試, 照之前的情況先將Unconfigured Bad的PD轉成Unconfigured Good, 如下圖所示:
當按下Change to Unconfigured Good項目時, PD的狀態便會自動變更, 如下圖所示:
可以看到PD的狀態已經更改為Unconfigured Good, 但是卻是Foreign, 這代表該PD上存有COD數據. 為了要進行Rebuild操作, 必須要先將COD數據清除掉才能繼續進行, 如下圖先從控制器開始進行對COD數據的掃描:
點擊紅色圈選項目後, 會彈出一個對應的提示視窗, 根據PD上存在的COD數據是否操作匯入或著刪除, 如下圖所示:
為了繼續Rebuild操作, 選擇第二項Clear將Foreign狀態的PD上的COD數據全部清除. 當完成這個動作之後, RAID f/w便會將原本Foreign狀態的PD轉成單純的Unconfigured Good狀態. 如下圖所示:
確定PD的狀態已經轉為純粹的Unconfigured Good後, 便可以將該PD設定成HSP進行Rebuild操作, 如下圖操作所示:
如果RAID f/w設定有啟動Auto-rebuild的話, Rebuild操作便會自動開始將HSP進行數據重建. 重建完成後便會復原完整的VD.
Maintain PD Fail History的功用使得當VD其中一顆PD突然發生loss的狀況時, 再次將loss的PD重新插回去後, 便會被標記為Bad的狀態. 但是如果該功能被設定為關閉掉呢? 以下來操作關閉後, 在loss的PD重新插回去後會發生甚麼情況? 如下圖所示一顆Optimal的VD存在:
當其中一顆PD發生loss的情況後, VD的狀態便會轉成Degraded, 並且控制器會處於Critical的情況下:
而在將loss的PD重新插回原來的Bad Slot上時, RAID f/w會對重新連上線的該PD判定甚麼樣的情況? 如下圖所示:
一個特殊的情況發生了! 重新插回去的PD會馬上判定成Unconfigured Good, 並且會自動開始操作Rebuild作業進行數據重建. 根據這樣的前後對照, 隱含了一個重要的一點:
- 當Maintain PD Fail History啟動時, 一個Fail的情況可能會需要人為干涉(intervention); 反之, 關閉時則視處於自動的狀態, 不用干涉.
大多情況下, 這個功能建議是啟動的, 一個PD的丟失在當下點, 應當由管理人員決定重新插入後該如何處理. 該功能提供維護上的彈性, 一般正常情況對於VD會搭配HSP, 那麼Maintain PD Fail History就會失去作用. 因為VD上的PD發生loss掉以後, RAID f/w會便開始操作HSP進行Auto-rebuild作業重建數據. 但是重建完成之後, 應當盡快插入新的PD到Bad Slot上, 讓RAID f/w進行Copyback的反轉狀態作業.
Notes:
- Be sure to disable 'Maintain PD Fail History' when using single drive RAID 0. Failure to do so may result in the single drive RAID 0 array being deleted with an unclean shutdown, as the controller will mark the single drive RAID 0 'unconfigured bad'. If the setting is disabled the drives would be marked foreign configuration and the auto import policy would pull them drive back in.
- MegaRAID 5.x之後提供的EHSP機制可能會干涉Maintain PD Fail History, 這點請必須注意!