[zfs-discuss] Replacing faulty disk in ZFS pool
Don Turnbull
turnbulldw at yahoo.com
Thu Aug 6 13:13:19 PDT 2009
I believe there are a couple of ways that work. The commands I've
always used are to attach the new disk as a spare (if not already) and
then replace the failed disk with the spare. I don't know if there are
advantages or disavantages but I also have never had a problem doing it
this way.
Andreas Höschler wrote:
> Dear managers,
>
> one of our servers (X4240) shows a faulty disk:
>
> ------------------------------------------------------------------------
> -bash-3.00# zpool status
> pool: rpool
> state: ONLINE
> scrub: none requested
> config:
>
> NAME STATE READ WRITE CKSUM
> rpool ONLINE 0 0 0
> mirror ONLINE 0 0 0
> c1t0d0s0 ONLINE 0 0 0
> c1t1d0s0 ONLINE 0 0 0
>
> errors: No known data errors
>
> pool: tank
> state: DEGRADED
> status: One or more devices are faulted in response to persistent
> errors.
> Sufficient replicas exist for the pool to continue functioning
> in a
> degraded state.
> action: Replace the faulted device, or use 'zpool clear' to mark the
> device
> repaired.
> scrub: none requested
> config:
>
> NAME STATE READ WRITE CKSUM
> tank DEGRADED 0 0 0
> mirror ONLINE 0 0 0
> c1t2d0 ONLINE 0 0 0
> c1t3d0 ONLINE 0 0 0
> mirror ONLINE 0 0 0
> c1t5d0 ONLINE 0 0 0
> c1t4d0 ONLINE 0 0 0
> mirror DEGRADED 0 0 0
> c1t6d0 FAULTED 0 19 0 too many errors
> c1t7d0 ONLINE 0 0 0
>
> errors: No known data errors
> ------------------------------------------------------------------------
> I derived the following possible approaches to solve the problem:
>
> 1) A way to reestablish redundancy would be to use the command
>
> zpool attach tank c1t7d0 c1t15d0
>
> to add c1t15d0 to the virtual device "c1t6d0 + c1t7d0". We still would
> have the faulty disk in the virtual device.
>
> We could then dettach the faulty disk with the command
>
> zpool dettach tank c1t6d0
>
> 2) Another approach would be to add a spare disk to tank
>
> zpool add tank spare c1t15d0
>
> and the replace to replace the faulty disk.
>
> zpool replace tank c1t6d0 c1t15d0
>
> In theory that is easy, but since I have never done that and since this
> is a productive server I would appreciate if somone with more
> experience would look on my agenda before I issue these commands.
>
> What is the difference between the two approaches? Which one do you
> recommend? And is that really all that has to be done or am I missing a
> bit? I mean can c1t6d0 be physically replaced after issuing "zpool
> dettach tank c1t6d0" or "zpool replace tank c1t6d0 c1t15d0"? I also
> found the command
>
> zpool offline tank ...
>
> but am not sure whether this should be used in my case. Hints are
> greatly appreciated!
>
> Thanks a lot,
>
> Andreas
>
> _______________________________________________
> zfs-discuss mailing list
> zfs-discuss at opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/zfs-discuss
>
>
More information about the zfs-discuss
mailing list