Hi guys!

I'm doing series of tests on ZFS before putting it into production on several 
machines, and I've come to a dead end. I have two disks in mirror (rpool). 
Intentionally, I corrupt data on second disk:

# dd if=/dev/urandom of=/dev/rdsk/c0d1t0 bs=512 count=20480 seek=10240

So, I've written 10MB's of random data after first 5MB's of hard drive. After 
sync and reboot, ZFS got the corruption noticed, and then I run zpool scrub 
rpool. After that, I've got this state:

unknown# zpool status
  pool: rpool
 state: DEGRADED
status: One or more devices has experienced an unrecoverable error.  An
        attempt was made to correct the error.  Applications are unaffected.
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 in progress for 0h0m, 5.64% done, 0h5m to go
config:

        NAME        STATE     READ WRITE CKSUM
        rpool       DEGRADED     0     0     0
          mirror    DEGRADED     0     0     0
            c0d1s0  DEGRADED     0     0    26  too many errors
            c0d0s0  ONLINE       0     0     0

errors: No known data errors


So I wonder now, how to fix this up? Why doesn't scrub overwrite bad data with 
good data from first disk?

If I run zpool clear, it will only clear the error reports, and it won't fixed 
them - I presume that because I don't understand the man page for that section 
clearly.

So, how can I fix this disk, without detach/attach procedure?
-- 
This message posted from opensolaris.org
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to