In a project originally funded under Google's 2006 Summer of Code program, Correia has converted the ZFS implementation from OpenSolaris into a server or daemon program that runs on Linux.
Also, note that ZFS spawns a lot of threads for concurrent IO. So, enable NCQ (check queue length in /sys/block/<drive>/queue/nr_requests) on the drives if it is not set already. Invest into some SSD drive(s) as the L2 cache, which will speed up random IO ops tremendously.
During the last couple of weeks I worked with a customer who bought a Sun Fire X4500 server (you know, Thumper). The plan is to run Solaris ZFS on it, then provide big iSCSI volumes to the video editing systems, which tend to be specialized Windows or Mac OS X machines. Wonderful idea: Just use zpool create to combine a number of disks with some RAID level into a pool, then zfs create -V to create a ZVOL. Thanks to zfs shareiscsi=on, sharing the volume over iSCSI is dead easy.
ZFS snapshots with 'zfs send' and 'zfs recv' is a better way. Due to its architecture, snaphots in ZFS are very fast and only take up as much space as much data has changed. For a typical user, taking a snapshot every day, for example, will only take up a