Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 Apr 2007 13:19:55 +0200
From:      Pawel Jakub Dawidek <pjd@FreeBSD.org>
To:        Barry Pederson <bp@barryp.org>
Cc:        freebsd-fs@FreeBSD.org
Subject:   Re: ZFS raidz device replacement problem
Message-ID:  <20070415111955.GB16971@garage.freebsd.pl>
In-Reply-To: <46205338.3090803@barryp.org>
References:  <46205338.3090803@barryp.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--eJnRUKwClWJh1Khz
Content-Type: text/plain; charset=iso-8859-2
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, Apr 13, 2007 at 11:06:16PM -0500, Barry Pederson wrote:
> I've been playing with ZFS (awesome stuff, thanks PJD) and noticed someth=
ing funny when replacing a device under a raidz pool.  It seems that even t=
hough ZFS says=20
> resilvering is complete, you still need to manually do a "zpool scrub" to=
 really get the pool into a good state.

How do you tell it's not in a good state?

> From what I've read in the "Solaris ZFS Administration Guide", it doesn't=
 seem that that step should be required.  Is there some kind of auto-scrub =
being missed?
>=20
> I've tried to show this below with some md devices, creating 4 of them, p=
utting 3 into a raidz and then replacing one.  This is with a world and ker=
nel csupped and built=20
> earlier today (2007-04-13)
[...]
> # zpool create mypool raidz md0 md1 md2
[...]
> # zpool replace mypool md2 md3
[...]
> # zpool status mypool
>   pool: mypool
>  state: ONLINE
>  scrub: resilver completed with 0 errors on Fri Apr 13 22:43:19 2007
> config:
>=20
>         NAME           STATE     READ WRITE CKSUM
>         mypool         ONLINE       0     0     0
>           raidz1       ONLINE       0     0     0
>             md0        ONLINE       0     0     0
>             md1        ONLINE       0     0     0
>             replacing  ONLINE       0     0     0
>               md2      ONLINE       0     0     0
>               md3      ONLINE       0     0     0

Do you mean that resilver is completed, but it is still replacing? ZFS
resilvers only live data, those md's was free, so it completed
immediately.

> # zpool status mypool
>   pool: mypool
>  state: ONLINE
>  scrub: resilver completed with 0 errors on Fri Apr 13 22:43:19 2007
> config:
>=20
>         NAME        STATE     READ WRITE CKSUM
>         mypool      ONLINE       0     0     0
>           raidz1    ONLINE       0     0     0
>             md0     ONLINE       0     0     0
>             md1     ONLINE       0     0     0
>             md3     ONLINE       0     0     0

It looks everything is fine. What's wrong?

> # zpool scrub mypool
>=20
> # zpool status mypool
>   pool: mypool
>  state: ONLINE
> status: One or more devices has experienced an unrecoverable error.  An
>         attempt was made to correct the error.  Applications are unaffect=
ed.
> action: Determine if the device needs to be replaced, and clear the errors
>         using 'zpool clear' or replace the device with 'zpool replace'.
>    see: http://www.sun.com/msg/ZFS-8000-9P
>  scrub: scrub completed with 0 errors on Fri Apr 13 22:43:46 2007
> config:
>=20
>         NAME        STATE     READ WRITE CKSUM
>         mypool      ONLINE       0     0     0
>           raidz1    ONLINE       0     0     0
>             md0     ONLINE       0     0     0
>             md1     ONLINE       0     0     0
>             md3     ONLINE       0     0     5

If you are referring to this CKSUM count not beeing 0, this was a bug in
ZFS itself, and was fixes in OpenSolaris already and fix was merged to
FreeBSD.

--=20
Pawel Jakub Dawidek                       http://www.wheel.pl
pjd@FreeBSD.org                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!

--eJnRUKwClWJh1Khz
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (FreeBSD)

iD4DBQFGIgpbForvXbEpPzQRAjhdAJd4VOMEq5V6tzfd7vIOK2gRmfh6AJ93BK2g
fd0ANARFcae6ykqw53VYFg==
=U0I+
-----END PGP SIGNATURE-----

--eJnRUKwClWJh1Khz--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070415111955.GB16971>