ZFS:如何停止目前正在进行的 zpool 替换?

ZFS:如何停止目前正在进行的 zpool 替换?

几天前,我注意到我家服务器上的 ZFS 池已开始自行重新分配磁盘,但不再取得任何进展。该磁盘有一些 SMART 错误(但并不认为自己已发生故障),因此我决定用备用磁盘替换它。我这样做了,但我的备用磁盘现在生成了大量 DMA_WRITE 错误,并且一旦达到 10% 左右,替换后的重新分配就会重新启动。

我现在想暂时用 USB 磁盘替换原始磁盘和备用磁盘。我已使用“zpool scrub -s tank”停止了重新分区。但是,两个磁盘仍列为“正在替换”,不允许再次替换,而且我似乎无法让它们脱离该状态。

如何在 zpool replace 完成之前停止/取消它?

我正在使用带有 5 磁盘 RAIDZ 阵列的 FreeBSD 8.1-RELEASE。

答案1

所以,我最近遇到了一个问题,我正在更换一个驱动器,一旦开始重新分配,新的驱动器就崩溃了。

我将其拔出并替换为之前的驱动器(仍然可以工作,只是增加了容量),但是当我运行 zpool status 时仍然有“替换”位。

以下是让我恢复正常的方法:

zpool detach mypoolname /dev/disk/by-id/scsi-SATA_XYZ

现在一切似乎都很好。

答案2

我刚刚做了这样的分离并且成功了!

zpool detach storage c9t24d1

而 c9t24d1 是一个热备用,我刚刚将它添加到我的一个镜像中,因为我认为我们没有可用的驱动器来替换发生故障的驱动器。

在热备用完成重新镀银之前将新驱动​​器放入我的线轴后,我只需分离备用驱动器以停止镀银过程即可。

之后,我用新硬盘替换了坏硬盘。对于我们来说,24 个硬盘池中最多只能进行一次镀银过程。如果同时进行 2 次镀银过程,会对我们的用户造成很大伤害。

希望这可以帮助处于同样境况的其他人。

答案3

根据文档:

通过分离热备用可以取消正在进行的备用更换。

听起来你做了手动替换,但拆卸新磁盘可能会起到相同的作用。

相关内容