On Wed, Apr 15, 2009 at 10:49 PM, Uwe Dippel <udip...@gmail.com> wrote:
> Bob Friesenhahn wrote:
>>
>> Since it was not reported that user data was impacted, it seems likely
>> that there was a read failure (or bad checksum) for ZFS metadata which is
>> redundantly stored.
>
> (Maybe I am too much of a linguist to not stumble over the wording here.) If
> it is 'redundant', it is 'recoverable', am I right?

Looking at the message link http://www.sun.com/msg/ZFS-8000-9P
"
Description
    A device has experienced uncorrectable errors in a replicated
configuration.
"

Which means the particular block on that device has "uncorrectable
errors" (read failure or bad checksum, as Bob pointed out). Possible
due to bad sector. So the "uncorrectable" refer to that particular
data block or device.

In your case since the error is most likely on zfs metadata (which is
automatically stored redundantly), zfs is able to read from the
redundant copy and replace the bad metadata.

The same thing would also happen if the error is on user data that has
redundancy through either :
- mirror or raidz vdev, or
- copies=2 (or more)

Had the error occured on user data, on a non-mirrored non-raidz pool,
with copies=1 (the default), you would've got
http://www.sun.com/msg/ZFS-8000-8A

> Why, if this is the
> case, does scrub not recover it

it does, since on this case the data is stored redundantly.

>, and scrub even fails to correct the CKSUM
> error as long as it is flagged 'unrecoverable', but can do exactly that
> after the 'clear' command?

"clear" simply resets the error counter back to 0.
On your next run, the bad block is probably still unused. Since zfs
scrub only checks used blocks, the bad block is not checked. Thus
giving the impression "the error has magically go away", when in fact
you can re-experience it if the bad block is reused later.

>
>>
>> Ubuntu Linux is unlikely to notice data problems unless the drive reports
>> hard errors.  ZFS is much better at checking for errors.
>
> No doubt. But ext3 also seems to need much less attention, very much fewer
> commands. Which leaves it as a viable alternative. I still hope that one day
> ZFS will be maintainable as simple as ext3; respectively do all that
> maintenance on its own.  :)
>

In a sense zfs already "do all maintenance on its own" the same way ext3 does:
- both stored metadata (superblock on ext3) redundantly
- both can recover cleanly from unclean shutdown (power failure, etc.)
- on both filesystem, had a bad sector occured on non-redundant data,
you'll simply unable to access it.

You can mimic the "ignore error" behavior of ext3 somewhat by setting
checksum=off. Not recommended, but a usable setting if you already had
redundancy at lower level (e.g. hardware raid) and you trust it
completely.

Regards,

Fajar
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to