Ricardo Correia has announced on his blog about porting Sun Solaris’s ZFS to Linux using FUSE that he has an alpha release with working write support out:
Performance sucks right now, but should improve before 0.4.0 final, when a multi-threaded event loop and kernel caching support are working (both of these should be easy to implement, FUSE provides the kernel caching).
He might be being a little modest about performance, one commenter (Stan) wrote:
Awesome! I compared a zpool with a single file (rather than a partition) compared to ext2 on loopback to a single file. With bonnie++, I was impressed to see the performance of zfs-fuse was only 10-20% slower than ext2.
Stan then went and tried another interesting test:
For fun, check out what happens when you turn compression on and run bonnie++. The bonnie++ test files compress 28x, and the read and write rates quadruple! It’s not a realistic scenario, but interesting to see.
Ricardos list of what should be working in this release is pretty impressive:
- Creation, modification and destruction of ZFS pools, filesystems, snapshots and clones.
- Dynamic striping (RAID-0), mirroring (RAID-1), RAID-Z and RAID-Z2.
- It supports any vdev configuration which is supported by the original Solaris implementation.
- You can use any block device or file as a vdev (except files stored inside ZFS itself).
- Compression, checksumming, error detection, self-healing (on redundant pools).
- Quotas and reservations.
Read his STATUS file to find out what isn’t working too (the main one there I spotted was zfs send and recv).
Caveat: this is an alpha release, so it might eat your data.