SMART 显示无法读取的扇区,btrfs 清理干净 - 哪个是正确的?

dkd*_*kd6 8 storage smart btrfs

我有一对 RAID1 磁盘,格式为btrfs.

磁盘会定期进行清理,我会收到结果通知。他们已经运行了大约 2-3 年,没有出现任何问题。

然而,我最近添加smartd到我的安装中,它立即抱怨其中一个驱动器中有少量不可读的扇区:

Device: /dev/sdc [SAT], 4 Currently unreadable (pending) sectors
Run Code Online (Sandbox Code Playgroud)

我对该驱动器进行了擦洗,发现并纠正了相同数量的错误,但智能错误消息并没有消失。对同一磁盘的后续擦洗不会显示任何错误。

我不确定这些工具中哪个最准确 - 是smartd显示误报,还是btrfs缺少坏扇区,或者也许我误解了结果?

验证磁盘运行状况的最佳方法是什么?

谢谢!

sho*_*hok 12

大多数磁盘都实现所谓的“表面区域扫描”,该扫描会自动定期运行。这种扫描发生在整个磁盘表面,甚至在空/空闲区域上。另一方面,btrfs清理仅检查已用空间,这意味着不会检查空磁盘区域。

btrfs这意味着 SMART 在未使用的扇区上发现了一些问题,但仅仅因为它没有使用这些扇区而无法识别它们。

如果 SMART 错误快速攀升,我建议尽快更换故障驱动器。


Hal*_*aar 12

Shodanshok 的答案非常好,但要回答你的字面问题:

验证磁盘运行状况的最佳方法是什么?

对其进行完整的写。磁盘的固件已将这些扇区标记为待重新分配。当它们被写入时它可以做到这一点。这将“修复”扇区,或者生成重新分配的扇区,您也可以在 SMART 中看到这一点。

理论上,您可以在磁盘上执行延迟读取扫描。这通常说明了行业的可靠性。

实际上,可能是时候更换磁盘了。这是我所关注的失败的前奏之一。另一个是系统日志中的“ata 异常”。它们通常发生在 mdadm(或 RAID 控制器)启动驱动器之前,我怀疑 btrfs 类似(尽管我没有经验)。