A most enlightening thread so far. I've begun playing with ZFS within a VM to get used to the various commands and their outcomes etc.
From what I've been reading elsewhere what I like about ZFS is the reduction (or is simplification more appropriate) of something like this (hoping my ASCII art holds up):
[/] [/usr] [/var] [/home]
| | | |
+---------------------------+
| volume group "vg" |
+---------------------------+
| |
+-----------+ +-----------+
|PV /dev/foo| |PV /dev/bar|
+-----------+ +-----------+
| | | |
sda sdb sdc sdd
....to something like this:
[zfs "tank/"] [zfs "tank/usr"] [zfs "tank/home"]
| | |
+-------------------------------------------------+
| stroage pool "tank" |
+-------------------------------------------------+
| | | |
sda sdb sdc sdd
I also like how block-device management knows about the file system or vice-versa and can therefore cope with errors. I've experienced the disconnection between fs, mdadm and the disk not long ago when a corruption occurred in an episode of the West Wing that we didn't discover until we re-watched it. The corruption was even passed onto the back-up copies. Recovery was as simple as re-capturing from source but a pain none the less.
One thing I read yesterday was that zfs can be prone to issues from fragmentation - is there a preventive strategy or remedial measure to take into account?