Ubuntu

壞扇區是否表示磁碟出現故障?

  • September 21, 2021

我的 Ubuntu 13.10 系統在過去一天左右的表現一直很差。查看核心日誌,似乎小於 1 年的 3TB SATA 磁碟在特定扇區存在問題:

Nov  4 20:54:04 mediaserver kernel: [10893.039180] ata4.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
Nov  4 20:54:04 mediaserver kernel: [10893.039187] ata4.01: BMDMA stat 0x65
Nov  4 20:54:04 mediaserver kernel: [10893.039193] ata4.01: failed command: READ DMA EXT
Nov  4 20:54:04 mediaserver kernel: [10893.039202] ata4.01: cmd 25/00:08:f8:3f:83/00:00:af:00:00/f0 tag 0 dma 4096 in
Nov  4 20:54:04 mediaserver kernel: [10893.039202]          res 51/40:00:f8:3f:83/40:00:af:00:00/10 Emask 0x9 (media error)
Nov  4 20:54:04 mediaserver kernel: [10893.039207] ata4.01: status: { DRDY ERR }
Nov  4 20:54:04 mediaserver kernel: [10893.039211] ata4.01: error: { UNC }
Nov  4 20:54:04 mediaserver kernel: [10893.148527] ata4.00: configured for UDMA/133
Nov  4 20:54:04 mediaserver kernel: [10893.180322] ata4.01: configured for UDMA/133
Nov  4 20:54:04 mediaserver kernel: [10893.180345] sd 3:0:1:0: [sdc] Unhandled sense code
Nov  4 20:54:04 mediaserver kernel: [10893.180349] sd 3:0:1:0: [sdc]
Nov  4 20:54:04 mediaserver kernel: [10893.180353] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Nov  4 20:54:04 mediaserver kernel: [10893.180356] sd 3:0:1:0: [sdc]
Nov  4 20:54:04 mediaserver kernel: [10893.180359] Sense Key : Medium Error [current] [descriptor]
Nov  4 20:54:04 mediaserver kernel: [10893.180371] Descriptor sense data with sense descriptors (in hex):
Nov  4 20:54:04 mediaserver kernel: [10893.180373]         72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00
Nov  4 20:54:04 mediaserver kernel: [10893.180384]         af 83 3f f8
Nov  4 20:54:04 mediaserver kernel: [10893.180389] sd 3:0:1:0: [sdc]
Nov  4 20:54:04 mediaserver kernel: [10893.180393] Add. Sense: Unrecovered read error - auto reallocate failed
Nov  4 20:54:04 mediaserver kernel: [10893.180396] sd 3:0:1:0: [sdc] CDB:
Nov  4 20:54:04 mediaserver kernel: [10893.180398] Read(16): 88 00 00 00 00 00 af 83 3f f8 00 00 00 08 00 00
Nov  4 20:54:04 mediaserver kernel: [10893.180412] end_request: I/O error, dev sdc, sector 2944614392
Nov  4 20:54:04 mediaserver kernel: [10893.180431] ata4: EH complete

kern.log文件大約 33MB,大部分都重複了上述錯誤,並且該扇區在重複消息中似乎沒有任何不同。

我目前正在現在解除安裝的磁碟上執行以下命令來測試並嘗試解決磁碟可能存在的任何問題。我大約需要 12 小時,並且由於磁碟太大,預計還需要 24/48 小時:

e2fsck -c -c -p -v /dev/sdc1

我的問題是:這個驅動器是否出現故障,或者我在這裡查看的是一個常見問題?我想知道修復或忽略壞扇區是否對我有任何意義,以及我是否應該在保修期內更換仍在保修期內的磁碟。我對上述命令的了解有些缺乏,所以我懷疑它是否會有所幫助。

快速更新!

e2fsck 終於在 2 天后完成,其中包含大量“inode 中的多重聲明塊”。嘗試掛載文件系統導致錯誤,迫使它回落到只讀:

Nov 11 08:29:05 mediaserver kernel: [211822.287758] EXT4-fs (sdc1): warning: mounting fs with errors, running e2fsck is recommended
Nov 11 08:29:05 mediaserver kernel: [211822.301699] EXT4-fs (sdc1): mounted filesystem with ordered data mode. Opts: errors=remount-ro

嘗試手動讀取扇區:

sudo dd count=1 if=/dev/sdc of=/dev/null skip=2944614392
dd: reading ‘/dev/sdc’: Input/output error
0+0 records in
0+0 records out
0 bytes (0 B) copied, 5.73077 s, 0.0 kB/s

試圖寫信給它:

sudo dd count=1 if=/dev/zero of=/dev/sdc seek=2944614392
dd: writing to ‘/dev/sdc’: Input/output error
1+0 records in
0+0 records out
0 bytes (0 B) copied, 2.87869 s, 0.0 kB/s

在這兩個方面,Reallocated_Sector_Ct仍然為 0。

驅動器確實經常進入睡眠狀態。我現在認為這可能是文件系統問題?我不是100%。

壞扇區總是表明硬碟出現故障,事實上,當您看到這樣的 I/O 錯誤時,您可能已經失去/損壞了一些數據。如果您還沒有備份,請進行備份,執行自檢smartctl -t long /dev/disk並檢查 SMART 數據smartctl -a /dev/disk。如果可以的話,換一個。

壞扇區無法修復,只能由保留扇區替換,這會損害硬碟性能,因為每次訪問它們時都需要對保留扇區進行額外的查找。在文件系統層將此類扇區標記為壞扇區會有所幫助,因為那時它們將永遠不會被訪問;但是很難確定磁碟已經重新分配了哪些扇區,因此文件系統很可能不知道要避開受影響的區域。

引用自:https://unix.stackexchange.com/questions/99553