簡介
本文檔介紹了不同型別的磁碟錯誤、如何對錯誤進行分類,以及可用於辨識這些錯誤的工具。
必要條件
需求
本文件沒有特定需求。
採用元件
本文檔中的資訊基於統一計算系統(UCS)中的硬碟。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
背景資訊
本文檔還概述了硬碟驅動器(HDD)和獨立磁碟冗餘陣列(RAID)控制器在辨識驅動器上的介質錯誤時的角色。
註:介質錯誤也稱為介質錯誤
處理HDD中型錯誤
什麼原因導致HDD介質錯誤?
介質錯誤的最常見原因是訊號幅度過低,導致
- 不可靠的邏輯匯流排地址(LBA)讀取位置。有時可以多次重試。
- 在瞬變條件下,軟粒子造成的高寫入率。
- 暫時性狀況,由暫時性的衝擊、震動或聲音事件所造成,會導致磁軌外寫入。
- HDD製造中的不良錯誤對映功能導致填充當前的主要缺陷位置。
HDD如何檢測到介質錯誤?
步驟1.HDD定期執行後台介質掃描以檢測錯誤。
步驟 2.HDD嘗試從介質讀取,由於某些原因,無法檢索寫入的資料。
步驟 3.當HDD無法檢索寫入的資料時,它會呼叫HDD恢復代碼,該代碼將嘗試執行各種錯誤恢復步驟以成功從介質讀取資料。
步驟 4.如果所有的復原步驟都失敗,磁碟機將產生03/11/0x錯誤並返回主機,而LBA將置於擱置的瑕疵清單。
Raid控制器如何檢測介質錯誤?
- RAID控制器在巡查讀取、一致性檢查、正常讀取、重建和讀取/修改/寫入操作期間將遇到中等錯誤。
- 根據RAID組態,控制器可能能夠處理HDD報告的媒體錯誤,且不需要進一步的動作。
- 在某些情況下,控制器將無法處理介質錯誤,並將錯誤傳送給主機處理錯誤。
作業系統(OS)何時會看到中等錯誤?
- 如果HDD報告介質錯誤,並且RAID控制器無法處理恢復,則主機將收到錯誤通知。
- 此通知不再只是通知系統已發生事件的建議訊息,而是要求作業系統採取行動,因為HDD和RAID控制器無法從媒體錯誤中復原。
- 如果作業系統具有正確解決介質錯誤所需的環境,則必須由作業系統進行處理
- 如果磁碟位於「僅磁碟群組(JBOD)」中,則作業系統將會看到錯誤,因為控制器並未加以修正。這在HyperFlex (HX)/虛擬儲存區域網路(VSAN)環境中很常見。
HDD角色
Growed Defects (G-list) HDD級別
當磁碟機運作時,磁頭可能會遇到磁讀取層級降低的磁區。資料仍可讀,但可能低於合格良好扇區讀取級別的首選閾值。此磁碟機會將此磁碟區視為能夠且會將此資料磁區備援到已知良好保留清單中的新位置。移動資料後,舊的扇區地址將增加到已成長缺陷清單中,永遠不會再使用。此過程是可恢復的介質錯誤。一旦大多數已知良好的備用扇區用盡,驅動器將發出SMART觸發器。
RAID控制器角色
巡查讀取
- Patrol Read是一個使用者可定義的選項,可在後台執行驅動器讀取並對映出驅動器的任何壞區域。
- Patrol Read檢查可能導致驅動器故障的物理磁碟錯誤。這些檢查通常包括嘗試糾正操作。可透過自動或手動啟動來啟用或停用Patrol讀取。
- Patrol Read定期驗證連線到控制器的所有物理磁碟扇區,包括配置了RAID的驅動器中的系統保留區域。Patrol Read適用於所有RAID級別和所有熱備盤驅動器。
- 此程式只在RAID控制器閒置一段定義的時間,而且沒有其他作用中的背景工作時才開始,不過它仍可繼續執行,同時執行大量的輸入/輸出(I/O)程式。
- 您無法在JBOD中配置的磁碟機上執行巡查讀取。
注意:潛在語意索引(LSI)建議您將Patrol讀取頻率和其他的patrol讀取設定保留為預設值,以達到最佳的系統效能。如果您決定變更這些值,請在此記錄原始的預設值,以便稍後可以還原它們。
附註:「巡讀程式」在執行時不報告其進度。巡邏讀取狀態僅在事件日誌中報告。
「Patrol讀取」選項如下圖所示:
MegaCli示例
要檢視有關巡檢讀取狀態和巡檢讀取運行之間的延遲的資訊,請執行以下操作:
# MegaCli64 -AdpPR -Info -aALL
要瞭解當前巡查讀取速率,請執行:
# MegaCli64 -AdpGetProp PatrolReadRate -aALL
若要停用自動巡檢讀取,請執行下列動作:
# MegaCli64 -AdpPR -Dsbl -aALL
啟用自動巡檢讀取:
#MegaCli64 -AdpPR -EnblAuto -aALL
要啟動手動巡檢讀取掃描:
# MegaCli64 -AdpPR -Start -aALL
停止巡檢讀取掃描:
# MegaCli64 -AdpPR -停止-全部
一致性檢查
- 在RAID中,「一致性檢查」會驗證陣列中備援資料的正確性。例如,在具有奇偶校驗的系統中,檢查一致性意味著計算資料驅動器的奇偶校驗並將結果與奇偶校驗驅動器的內容進行比較。
- JBOD不支援一致性檢查。
- RAID 0不支援一致性檢查。
- RAID 1使用資料比較而不是同位檢查。
- RAID 6會計算2個同位檢查磁碟機的同位檢查,並驗證兩者。
注意:建議您每月至少運行一次一致性檢查。
一致性檢查管理選項如下圖所示:
一致性檢查計畫選項如下圖所示:
MegaCli示例
要檢視下一個計畫的一致性檢查時間,請執行以下操作:
#MegaCli64 -AdpCcSched -Info -aALL
要更改計畫的一致性檢查時間,請執行以下操作:
#MegaCli64 -AdpCCSched -SetSTartTime 20171028 02 -aALL
要停用一致性檢查,請執行以下操作:
#MegaCli64 -AdpCcSched -Dsbl -aALL
RAID控制器無法修復介質錯誤時的狀況
- RAID 0中
- 由於無冗餘,因此控制器無法為HDD提供寫入到LBA的資料。
- 在RAID 1中
- 當控制器無法辨別哪個映象副本包含正確資料時。只有在兩個LBA均可讀取,但資料不匹配時,才會出現這種情況。
- RAID 5
- 如果同一條帶中有2個或更多錯誤。最可能發生在陣列重建開始之後。重建的磁碟機是一個錯誤,而任何其他磁碟機重建的媒體錯誤則是第二個錯誤。控制器將無法重建在更換驅動器上重建LBA所需的資料。
- RAID 6
- 如果同一條帶中存在3個或更多錯誤。最有可能發生在重建陣列時。重建的磁碟機是一個錯誤,而重建期間其他兩個磁碟機上的媒體錯誤可能是第二和第三個錯誤,或媒體錯誤和第二個磁碟機故障。控制器將無法重建發生錯誤的磁碟機上LBA所需的資料。
相關資訊