几天前,我注意到我家服务器上的 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
根据文档:
通过分离热备用可以取消正在进行的备用更换。
听起来你做了手动替换,但拆卸新磁盘可能会起到相同的作用。