MTE Explains: What Is Btrfs Filesystem (and Why Is It Better Than Ext4)?

There is more to a hard drive than its size. While the amount of disk space is all you see marketed about a hard drive on a sales page, there is actually an extensive amount of coding that goes into making a hard drive capable of handling your applications and data in the first place. Most Linux distributions currently default to using the ext4 file system, but the future for many of them lies with the B-tree file system, better known as Btrfs.

To put it simply, a file system is how a hard drive is able to store, access, and manage files. While different operating systems can run off of the same hard drive, they tend not to share the same file system. Windows users rely on the New Technology File System (NTFS) while Mac OS X currently runs on the HFS+ file system. Btrfs is a file system that is only used in the Linux operating system.

Btrfs is a modern file system that began development back in 2007. It was merged into the mainline Linux kernel in the beginning of 2009 and debuted in the Linux 2.6.29 release. Btrfs is GPL-licensed but currently considered unstable. Thus, Linux distributions tend to ship with Btrfs as an option but not as the default.

Btrfs is not a successor to the default Ext4 file system used in most Linux distributions, but it can be expected to replace Ext4 in the future. Theodore Ts’o, a maintainer for Ext3 and later, Ext4, has stated that he sees Btrfs as a better way forward than continuing to rely on the ext* technology.

Btrfs is expected to offer better scalability and reliability. It is a copy-on-write file system intended to address various weaknesses in current Linux file systems. Primary focus points include fault tolerance, repair, and easy administration.

Btrfs-hard-drive

Ext4 is a modern release, but it is an update of decades-old technology. It is a journaling file system, meaning it keeps a log or “journal” of changes that are made to a disk. However, Ext4 can be slow at checking a mounted hard disk, and this problem is only exasperated as hard disks continue to increase in size.

The largest partition Ext4 can support is 1 exbibyte, which is over a million terabytes. The largest file size Ext4 can support is 16 tebibytes, which is just under 18 terabytes. Btrfs, on the other hand, can support up to a 16 exbibyte partition and a file of the same size. If you are confused by the numbers, all you need to know is that Btrfs can support up to sixteen times of the data of Ext4. While this does not directly impact the local storage needs of a home user, this improvement is very important as Linux is increasingly used within various enterprises and for storing much of the data we trust to the cloud.

Btrfs-fire

Stability implies that something is unchanging. Considering the rapid development of Btrfs at the moment, the answer is no. Btrfs is currently considered experimental.

But stability is in the eyes of the beholder. According to the wiki maintained by the btrfs community, many of the current developers and testers of Btrfs run it as their primary file system with very few “unrecoverable” problems. That said, if you are feeling adventurous enough to give Btrfs a try, you should back up your files regularly. Then again, you are already doing that, right? No matter how good a file system is, hard drives can and do occasionally fail.

11 comments

  1. Note that btrfs is much better than ext4 but far worse than ZFS.

    If you are looking for a good filesystem switch to FreeBSD and use ZFS.

  2. Really? This article explains nothing and doesn’t begin to scratch the surface of what a File System is, how one is better than the other or what their differences are. Thought I would learn something here today, fail!

    • The article is not a reference document about btfrs. It is to explain that it is a btree file system. The author did provide a link to the btfrs developers website. Go there for the nitty gritty details.

      Regarding zfs vs btfrs, the author was not doing a comparison, but providing general information. Elsewhere on the net, there are existing comparisons available. But be forewarned, btfrs is getting many performance improvements and utilities to handle whatever a system administrator would encounter if his system was btfrs managed.

  3. Every time I have tried to use BTRFS it ran so dog slow that opening a folder took as long as opening a folder on winblows after not wiping and re-installing for 3 months.

    • With Fedora 18, I have standardized on btfrs. I am delighted with its use. Is it slower than ext4? Yes, very slightly. A gigibyte copy on my system with btfrs takes 1.3 seconds longer than similar copy with EXT4. Which gives faster open/close, functionality? The btfrs version.

  4. @Bob – regarding ZFS, you don’t have to switch to FreeBSD to use ZFS. ZFS is available on Linux in two ways… one as a FUSE package that many distributions provide… and secondly as an independently distributed package. The later is needed because ZFS’ license conflicts with the Linux kernels’ GPL so they can’t be distributed together… but they CAN be distributed separately.

    Oddly Oracle is the sponsoring developer of both ZFS and BtrFS so if they wanted to fix the licensing for ZFS they could.

    @Jennix – My guess is that you were running BTRFS in userspace with FUSE… but who knows.

    I agree that there isn’t much technical merit to this article but hey, it got us all to come here so there’s that.

  5. @Scott – yes, but why would would one *not* switch? There isn’t a good reason to stay on Linux if you want networking performance, quality audio, or sane filesystems.

  6. I aimed this article at users who see btrfs somewhere online or as an option when installing their distribution and simply want to know what it is. The btrfs community provides an excellent wiki for more advanced users who really want to understand the technical details.

  7. While one _could_ make the argument that the use of “exasperated” in this sentence is correct, “…and this problem is only exasperated as hard disks continue to increase in size,” the word you really want is exacerbated.

Comments are closed.

Sponsored Stories