Andreas,
I think you can still offline the faulted disk, c1t6d0.
The difference between these two replacements:
zpool replace tank c1t6d0 c1t15d0
zpool replace tank c1t6d0
Is that in the second case, you are telling ZFS that c1t6d0
has been physically replaced in the same location. This would
be equivalent but unnecessary syntax:
zpool replace tank c1t6d0 c1t6d0
Another option is to set the autoreplace pool property to on,
which will do the replacement steps (zpool replace) after
you physically replace the disk in the same physical location
as the faulted disk. This is also described in Example 11-1,
here:
http://docs.sun.com/app/docs/doc/819-5461/gbbvf?a=view
After you physically replace c1t6d0, then you might have
to detach the spare, c1t15d0, back to the spare pool,
like this:
# zpool detach tank c1t15d0
I'm not sure this step is always necessary...
cs
On 08/06/09 15:05, Andreas Höschler wrote:
Hi all,
zpool add tank spare c1t15d0
? After doing that c1t6d0 is offline and ready to be physically
replaced?
Yes, that is correct.
Then you could physically replace c1t6d0 and add it back to the pool as
a spare, like this:
# zpool add tank spare c1t6d0
For a production system, the steps above might be the most efficient.
Get the faulted disk replaced with a known good disk so the pool is
no longer degraded, then physically replace the bad disk when you have
the time and add it back to the pool as a spare.
It is also good practice to run a zpool scrub to ensure the
replacement is operational
That would be
zpool scrub tank
in my case!?
Yes.
and use zpool clear to clear the previous
errors on the pool.
I assume teh complete comamnd fo rmy case is
zpool clear tank
Why d we have to do that. Couldb't zfs realize that everything is
fine again after executing "zpool replace tank c1t6d0 c1t15d0"?
Yes, sometimes the clear is not necessary but it will also clear the
error counts if need be.
I have done
zpool add tank spare c1t15d0
zpool replace tank c1t6d0 c1t15d0
now and waited for the completion of the resilvering process. "zpool
status" now gives me
scrub: resilver completed after 0h22m with 0 errors on Thu Aug 6
22:55:37 2009
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
spare DEGRADED 0 0 0
c1t6d0 FAULTED 0 19 0 too many errors
c1t15d0 ONLINE 0 0 0
c1t7d0 ONLINE 0 0 0
spares
c1t15d0 INUSE currently in use
errors: No known data errors
This does look like a final step is missing. Can I simply physically
replace c1t6d0 now or do I have to do
zpool offline tank c1t6d0
first? Moreover it seems I have to run a
zpool clear
in my case to get rid of the DEGRADED message!? What is the missing bit
here?
zpool offline tank c1t6d0
<physically replace c1t6d0 with a new one>
zpool replace tank c1t6d0
zpool online tank c1t6d0
Just out of curiosity (since I used the other road this time), how does
the replace command know what exactly to do here. In my case I ordered
the system specifically to replace c1t6d0 with c1t15d0 by doing "zpool
replace tank c1t6d0 c1t15d0" but if I simply issue
zpool replace tank c1t6d0
it ...!??
Thanks a lot,
Andreas
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss