
Switching from btrfs over ext3 to zfs
Fri, 19 Mar 2010 21:11:55 +0000Grfl … I had a filesystem-error with BtrFS. Some reference-counters were wrong, as I was told. Fortunately, I had no data loss. Anyway, I was told that a probable cause of this could be that I am often suspending to disk, and thats something that btrfs may not be able to handle correctly yet.
Since I am often using suspend to disk, and for the moment this feature is more essential than the snapshotting-features of btrfs, I decided to switch back to ext3.
Ok, well, not quite. I actually just had ext3 for a few hours, until I began to test zfs-fuse. ZFS-Fuse seems to be well-engineered and yet more stable. Actually, I wonder if Btrfs will be ever finished. ZFS is a filesystem ready for production use. Btrfs isnt. Btrfs was created by Oracle. ZFS was created by Sun, but Oracle acquired Sun – thus, they could just change the license of ZFS, and therefore make it possible to port it to Linux. And actually, I think this is more likely to happen – I assume it would cost less money but provide the same features.
Anyway, ZFS-Fuse works with Fuse. I dont know to what degree it is possible to have a Fuse-Filesystem as Root-Filesystem. I mean, Wubi even uses ntfs-3g (which runs on Fuse) to create a loopback-device, so it shouldnt be too hard – maybe it’s enough to have the fuse-modules inside the initramfs, but somehow the usermode-part will have to run. Well, I dont know. At the moment I do not have the time to make further experiments with this.
Another thing that I will maybe try out soon is the lesser-known LessFS. But my first expieriences with it were rather … bad. So if ZFS works well, I will probably keep using it.
A problem with ZFS is – besides that its only available through Fuse – that it is more than just a filesystem. It took me hours to figure out that you cant pass an actual device to your zpool-command (you have to load a “pool” of disks before you can mount anything), but zpool just searches through all (or not all? I actually dont know!) blockdevices and finds the ones which contain parts of a zpool. You dont have an entry in your /etc/fstab, nor any central configuration file where you can list the pools and filesystems. Maybe I am too conservative, but this doesnt really feel good.
Anyway, the snapshotting seems to work so far. And the performance is also good so far. But of course … btrfs worked well for a few weeks … zfs-fuse will have to prove that first.
Verfasst von dasuxullebt 