我有一对 RAID1 格式的磁盘btrfs
。
磁盘会定期进行清理,我会收到清理结果通知。它们已经运行了大约 2-3 年,没有出现任何问题。
但是,我最近添加smartd
到我的安装中,它立即抱怨其中一个驱动器中有少量无法读取的扇区:
Device: /dev/sdc [SAT], 4 Currently unreadable (pending) sectors
我对该驱动器进行了清理,发现并更正了相同数量的错误,但智能错误消息并未消失。对同一磁盘进行的后续清理未显示任何错误。
我不确定哪一个工具最准确 - 是smartd
显示误报,还是缺少btrfs
坏扇区,或者也许我误解了结果?
验证磁盘健康状况的最佳方法是什么?
谢谢!
答案1
Shodanshok 的回答非常好,但要回答你的字面问题:
验证磁盘健康状况的最佳方法是什么?
对其进行完全写入。磁盘固件已将这些扇区标记为待重新分配。它可以在写入时执行此操作。这将“修复”扇区,或生成重新分配的扇区,您也可以在 SMART 中看到这些扇区。
然后理论上你可以对磁盘进行延迟读取扫描。这通常可以说明扇区的可靠性。
从实际角度来看,可能是时候更换磁盘了。这是我关注的故障前兆之一。另一个是系统日志中的“ata 异常”。它们通常发生在 mdadm(或 RAID 控制器)启动驱动器之前,我怀疑 btrfs 也类似(尽管我没有经验)。
答案2
大多数磁盘都会实现所谓的“表面区域扫描”,该扫描会自动定期运行。这种扫描发生在整个磁盘表面,即使是在空的/空闲的区域。另一方面,btrfs
scrub 只检查已用空间,这意味着不检查空白磁盘区域。
btrfs
这意味着 SMART 在未使用的扇区上发现了一些问题,但由于 SMART 没有使用这些扇区,因此无法识别这些问题。
如果 SMART 错误迅速增加,我建议尽快更换故障的驱动器。