Re: [zfs-discuss] Corrupt Array

2011-12-22 Thread Bob Friesenhahn

On Thu, 22 Dec 2011, Gareth de Vaux wrote:


On Thu 2011-12-22 (10:09), Bob Friesenhahn wrote:

One of your disks failed to return a sector.  Due to redundancy, the
original data was recreated from the remaining disks.  This is normal
good behavior (other than the disk failing to read the sector).


So those checksum counts were historical?


Yes.  When a problem is detected and there is enough redundancy to 
resolve the problem, then the bad data block is not used any more and 
the corrected data is relocated somewhere else on the drive (I not 
sure if zfs does this, or if it requests that drive firmware do this). 
The count reflects that problems were found but does not reflect if a 
correction was made.  Other text describes any continuing issues which 
were found.



I did a scrub and what worries me is that it came back with 0 issues
when clearly there were considering what happens when I kick 1 disk
out.


Zero issues seems like a good thing.  Resilvering the disk in the pool 
performed most of the functions that scrub does so it should not 
surprise that there are no more issues remaining.



Similarly I've seen that 'zpool clear' just sets you up for problems
down the line. It just pretends there aren't errors.


As far as I am aware, the data cleared by 'zpool clear' is for 
administrators to confirm they are aware the issue occured.  A good 
administrator will consider any implications.  The decision made for a 
high capacity SATA drive should likely be different than that made for 
a low-capacity enterprise SAS drive.  Studies by Google suggest that 
SATA drives will experience many more block errors than enterprise SAS 
drives, and that higher error rates should be allowed from SATA drives 
than SAS drives when considering to replace the disk.  Drives which 
experience continually more block failures are doomed to fail.


Bob
--
Bob Friesenhahn
[email protected], http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,http://www.GraphicsMagick.org/
___
zfs-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


Re: [zfs-discuss] Corrupt Array

2011-12-22 Thread Gareth de Vaux
On Thu 2011-12-22 (09:13), Richard Elling wrote:
> Be happy. Dance a jig. Buy a lottery ticket.
> Notice: scrub repaired 85.5K in 1h21m with 0 errors on Mon Dec 19 06:24:25 
> 2011
> ZFS found corruption and fixed it.

lol, will do next time.

> oops... tempting the fates?
> Transient errors do occur, frequently. Not all errors are persistent or fatal.
> Given the information presented here, IMHO, this system did not warrant 
> further action.

Right, so I guess what happened is the array fixed itself, then 1 of the
drives picked up an error just before I decided to take a different drive
offline - so I caused the corruption. Only noticed the kernel message
afterwards :/
___
zfs-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


Re: [zfs-discuss] Corrupt Array

2011-12-22 Thread Gareth de Vaux
On Thu 2011-12-22 (10:09), Bob Friesenhahn wrote:
> One of your disks failed to return a sector.  Due to redundancy, the 
> original data was recreated from the remaining disks.  This is normal 
> good behavior (other than the disk failing to read the sector).

So those checksum counts were historical?

> Normally one would have done nothing other than 'zpool clear' after 
> thinking about the issue for a while.  If there were many failures to 
> read from that disk, or the failures continue to accumulate for the 
> same disk, then that would have been cause to replace it.
> 
> Doing a 'zpool scrub' is very much recommended in order to flush out 
> data which fails to read while redundancy is still available.

I did a scrub and what worries me is that it came back with 0 issues
when clearly there were considering what happens when I kick 1 disk
out.

Similarly I've seen that 'zpool clear' just sets you up for problems
down the line. It just pretends there aren't errors.

I managed to get the array back by resilvering, deleting affected
files, resilvering other disk, scrubbing etc. but I'm wondering whether
there's a way to diagnose and do this without completely removing and
resilvering an entire disk at a time?

> This is a bummer.  If you had a spare slot (or spare installed disk) 
> you could have installed a new disk and done a replace with the 
> existing disk still live.

Right, didn't think of that. Would've made it safer, but question
above still stands.
___
zfs-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


