Thursday, 28 July 2016

Linux Filesystems Explained — EXT2/3/4, XFS, Btrfs, ZFS


 

Fox Solutions: Linux is known for supporting the most filesystems out of all operating systems. There are many retro ones, there are the tried and true, and then there are the next generation filesystems with amazing features. There are so many, in fact, that it can be extremely daunting to the average user.
 
 The first time I installed Ubuntu on my computer, when I was sixteen, I was astonished by the number of filesystems that were available for the system installation. There were so many that I was left overwhelmed and confused. I was worried that if I picked the wrong one my system might run too slow or that it might be more problematic than another. I wanted to know which was the best.
Since then, things have changed quite a bit. Many Linux distributions offer a ‘standard’ filesystem that an installation will default to unless otherwise specified. I think this was a very good move because it assists newcomers in making a decision and being comfortable with it. But, for those that are still unsure of some of the contemporary offerings, we’ll be going through them today.

EXT2/3/4:

Extended Filesystem is by far the most popular filesystem among Linux desktop installations. It has been tried and tested, it is no doubt a solid and stable filesystem. It supports all of the standard features of the Linux kernel like quotas, POSIX attributes, and ACLs, so it still a viable solution for a desktop or server. However, there are no plans to create a new iteration of the EXT4 filesystem. The authors have decided to let it go praising Btrfs as the next defacto for Linux.

XFS:

XFS is the recommended solution for Red Hat Enterprise Linux since release 7. It has a rich history in supercomputing and server use dating back to its introduction in IRIX OS in 1994, which is probably part of why Red Hat is advocating its use. There are, however, some key disadvantages to using XFS. The most notable of the disadvantages is the lack of data checksums or ECC leaving it susceptible to silent data corruption, otherwise known as “bit rot,” making the lack of transparent compression, the ability to shrink a volume, or the inability to snapshot the volume without external tools and freezing I/O the least of your concerns.
Despite these shortcomings, XFS is known for being very stable and very fast due to its optimized parallel I/O, and if you can compensate for the demerits, it makes a very solid solution. But if you’re only running on commodity hardware, I’d recommend something that will ensure your data’s integrity like any of the others on this list.

Btrfs:

Btrfs is the new kid on the block with a cool jacket and fancy shoes. Btrfs really blows away the competition with a repertoire of features. Btrfs is a filesystem that does not need administration once it has been implemented, that is, you should never have to run an fsck on it. Whenever any errors or inconsistencies arise, it should just handle them on its own and be on its way. That’s a very big value for many, especially those that are not technically able enough to unmount the volume and run a full filesystem check.
In addition to not needing human intervention, it also plays the roles of volume manager and RAID controller. That means that you don’t have to rely on three separate facilities to accomplish robust redundant (or performance) storage anymore, which is a large value to even those that are technically inclined. Btrfs is hailed as the next generation filesystem for Linux users, and it’s easy to see why, though, it does not lend itself to all applications equally without first tweaking the defaults, but it’s surely a good choice for a desktop solution.

ZFS:

ZFS is like the very intimidating nemesis of Btrfs, complete with neck beard. While ZFS predates Btrfs by four or five years, conceptually, they share a lot. ZFS has a very strong track record of reliability and robustness. Although, due to conflicting licenses, it cannot be shipped with Linux, something which Canonical is currently challenging with Ubuntu. As of now, in order to run ZFS, you must install software from third party repositories, and having a ZFS root volume can be very tricky or simply impossible with some distributions. While ZFS is a world-class heavyweight in the domain of filesystems, it is likely that it will always be a foreign resident on Linux systems.
These are just the contemporary filesystems, there are many other filesystems that Linux supports that have either died out or faded away into obscurity like ReiserFS. According to Wiki, there are 36 filesystems supported directly by the Linux kernel including those of Windows and OS X and at least a couple dozen more through FUSE.
So, I think the one thing that really hasn’t changed since the first time I installed Ubuntu on my computer is the amount of choice. The amount of choice is daunting, but I wouldn’t have it any other way.
What filesystems do fossBytes readers use? Did we miss any big ones? Let us know in the comments below.

No comments:

Post a Comment