Date: Wed, 29 Jul 2009 21:33:20 -0700 From: Ludwig Pummer <ludwigp@chip-web.com> To: freebsd-fs@freebsd.org Subject: ZFS raidz1 pool unavailable from losing 1 device Message-ID: <4A712290.9030308@chip-web.com>
next in thread | raw e-mail | index | archive | help
Hello,
I found myself with a 4-drive raidz1 pool that was put into the UNAVAIL
state ("insufficient replicas") when 3 drives shows ONLINE and 1 showed
UNAVAIL. Can anyone suggest how I can get out of this pickle?
Here's the full backstory:
My system is 7.2-STABLE Jul 27, amd64, 4GB memory, just upgraded from
6.4-STABLE from last year. I just set up a ZFS raidz volume to replace a
graid5 volume I had been using. I had it successfully set up using
partitions across 4 disks, ad{6,8,10,12}s1e. Then I wanted to expand the
raidz volume by merging the space from the adjacent disk partition. I
thought I could just fail out the partition device in ZFS, edit the
bsdlabel, and re-add the larger partition, ZFS would resilver, repeat
until done. That's when I found out that ZFS doesn't let you fail out a
device in a raidz volume. No big deal, I thought, I'll just go to single
user mode and mess with the partition when ZFS isn't looking. When it
comes back up it should notice that one of the device is gone, I can do
a 'zfs replace' and continue my plan.
Well, after rebooting to single user mode, combining partitions ad12s1d
and ad12s1e (removed the d partiton), "zfs volinit", then "zpool status"
just hung (Ctrl-C didn't kill it, so I rebooted). I thought this was a
bit odd so I thought perhaps ZFS is confused by the ZFS metadata left on
ad12s1e, so I blanked it out with "dd". That didn't help. I changed the
name of the partition to ad12s1d thinking perhaps that would help. After
that, "zfs volinit; zfs mount -a; zpool status" showed my raidz pool
UNAVAIL with the message "insufficient replicas", ad{6,8,10}s1e ONLINE,
and ad12s1e UNAVAIL "cannot open", and a more detailed message pointing
me to http://www.sun.com/msg/ZFS-8000-3C. I tried doing a "zpool replace
storage ad12s1e ad12s1d" but it refused, saying my zpool ("storage") was
unavailable. Ditto for pretty much every zpool command I tried. "zpool
clear" gave me a "permission denied" error.
After some more searching of forums/mailing lists, I ran across one that
suggested exporting & importing the zpool. I'm afraid that didn't fix my
problem. The export worked, but now I cannot import the volume again
("cannot import 'storage': pool may be in use from other system", or
with -f, "cannot import 'storage': one or more devices is currently
unavailable").
Help!
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4A712290.9030308>
