A few days ago, I noticed that the ZFS pool on my home server had started reslivering a disk by itself but was no longer making any progress. The disk had some SMART errors (but did not consider itself failed), so I decided to replace it with a spare. I did that, but my spare disk is now generating a large number of DMA_WRITE errors, and the reslivering from the replace is restarting once it gets to 10% or so.
I now want to temporarily replace both the original disk and the spare disk with a USB disk. I've stopped the resliver with "zpool scrub -s tank". However, both the disks are still listed as "replacing" and won't allow another replace, and I can't seem to get them out of that state.
How can I stop/cancel a zpool replace before it's completed?
I am using FreeBSD 8.1-RELEASE with a 5-disk RAIDZ array.
Best Answer
So, I just recently had an issue where I was replacing a drive, and as soon as reslivering started, the new drive bombed out.
I yanked and replaced w/ the previous drive (still worked, just was increasing capacity), but still had the "replacing" bits when I ran zpool status.
Here's what got me back to normal:
zpool detach mypoolname /dev/disk/by-id/scsi-SATA_XYZ
All seems well now.