On 02/17/10 02:38 PM, Miles Nordin wrote:

copies=2 has proven to be mostly useless in practice.

Not true. Take an ancient PC with a mirrored root pool, no
bus error checking and non-ECC memory, that flawlessly
passes every known diagnostic (SMC included).

Reboot with copies=1 and the same files in /usr/lib will get
trashed every time and you'll have to reboot from some other
media to repair it.

Set copies=2 (copy all of /usr/lib, of course) and it will reboot
every time with no problem, albeit with a varying number of
repaired checksum errors, almost always on the same set of
files.

Without copies=2 this hardware would be useless (well, it ran
Linux just fine), but with it, it has a new lease of life. There is
an ancient CR about this, but AFAIK no one has any idea what
the problem is or how to fix it.

IMO it proves that copies=2 can help avoid data loss in the
face of flaky buses and perhaps memory. I don't think you
should be able to lose data on mirrored drives unless both
drives fail simultaneously, but with ZFS you can. Certainly, on
any machine without ECC memory, or buses without ECC (is
parity good enough?) my suggestion would be to set copies=2,
and I have it set for critical datasets even on machines with
ECC on both. Just waiting for the bus that those SAS controllers
are on to burp at the wrong moment...

Is one counter-example enough?

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

Reply via email to