我的 zpool 中刚刚出现两个磁盘故障,出现读/写错误,因此我将它们取出并插入另一台主机,仅使用它们创建了一个 zpool,并用
dd if=/dev/zero of=/crashpool/zero bs=1M count=1000000000000
当文件系统达到最大容量时,我预计会看到相同的错误zpool status
,但磁盘并没有出现故障。
问题
当 ZFS 刚刚报告磁盘有读/写错误时,为什么我无法在另一台主机上重现错误?
答案1
只是因为你能并不意味着你应该。ZFS 并没有骗你。如果它在池的上下文中报告磁盘损坏,我可能不会在其他地方使用这些驱动器。
答案2
如果一定要我猜的话,我会说电缆或控制器可能出了问题。可能是数据线松动之类的简单问题,也可能是控制器本身出了问题。如果您在原始主机上添加了替换驱动器并执行了重新同步,我会说您应该检查 zpool status 或/和 dmesg 的输出以查找任何内核错误。
当然,syneticon-dj 的评论是有道理的。磁盘可能已经替换了 dd 命令导致的任何错误扇区,在这种情况下,我怀疑您是否能够轻松重现错误。