Re: [zfs-discuss] Corrupt Array

2011-12-22 Thread Richard Elling
On Dec 21, 2011, at 11:45 AM, Gareth de Vaux wrote:

> Hi guys, after a scrub my raidz array status showed:
> 
> # zpool status
>  pool: pool
> state: ONLINE
> 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
> scan: scrub repaired 85.5K in 1h21m with 0 errors on Mon Dec 19 06:24:25 2011
> config:
> 
>NAMESTATE READ WRITE CKSUM
>poolONLINE   0 0 0
>  raidz1-0  ONLINE   0 0 0
>ad18ONLINE   0 0 1
>ad19ONLINE   0 0 0
>ad10ONLINE   0 0 1
>ad4 ONLINE   0 0 0
> 
> errors: No known data errors
> 
> 
> I assume the checksum counts are current and irreconcilable. (Why does
> the scan say 'repaired with 0 errors' then?).
> 
> What should one do at this point?

Be happy. Dance a jig. Buy a lottery ticket.
Notice: scrub repaired 85.5K in 1h21m with 0 errors on Mon Dec 19 06:24:25 2011
ZFS found corruption and fixed it.

> 
> I rebooted and ran another scrub, this time it came up with 0 errors
> and 0 checksum counts, what does that mean?

ZFS found corruption and fixed it.

> 
> I then backed up the array, kicked out ad18 and resilvered it from scratch:

oops... tempting the fates?
Transient errors do occur, frequently. Not all errors are persistent or fatal.
Given the information presented here, IMHO, this system did not warrant further 
action.

> 
> # zpool status
>  pool: pool
> state: DEGRADED
> status: One or more devices has experienced an error resulting in data
>corruption.  Applications may be affected.
> action: Restore the file in question if possible.  Otherwise restore the
>entire pool from backup.
>   see: http://www.sun.com/msg/ZFS-8000-8A
> scan: resilvered 218G in 1h25m with 14 errors on Wed Dec 21 14:48:47 2011
> config:
> 
>NAME STATE READ WRITE CKSUM
>pool DEGRADED 0 014
>  raidz1-0   DEGRADED 0 028
>replacing-0  OFFLINE  0 0 0
>  ad18/old   OFFLINE  0 0 0
>  ad18   ONLINE   0 0 0
>ad19 ONLINE   0 0 0
>ad10 ONLINE   0 0 0
>ad4  ONLINE   0 0 0
> 
> errors: 11 data errors, use '-v' for a list
> 
> 
> and 'zpool status -v' gives me a list of affected files.
> 
> I assume I delete those files, then follow the same procedure on ad10?
> 
> 
> # uname -a
> FreeBSD file 8.2-STABLE FreeBSD 8.2-STABLE #0: Sat Nov 12 17:51:22 SAST 2011  
>root@file:/usr/obj/usr/src/sys/COWNEL  amd64
> 
> ZFS filesystem version 5
> ZFS storage pool version 28
> 
> 
> ps. I did get 1 disk alert in the logs during this whole process, half an 
> hour before resilvering:
> 
> Dec 21 12:41:48 file kernel: ad10: WARNING - READ_DMA48 UDMA ICRC error 
> (retrying request) LBA=306763504
> Dec 21 12:41:48 file kernel: ad10: FAILURE - READ_DMA48 
> status=51 error=10 LBA=306763504

This appears to be a [S]ATA error generated by the drive. If LBA 306763504 is a 
legal LBA, then
this can be one of the factors contributing to the original checksum error.
 -- richard

-- 

ZFS and performance consulting
http://www.RichardElling.com














___
zfs-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


Re: [zfs-discuss] Corrupt Array

2011-12-22 Thread Bob Friesenhahn

On Wed, 21 Dec 2011, Gareth de Vaux wrote:


I assume the checksum counts are current and irreconcilable. (Why does
the scan say 'repaired with 0 errors' then?).


One of your disks failed to return a sector.  Due to redundancy, the 
original data was recreated from the remaining disks.  This is normal 
good behavior (other than the disk failing to read the sector).



