Hard-Drive
如何使用重新分配扇區數較多的磁碟?
經過 3 年的 24x7 服務,1TB 希捷梭子魚 ES.2 企業級硬碟出現故障跡象。SMART 重新分配的扇區數很高。
維基百科文章建議,如果重新映射的扇區未被使用,該驅動器仍可用於不太敏感的用途,例如陣列外部的暫存儲存。
A workaround which will preserve drive speed at the expense of capacity is to create a disk partition over the region which contains remaps and instruct the operating system to not use that partition.
為了創建這樣的分區,有必要獲取重新映射的扇區列表。但是,作業系統沒有可見的壞塊。即
badblocks
返回一個空列表。有沒有辦法恢復重新分配的扇區列表?
**編輯:**這個驅動器來自一個陣列。我們每年都會有一些失敗,只是把它們扔掉似乎是一種浪費。我正在考慮給盤子更好的部分第二次機會。
這是 SMART 報告現在的樣子。
=== START OF INFORMATION SECTION === Model Family: Seagate Barracuda ES.2 Device Model: ST31000340NS Serial Number: ********** Firmware Version: SN05 ... ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x000f 056 054 044 Pre-fail Always - 164293299 3 Spin_Up_Time 0x0003 099 099 000 Pre-fail Always - 0 4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 14 5 Reallocated_Sector_Ct 0x0033 005 005 036 Pre-fail Always FAILING_NOW 1955 7 Seek_Error_Rate 0x000f 076 060 030 Pre-fail Always - 8677183434 9 Power_On_Hours 0x0032 072 072 000 Old_age Always - 24893 10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0 12 Power_Cycle_Count 0x0032 100 037 020 Old_age Always - 14 184 End-to-End_Error 0x0032 100 100 099 Old_age Always - 0 187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0 188 Command_Timeout 0x0032 100 100 000 Old_age Always - 0 189 High_Fly_Writes 0x003a 097 097 000 Old_age Always - 3 190 Airflow_Temperature_Cel 0x0022 050 043 045 Old_age Always In_the_past 50 (0 6 50 32) 194 Temperature_Celsius 0x0022 050 057 000 Old_age Always - 50 (0 18 0 0) 195 Hardware_ECC_Recovered 0x001a 021 010 000 Old_age Always - 164293299 197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 21 198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 21 199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0
你沒有。
你去買另一個磁碟來替換它,除非你真的很喜歡失去數據。
我要感謝您的建議,並分享我從實驗中獲得的一些細節。
簡而言之,沒有簡單的方法來獲得重新分配的扇區列表,甚至映射磁碟的統計方法也因需要與韌體的邏輯相衝突而受到嚴重阻礙。
為了測試我
badblocks -wv
使用預設塊大小執行的驅動器,並在此過程中監控了重新分配的扇區數。我做了幾個觀察。
- 我觀察到在寫入磁碟開頭時重新分配的扇區數量急劇增加。然後從最初的 10G 到 700G 沒有任何變化。這可以通過以下事實來解釋:某些 RAID 管理數據儲存在磁碟的開頭,因此小地址區域的磨損高於磁碟的其餘部分。
- 然後在一個錯誤之後,磁碟將自身變為阻塞模式。那是每個 ATA 命令,甚至
IDENTIFY DRIVE
返回ABRT
. 儘管重新分配部門的價值仍然是積極的。為了解釋大衛施瓦茨建議的這種行為,我假設保留扇區以某種方式分佈在驅動器的地址空間中。這意味著驅動器可能有保留扇區,但其中一部分可能會用完重新映射的扇區。在這種情況下,韌體只會阻止驅動器。- 僅在對驅動器重新通電後,驅動器才會退出阻塞模式。當舊驅動器讓軟體跟踪壞塊並避免使用它們時,現代驅動器不會提供這個機會。當韌體認為它無法處理錯誤時,它會使驅動器無法使用。
- 通過將重新分配扇區的值執行到 02,我得出結論,該驅動器上有 2048 個保留扇區。
- 所謂的低級格式化,或將零寫入驅動器的每個可訪問扇區以從磁碟的不太可靠的部分重新分配扇區是行不通的,因為當驅動器用完保留扇區時,它會以某種方式改變處理錯誤的方式與不進行任何預測性故障分析並僅報告錯誤的傳統驅動器相比,這使其使用起來更不方便。