{"id":79,"date":"2016-05-08T22:09:11","date_gmt":"2016-05-08T20:09:11","guid":{"rendered":"http:\/\/hentati.org\/?p=79"},"modified":"2020-12-06T20:41:13","modified_gmt":"2020-12-06T19:41:13","slug":"ext4-vs-btrfs","status":"publish","type":"post","link":"https:\/\/hentati.org\/index.php\/2016\/05\/08\/ext4-vs-btrfs\/","title":{"rendered":"Ext4 vs. Btrfs"},"content":{"rendered":"<p><span style=\"color: #000000;\">Quite honestly, one of the last things people look at is which file system is being used.\u00a0<strong>Windows\u00a0<\/strong>and\u00a0<strong>Mac OS X<\/strong>\u00a0users have even less reason to look, because they really have only one choice for their system \u2013\u00a0<strong>NTFS<\/strong>\u00a0and\u00a0<strong>HFS+<\/strong>, respectively.\u00a0<strong>Linux<\/strong>, on the other hand, has plenty of different file system options, with the current default being ext4.<\/span><\/p>\n<p><span style=\"color: #000000;\">However, there\u2019s been another push to change the file system to something called\u00a0<strong>btrfs<\/strong>. But what makes btrfs better, and when will we see distributions making the change?<\/span><\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"color: #000000;\">What Do File Systems Do?<\/span><\/h2>\n<p><span style=\"color: #000000;\">In case you\u2019re unfamiliar about what file systems actually do, it\u2019s pretty simple when summarized. File systems are used to control how data is stored after a program is no longer using it, what other information \u2013 known as metadata \u2013 is attached to the data itself, how access to data is controlled, and so on.<\/span><\/p>\n<p><span style=\"color: #000000;\">It doesn\u2019t sound like an easy thing to program, and it\u2019s definitely not. File systems are still continually being revised to include more functionality while becoming more efficient in what it needs to do. Therefore, although it\u2019s a basic necessity for all computers, it\u2019s not quite as basic as it sounds.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"color: #000000;\">Why Switch File Systems?<\/span><\/h2>\n<p><span style=\"color: #000000;\">ext4 has been another improvement to the ext3 file system, which was an improvement over the ext2 file system. While the ext4 is a very solid file system which has been the default choice for almost all distributions for the past few years, it is made from an aging code base. Additionally, Linux users are seeking many new different features in file systems which ext4 does not handle on its own.<\/span><\/p>\n<p><span style=\"color: #000000;\">There is software that takes care of some of those needs, but in the performance aspect, being able to do those things on the file system level would be faster.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"color: #000000;\">ext4<\/span><\/h2>\n<p><span style=\"color: #000000;\"><strong>ext4<\/strong>\u2018s limits are still pretty impressive. The largest volume\/partition you can make with ext4 is 1 exbibyte \u2013 the equivalent of roughly 1,152,921.5 terabytes. While the maximum file size is 16 tebibytes \u2013 or roughly 17.6 terabytes, which is much bigger than any\u00a0<strong>hard\u00a0drive<\/strong>\u00a0a regular consumer can currently buy.<\/span><\/p>\n<p><span style=\"color: #000000;\">ext4 is known to bring speed improvements over ext3 by using multiple different techniques. Like most modern file systems, it is a journaling file system, which means that it keeps a \u201cjournal\u201d of where files are located on the disk and of any other changes to the disk. Despite all of its features, it does not support transparent compression, transparent encryption, or data deduplication. Snapshots are technically supported, but that feature is experimental at best.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"color: #000000;\">Btrfs<\/span><\/h2>\n<p><span style=\"color: #000000;\"><strong>Btrfs<\/strong>, which can be pronounced as \u201cButter FS\u201d, \u201cBetter FS\u201d, or \u201cB-Tree FS\u201d, is a file system made completely from scratch. Btrfs exists because the developers wanted to expand the functionality of a file system to include pooling, snapshots, and checksums among other things.<\/span><\/p>\n<p><span style=\"color: #000000;\">While independent from ext4, it wants to build off the ideas present in ext4 which are great for consumers and businesses alike and incorporate those additional features which will benefit everyone (but specifically enterprises). For enterprises who use very large programs with very large databases, having a seemingly continuous file system across multiple hard drives would be very beneficial because it can make consolidation of data much easier.\u00a0Data deduplication would reduce the amount of actual space data would occupy, and data mirroring would become easier with btrfs as well when there is a single, broad file system that needs to be mirrored.<\/span><\/p>\n<p><span style=\"color: #000000;\">Of course, you can still choose to create multiple partitions so that you don\u2019t have to mirror\u00a0<em>everything<\/em>. The maximum partition size of a btrfs file system is 16 exbibytes, and the maximum file size is also 16 exbibytes. Considering that btrfs will be able to span over multiple hard drives, it\u2019s a good thing that it supports 16 times more drive space than ext4.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"color: #000000;\">Conclusion<\/span><\/h2>\n<p><span style=\"color: #000000;\">Sadly, the arrival date for btrfs isn\u2019t quite known. Officially, the next-generation file system is still classified as unstable, but if you download the latest version of Ubuntu you can choose to install on a btrfs partition. It has been reported\u00a0<strong>Fedora<\/strong>\u00a018 will use btrfs as its default file system, as by the time of its release a file system checker for btrfs should exist.<\/span><\/p>\n<p><span style=\"color: #000000;\">When btrfs will actually be classified as stable is still a mystery, but don\u2019t expect\u00a0<strong>Ubuntu<\/strong>\u00a0to use btrfs by default until it is indeed considered stable. There is still a good amount of work left for btrfs, as not all features are yet implemented and performance (in my experience) is a little sluggish when compared to ext4.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quite honestly, one of the last things people look at is which file system is being used.\u00a0Windows\u00a0and\u00a0Mac OS X\u00a0users have even less reason to look, because they really have only &#8230;<\/p>\n","protected":false},"author":1,"featured_media":205,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[8],"tags":[],"_links":{"self":[{"href":"https:\/\/hentati.org\/index.php\/wp-json\/wp\/v2\/posts\/79"}],"collection":[{"href":"https:\/\/hentati.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hentati.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hentati.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hentati.org\/index.php\/wp-json\/wp\/v2\/comments?post=79"}],"version-history":[{"count":5,"href":"https:\/\/hentati.org\/index.php\/wp-json\/wp\/v2\/posts\/79\/revisions"}],"predecessor-version":[{"id":629,"href":"https:\/\/hentati.org\/index.php\/wp-json\/wp\/v2\/posts\/79\/revisions\/629"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hentati.org\/index.php\/wp-json\/wp\/v2\/media\/205"}],"wp:attachment":[{"href":"https:\/\/hentati.org\/index.php\/wp-json\/wp\/v2\/media?parent=79"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hentati.org\/index.php\/wp-json\/wp\/v2\/categories?post=79"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hentati.org\/index.php\/wp-json\/wp\/v2\/tags?post=79"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}