I am trying to replace a drive in a raidz pool. The pool used to have 3 1TB drives and one went bad. I am trying to replace it with a 2TB drive that I have (I know -- this won't give me any more space and is a waste of that extra TB
Things seemed ok at first. The `zpool replace` command works fine and resilvering begins:
- Code: Select all
pool: franklin
state: DEGRADED
status: One or more devices is currently being resilvered. The pool will
continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
scan: resilver in progress since Thu Sep 28 10:29:37 2017
22.4M scanned out of 2.34T at 104K/s, (scan is slow, no estimated time)
7.29M resilvered, 0.00% done
config:
NAME STATE READ WRITE CKSUM
franklin DEGRADED 0 0 0
raidz1-0 DEGRADED 0 0 0
media-E97A7C83-B4CA-4DAA-BF5A-8F890ED5B6C2 ONLINE 0 0 0
media-9241F0DE-1023-438C-81A7-31D78390484A ONLINE 0 0 0
replacing-2 DEGRADED 0 0 18
10979512111072834080 UNAVAIL 0 0 0 was /private/var/run/disk/by-id/media-FFE58D75-EBC6-4B1A-ACB3-701BD9B85FB2
media-5250DAB9-9838-6345-98EE-539D7FD591F7 ONLINE 0 0 0 (resilvering)
But a few minutes into resilvering, the replacement drive state switches from "ONLINE" to "REMOVED":
- Code: Select all
pool: franklin
state: DEGRADED
status: One or more devices is currently being resilvered. The pool will
continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
scan: resilver in progress since Thu Sep 28 10:29:37 2017
33.7M scanned out of 2.34T at 67.4K/s, (scan is slow, no estimated time)
7.29M resilvered, 0.00% done
config:
NAME STATE READ WRITE CKSUM
franklin DEGRADED 0 0 0
raidz1-0 DEGRADED 0 0 0
media-E97A7C83-B4CA-4DAA-BF5A-8F890ED5B6C2 ONLINE 0 0 0
media-9241F0DE-1023-438C-81A7-31D78390484A ONLINE 0 0 0
replacing-2 UNAVAIL 0 2 18 insufficient replicas
10979512111072834080 UNAVAIL 0 0 0 was /private/var/run/disk/by-id/media-FFE58D75-EBC6-4B1A-ACB3-701BD9B85FB2
media-5250DAB9-9838-6345-98EE-539D7FD591F7 REMOVED 0 0 0 (resilvering)
What's more, the drive stops showing up in `diskutil list` and is no longer present in `/dev/`. It's like the reslivering process obliterates the drive from the OS's awareness.
The pool keeps scanning, but resilvering sticks where it is (0.0%). If I reboot the computer it starts this whole process over again with the same outcome. `zpool scrub` and `zpool clear` do what they're supposed to but don't fix the issue.
Anyone have thoughts? Is it a bad drive? An incompatible drive? (I had to set the ashift value of the new drive to be compatible with the pool...). A problem with the OS? Where can I go to diagnose what's going on?
Any help would be much appreciated!