ZFS is really cool

Sun has produced an open-source filesystem that pretty much rocks. Pooled storage, nice RAID support, O(1) snapshots, self-healing, a whole lotta other stuff. The only caveat? You have to run it under Solaris.


I've set this up with mirrored drives on one of my old servers. I did some awful tests: one script creates as many files as it can in a folder, and I left it running overnight. Another one recursively creates folders, and I left that one running forever too.

Snapshots are still quick after all that.

ZFS advertises how easy it is to administer, but I'm finding that snapshots happen only at the "volume" level, and you might think that volumes created inside other volumes would get snapshotted with their parents, but they don't. It seems like fun to make a lot of volumes (which is easy, right?), but then you have to write a lot of scripts to round them up and snapshot them. (Maybe I'm missing a flag that does recursive snapshots automatically, but it doesn't seem to be the default.)


You have to get Solaris Express to make it work (2006 "2", which calls itself Solaris 11), not Solaris 10 like I downloaded first. The very basic install contains ZFS (you don't need any third-party stuff), but I don't think ZFS is bootable yet.

It is incredibly easy to add and remove storage from pools, to remount existing storage in other places. They've done a fantastic job with the tools, and the core filesystem appears solid too.

But since I'm booting off UFS, I still have to cope with Sun's weirdo "something went wrong but we're not telling you what" console-driven recovery when I lose power. My data drive is entirely protected, but the rest of the system is up for grabs.

Anyway, these guys have achieved what previously you needed a Netapp to do, on commodity hardware. Really nice work.

1 comment:

  1. Ah heck, that took forever to find out. But it made 2.05M files, fwiw.