Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Dec 2009 14:18:20 -0800
From:      Steven Schlansker <stevenschlansker@gmail.com>
To:        freebsd-fs@freebsd.org
Subject:   ZFS: Can't repair raidz2 (Cannot replace a replacing device)
Message-ID:  <048AF210-8B9A-40EF-B970-E8794EC66B2F@gmail.com>

next in thread | raw e-mail | index | archive | help
Hello fellow FreeBSDers,
I've got a nice shiny ZFS raidz2 array set up,
but it's gotten stuck in a DEGRADED state and I can't
figure out how to recover!
Here's the array as it stands now:

[steven@universe:~]% sudo zpool status
  pool: universe
 state: DEGRADED
 scrub: scrub in progress for 0h9m, 2.19% done, 6h41m to go
config:

        NAME                       STATE     READ WRITE CKSUM
        universe                   DEGRADED     0     0     0
          raidz2                   DEGRADED     0     0     0
            ad16                   ONLINE       0     0     0
            replacing              UNAVAIL      0 5.93K     0  =
insufficient replicas
              3961920099899285277  UNAVAIL      0 7.11K     0  was =
/dev/concat/back0/old
              6170688083648327969  UNAVAIL      0 7.11K     0  was =
/dev/ad12
            ad8                    ONLINE       0     0     0
            concat/back2           ONLINE       0     0     0
            ad10                   ONLINE       0     0     0
            concat/ad4ex           ONLINE       0     0     0
            ad24                   ONLINE       0     0     0
            concat/ad6ex           ONLINE       0     0     0

errors: No known data errors

One of my drives failed.  I replaced it, and in the process of replacing
accidentally pulled the other drive.  Now, I can't seem to fix it in any =
way -

[steven@universe:~]% sudo zpool replace universe 3961920099899285277 =
ad26
cannot replace 3961920099899285277 with ad26: cannot replace a replacing =
device
[steven@universe:~]% sudo zpool replace universe 6170688083648327969 =
ad26
cannot replace 6170688083648327969 with ad26: cannot replace a replacing =
device
[steven@universe:~]% sudo zpool detach universe 6170688083648327969
cannot detach 6170688083648327969: no valid replicas
[steven@universe:~]% sudo zpool detach universe 3961920099899285277
cannot detach 3961920099899285277: no valid replicas


Any thoughts?

As a corollary, you may notice some funky concat business going on.
This is because I have drives which are very slightly different in size =
(< 1MB)
and whenever one of them goes down and I bring the pool up, it helpfully =
(?)
expands the pool by a whole megabyte then won't let the drive back in.
This is extremely frustrating... is there any way to fix that?  I'm
eventually going to keep expanding each of my drives one megabyte at a =
time
using gconcat and space on another drive!  Very frustrating...

Thank you for any suggestions,
Steven=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?048AF210-8B9A-40EF-B970-E8794EC66B2F>