ZFS 在 freebsd 中更换磁盘,如何以及何时更换

ZFS 在 freebsd 中更换磁盘,如何以及何时更换

我有以下 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

就我个人而言,我现在就更换它。不用担心它以后会出问题,然后不得不手忙脚乱地寻找替代品。

它们是热插拔的吗?我只需弹出旧的,然后插入新的。如果您可以避免在清理运行时执行此操作,那么就这样做吧。

相关内容