What should one do at this point?


Normally one would have done nothing other than 'zpool clear' after 
thinking about the issue for a while.  If there were many failures to 
read from that disk, or the failures continue to accumulate for the 
same disk, then that would have been cause to replace it.


Doing a 'zpool scrub' is very much recommended in order to flush out 
data which fails to read while redundancy is still available.



  see: http://www.sun.com/msg/ZFS-8000-8A
scan: resilvered 218G in 1h25m with 14 errors on Wed Dec 21 14:48:47 2011
config:

   NAME STATE READ WRITE CKSUM
   pool DEGRADED 0 014
 raidz1-0   DEGRADED 0 028
   replacing-0  OFFLINE  0 0 0
 ad18/old   OFFLINE  0 0 0
 ad18   ONLINE   0 0 0
   ad19 ONLINE   0 0 0
   ad10 ONLINE   0 0 0
   ad4  ONLINE   0 0 0

errors: 11 data errors, use '-v' for a list


and 'zpool status -v' gives me a list of affected files.


This is a bummer.  If you had a spare slot (or spare installed disk) 
you could have installed a new disk and done a replace with the 
existing disk still live.  Then you would be much less likely to 
encounter a data error since the original disk was still working. 
Raidz1 is not very robust when used with large disks and with one 
drive totally failed.


Bob
--
Bob Friesenhahn
[email protected], http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,http://www.GraphicsMagick.org/
___
zfs-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


[zfs-discuss] Corrupt Array

2011-12-21 Thread Gareth de Vaux
Hi guys, after a scrub my raidz array status showed:

# zpool status
  pool: pool
 state: ONLINE
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
 scan: scrub repaired 85.5K in 1h21m with 0 errors on Mon Dec 19 06:24:25 2011
config:

NAMESTATE READ WRITE CKSUM
poolONLINE   0 0 0
  raidz1-0  ONLINE   0 0 0
ad18ONLINE   0 0 1
ad19ONLINE   0 0 0
ad10ONLINE   0 0 1
ad4 ONLINE   0 0 0

errors: No known data errors


I assume the checksum counts are current and irreconcilable. (Why does
the scan say 'repaired with 0 errors' then?).

What should one do at this point?

I rebooted and ran another scrub, this time it came up with 0 errors
and 0 checksum counts, what does that mean?

I then backed up the array, kicked out ad18 and resilvered it from scratch:

# zpool status
  pool: pool
 state: DEGRADED
status: One or more devices has experienced an error resulting in data
corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
entire pool from backup.
   see: http://www.sun.com/msg/ZFS-8000-8A
 scan: resilvered 218G in 1h25m with 14 errors on Wed Dec 21 14:48:47 2011
config:

NAME STATE READ WRITE CKSUM
pool DEGRADED 0 014
  raidz1-0   DEGRADED 0 028
replacing-0  OFFLINE  0 0 0
  ad18/old   OFFLINE  0 0 0
  ad18   ONLINE   0 0 0
ad19 ONLINE   0 0 0
ad10 ONLINE   0 0 0
ad4  ONLINE   0 0 0

errors: 11 data errors, use '-v' for a list


and 'zpool status -v' gives me a list of affected files.

I assume I delete those files, then follow the same procedure on ad10?


# uname -a
FreeBSD file 8.2-STABLE FreeBSD 8.2-STABLE #0: Sat Nov 12 17:51:22 SAST 2011
 root@file:/usr/obj/usr/src/sys/COWNEL  amd64

ZFS filesystem version 5
ZFS storage pool version 28


ps. I did get 1 disk alert in the logs during this whole process, half an hour 
before resilvering:

Dec 21 12:41:48 file kernel: ad10: WARNING - READ_DMA48 UDMA ICRC error 
(retrying request) LBA=306763504
Dec 21 12:41:48 file kernel: ad10: FAILURE - READ_DMA48 
status=51 error=10 LBA=306763504
___
zfs-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss