Cli*_*ton 6 hard-disk smartctl
我今天收到通知,我的驱动器将在 24 小时内出现故障。'Reallocated_Sector_Ct' 已经在 3000 左右,并且在过去几个小时内升至 4004。然而,几周前我把我的情况从一边倒过来,并试图把它直立起来。从那时起,'Reallocated_Sector_Ct' 就没有上升,即使目前有很多磁盘活动,因为我正在将我的重要数据 tar/zip 压缩到另一个驱动器。
我知道硬盘无法从侧面读取是一个问题,但如果将硬盘直立放置似乎暂时可以解决问题,至少我不必那么恐慌。
有没有办法可以对那些“坏扇区”进行重新测试,并在它们通过测试后将它们标记为好?我想看看有多少“真正的”坏扇区在重新测试后将盒子直立(当然我会在备份完成后这样做)。
如果这有什么不同,我正在使用 Debian。
kei*_*u4U 12
我只能支持冯布兰德的回答。在过去的一个月里,我看到至少有两个 HDD 在 SMART 中预故障后死亡。
但是,您最好的选择可能不是 SMART 本身,而是badblocks
实用程序。
您可以让badblocks
读取和重写整个磁盘,从而强制您的 HDD 重新分配挂起的扇区。这通常工作得很好。
如果您没有时间运行badblocks
(在更大的磁盘上可能需要几天时间),您可以尝试读取 SMART 错误日志(smartctl -x /dev/<hdd>
并获取损坏扇区的列表。
然后您可以使用hdparm
读取扇区:
hdparm --read-sector <sector> /dev/<hdd>`
Run Code Online (Sandbox Code Playgroud)
如果失败,则使用强制重新映射
hdparm --yes-i-know-what-i-am-doing --write-sector <sector> /dev/<hdd>`
Run Code Online (Sandbox Code Playgroud)
这很有效(至少对于 WD-Green 驱动器,您不能告诉其他驱动器的任何信息)
如果您有dmesg
失败扇区的日志消息,那就更容易了。
sectors=$(dmesg | grep <hdd> | grep sector | awk '{print $8}')
for s in $sectors; do <hdparm stuff>; done
Run Code Online (Sandbox Code Playgroud)
在再次安装卷之前做一个强制 fsck
fsck -f -y /dev/<hdd>
Run Code Online (Sandbox Code Playgroud)
并假设昨天有驱动器死在你身上!
祝你好运 :)
归档时间: |
|
查看次数: |
10827 次 |
最近记录: |