我有以下 zpool 配置:
zpool status
NAME STATE READ WRITE CKSUM
data ONLINE 0 0 0
raidz2-0 ONLINE 0 0 0
da1 ONLINE 0 0 0
da0 ONLINE 0 0 0
da3 ONLINE 0 0 0
da4 ONLINE 0 0 0
da2 ONLINE 0 0 0
da5 ONLINE 0 0 0
da7 ONLINE 0 0 0
da6 ONLINE 0 0 0
raidz2-1 ONLINE 0 0 0
da21 ONLINE 0 0 1 (repairing)
da14 ONLINE 0 0 0
da22 ONLINE 0 0 0
da23 ONLINE 0 0 0
da13 ONLINE 0 0 0
da9 ONLINE 0 0 0
da12 ONLINE 0 0 0
da20 ONLINE 0 0 0
raidz2-2 ONLINE 0 0 0
da11 ONLINE 0 0 0
da18 ONLINE 0 0 0
da8 ONLINE 0 0 0
da10 ONLINE 0 0 0
da15 ONLINE 0 0 0
da16 ONLINE 0 0 0
da17 ONLINE 0 0 0
da19 ONLINE 0 0 0
da21 每两周左右就会有 1 次 CKSUM 失败。我是否需要立即更换它,还是应该等到出现更多错误?我比较谨慎,但也不想更换一个完好无损的磁盘。
要真正做到这一点,以下步骤正确吗?官方指南(https://docs.oracle.com/cd/E23823_01/html/819-5461/gbbvf.html#gbcet) 中间有一些依赖于“cfgadm”的步骤,但我在 freebsd 上没有这个步骤,所以我宁愿确保在开始动手之前不要做一些愚蠢的事情。
zpool offline da21
<*physically replace device*>
zpool online daXX
zpool replace data da21 daXX
我可以在擦洗期间执行此操作吗?还是应该等待擦洗完成/停止?
任何帮助都将不胜感激:)
答案1
da21 每两周左右就会有 1 次 CKSUM 失败。我是否需要立即更换它,还是应该等到出现更多错误?我比较谨慎,但也不想更换一个完好无损的磁盘。
我会先更换电缆,然后检查问题是否仍然存在于另一个托架/另一个机箱/另一个控制器中(如果可能的话)。我在其中一种情况下遇到了大多数校验和错误。故障磁盘通常显示为读取或写入错误。
与另一次全盘替换相比,它本质上也是免费的,如果错误仍然存在,您仍然可以进行全盘替换(尤其是在 Z2 或 Z3 上,此时采取行动的压力要小得多)。当然,如果您不能承担丝毫风险,您就不应该这样做 - 但在这种情况下,您已经使用 Z3 或多个镜像了,不是吗?而且您仍然有最新的、经过验证的备份,因此风险非常小。
我可以在擦洗期间执行此操作吗?还是应该等待擦洗完成/停止?
如果有时间,我总是会等待清理完成。这样您就可以确保 vdev 中的其他磁盘不会出现隐藏的错误,如果在移除磁盘之前没有发现这些错误,可能会导致严重损坏(取决于您的附加磁盘级别)。
如果没有时间,只需使用 取消擦洗即可zpool scrub -s <poolname>
。
答案2
就我个人而言,我现在就更换它。不用担心它以后会出问题,然后不得不手忙脚乱地寻找替代品。
它们是热插拔的吗?我只需弹出旧的,然后插入新的。如果您可以避免在清理运行时执行此操作,那么就这样做吧。