ZFS is the only option for me!

Hi guys,

I am typically not the guy who is writing rants or raves but today I feel that I want to express myself and explain why I am using the zfs filesystem. Forgive me :wink:

I would never use zfs for / or /home. This is simply because I believe that a system should be able to boot without any out-of-tree modules.

My use case for zfs is my /data directory as well as my backup drives. I have very specific requirements for that. First of all, performance is not important. The filesystem should not be dead slow but it does not need to be the fastest either.

My main concern is about data integrity. I need a filesystem that can tell me at any point in time if the data is correct and it needs to be able to repair it. This means that I need redundancy and checksums for metadata and data.

That rules out any combination of mdadm+lvm+[xfs, etx4 ,etc.]

Only two filesystem meet these requirements: btrfs and zfs. Now it happens that my backup system is a raidz2 (raid6) system (did I mention already that I am a big fan of redundancy?). Unfortunately raid6 is a no-go for btrfs. The developers clearly state that it should not be used. That leaves me with zfs as the only option. It is that simple. It is a binary decision.

In the meantime, after several years of using zfs I have to say that I am very pleased with it. It is working as expected and with that it excels all other filesystems: on-the-fly data repair during data read, snapshots, compression, encryption, etc. Fantastic!

And when it comes to performance it is very competitive when compared with other redundant setups. I have used mdadm+ext4 for a long time and can tell that it is certainly not faster than zfs. Given the fact that zfs has a lot more feature which are eating performance (e.g. checksums) , this is quite an achievement.

But I also have to say, that zfs is not for beginners. I would never ever recommend it to a newbie.

Anyways, zfs rulez!

8 Likes

Enjoy the complexity :wink:

4 Likes

When I discovered I could buy 12TB+ drives, I lost the need for ZFS & the like for my data storage needs. Being able to buy huge capacity storage media has simplified my situation enormously.

Horses for courses, I know. :wink:

1 Like

What has that to do with the filesystem resp. data integrity? The size of the drive does not matter. If it is just one drive it is a single point of failure.

1 Like

I also love zfs. I do use it for root! Even my non-zfs filesystems are mounted on zvols.

I make heavy use of zfs snapshot replication across my environment. The speed and simplicity of recovery is pretty amazing.

I honestly don't understand this comment. Why does the size of the disk matter?

Don't get me wrong, I don't think zfs is for everyone or all scenarios but having a bigger disk doesn't really change anything with regards to zfs features.

1 Like

For me, ZFS most important feature was the ability to simplify my multiple drive storage array into looking like one partition. I have a lot of data, that is far from dynamic, & has only one user accessing it. I have no need for speed, or snapshots, I have a need for simplicity in use & access, maintenance.

My being able to have one large drive that carries all of my data, & another that carries a backup that I keep up to date as need be, plus multiple other smaller drives that in combination also carry a backup with only one of them ever needing to be added to on the odd occasion is good enough for "my" needs. All but one of those drives are off-line (not even connected to a machine).

I love ZFS. I'm just saying that the motivation for using it can be different, depending on an idividual's needs/purposes. :slight_smile:

You guys move right along, I didn't come here to crash your party. :wink:

2 Likes

I prefer btrfs to zfs because it is simpler to use and is built into the kernel. I use it for the root partition mainly for snapshotting, subvolumes and compression. I use laptops and don't have enough drives to use any raid capabilities. If I could, I would choose btrfs with raid10. But if you don't have enough drives and must use raid6, then clearly zfs is the only option.

My /data is an internal raid10 with 4 drives and zfs. Very fast actually. I am willing to drop zfs and move to btrfs once it has a stable status with all raid levels.

What leaves me with some concerns about raid10 and btrfs is the fact that it has a lower redundancy than mdadm or zfs. This is by design. In btrfs raid10 with 4 drives, for example, the mirror of a data block can be on any of the remaining 3 drives. Therefore you only can loose one drive. If a second drive fails, regardless which drive it is, the data is lost. Redundancy of 1.

With mdadm or zfs each drive has a true mirror: (a+b) - (c+d). If drive b fails, you still have redundancy within c+d. This gives redundancy of 1.5. If you use raid10 with 6 or more drives the difference in redundancy between btrfs and zfs or mdadm is increasing.

Does ZFS even work with Kernel 5.5? https://github.com/zfsonlinux/zfs/issues/9745

Plus this coming from Linus himself is not a good sign of whether this will ever be merged into the kernel: https://www.realworldtech.com/forum/?threadid=189711&curpostid=189841

zfs compilation fails every once in a while with the newest kernels. It typically takes the zfs developers a few weeks to fix that on their end.

With todays update in Manjaro Testing zfs is working fine with kernel 5.5: [Testing Update] 2020-02-13 - Kernels, Mate 1.24, Plasma 5.18, Firefox-Dev, Haskell

The statement from Linus got lots of attention around the world. And he got lots of negative feedback for it. He made false or misleading statements about zfs which the community did not tolerate.

Therefore he decided to write a second email to clarify that he was referring to OracleZFS and not ZFSonLinux (ZOL): https://www.realworldtech.com/forum/?threadid=189711&curpostid=189959

His point is mainly about the zfs license: CDDL which seems to be incompatible with GPL. This is the reason why he is not putting zfs into the kernel tree. That decision makes sense and is not challenged by anybody. But as a separate out-of-tree binary module, like nvidia for example, it is not neccessarily a problem. See ubuntu as a reference. They are distributing zfs like that.

And from a functionality point of view zfs has no alternative in the linux world: ZFS is the only option for me!

2 Likes

What do you mean on the linux world? Alternatives in other systems have even less viable. Linux world is actually closest to having a viable alternative in btrfs.

So, I think the correct statement would have been: "And from a functionality point of view zfs has no alternative"

Forum kindly sponsored by