>> 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
signature.asc
Description: OpenPGP digital signature
_______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss