ZFS is a filesystem and like most fileystems it will do exactly what you tell it to. If you accidentally delete something, you get a virus, your OS screws up, hardware failure etc, ZFS will not save you. ZFS will write whatever you tell it to, good or bad. It will be perfectly happy to write corrupt data because something else screwed up. It will even checksum and tell you your corrupt data is good when you scrub it.
True archiving with some kind of difficult to modify external verification prevents all that. ZFS could be used to store an archive separate from your main data (weather stored on ZFS or not) but it's complexity, poor OS support and lack of recovery tools (see below) make it a poor choice over simpler filesystems.
This is very true, and a very important thing to keep in mind. ZFS may be dubbed, "The end-all to all filesystems", but the operative word being "filesystems". The "scary" thing that you're pointing out here is that data. is. not. safe. ever. No checksumming or parity protection will protect my data from me doing "rm -rf" on the wrong target (I've done this a couple of times), mirrordir'ing the wrong way around (once), or the fire downstairs from spreading and devouring my precious magnetic platters (not yet)
The example you're giving with it being happy to write out corrupt data, perfectly checksummed and stored "correctly" is an eye-opener to many users. Point in fact, a German guy on the zfs-fuse mailing list over the last couple of months who's experiencing concistent checksum errors being reported (as fixed) with each call to zpool status. Every scrub reports several checksum errors being fixed. Now, if that corruption is due to bad memory (or, to a lesser degree, on the controller-level), chances are a very large number of his files are wastebin material.
We have to keep that in mind, but be as that may, that's no reason not to pursue a solution that ensures integrity in its own domain. While any bad memory chip or controller or lightning can corrupt your data on any FS, in terms of data integrity ZFS is still the best solution at the moment.
Gonna take an easy punch and say that your point about "true archiving" is subject to exactly the same restrictions, being that any file has to exist in a filesystem
But your point is good; no data is safe on any solution, so backups are the way to go. Preferably off-site, so that fire next week doesn't each your backup, too.
It's not only that ZFS is complex: it's brittle.
Opinion again. Zzzzz... Gonna back any of this up? How long have you used ZFS, did you say?
HFat is 100% right. ZFS is very new and does much more than other filesystems. There are lots of opportunities for something to go wrong. Have you used ZFS on a memory constrained system? Such as the likely case in a VM? If ZFS wants more memory than it can get it just crashes and takes the OS with it.
There are also no recovery tools for ZFS (fsck, chkdsk, etc). ZFS proponents claim it's unnecessary, but there are lots of horror stories on google to show that not to be true. Every filesystem can get corrupted, even ZFS.[/quote]
Seriously, people have to stop saying that. ZFS is running on year seven now, and it's not "brittle" at all. Any FS in its infancy will result in lost data. In ZFS's case were you could previously see it destroyed by a simple power loss - release
versions, mind you, well that's just unforgivable. But this was resolved long ago, yet the horror stories still remain on the internet, as they should. But we should judge an FS by its current state, not its history.
About the memory issues; yes, I experienced that quite a few time with previous versions of ZFS-FUSE, but it never took down the system. It took down several FSes which could not be mounted, but without data loss, and it was resolved in the next version.
Of course, it there's not enough memory to sustain the FS that your system resides on, then any system will go down in flames eventually, but that would go for any FS. Yes, ZFS uses more memory than simpler filesystems, which is to be expected as you get snapshotting, dedupping, compression, checksumming and parity protection which isn't available in other FSes. Still a point to make, I agree, if your resources are low. In that respect, ZFS is definitely not the end-all filesystem. Wouldn't run it on my android, that's for sure