>> Actually, ZFS is already supposed to try to write the ditto copies of a
>> block on different vdevs if multiple are available.
> 
> *TRY*  being the keyword here.
> 
> What I'm looking for is a disk full error if ditto cannot be written
> to different disks. This would guarantee that a mirror is written on a
> separate disk - and the entire filesystem can be salvaged from a full
> disk failure.

If you're that bent on having maximum redundancy, I think you should
consider implementing real redundancy. I'm also biting the bullet and
going mirrors (cheaper than RAID-Z for home, less disks needed to start
with).

The problem here is that the filesystem, especially with a considerable
fill factor, can't guarantee the necessary allocation balance across the
vdevs (that is maintaining necessary free space) to spread the ditto
blocks as optimal as you'd like. Implementing the required code would
increase the overhead a lot. Not to mention that ZFS may have to defrag
on the fly more than not to make sure the ditto spread can be maintained
balanced.

And then snapshots on top of that, which are supposed to be physically
and logically immovable (unless you execute commands affecting the pool,
like a vdev remove, I suppose), just increase the existing complexity,
where all that would have to be hammered into.

My 2c.

-mg

Attachment: signature.asc
Description: OpenPGP digital signature

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

Reply via email to