I’ve been playing around with ZFS for quite a while now and I’m very impressed. Everything that’s claimed of it holds up under my limited investigation. I’ve been working with both the OpenSolaris native version (thank you Nexenta!) and the ZFS-FUSE implementation for Linux.

The one thing that proved hard to do was to build a ZFS pool on my USB2 hard drive and move that pool between machines. For a couple of days I struggled in vain to see why I couldn’t ZFS export from my linux box and ZFS import on my OpenSolaris box (or visa versa).

It turns out the answer is simple: ZFS-FUSE doesn’t recognise that Linux doesn’t use /dev/dsk (it even goes so far as to error because of this for some commands). The solution is to tell zpool that you want it to look elsewhere by adding the -d option to each zpool import/export command, eg.:

$ zpool import -d /dev mypool

… suddenly it all works beautifully. Now if only there were better docs for ZFS-FUSE! After all my struggling I word this out based on a comment against someone elses blog entry.