Point/Counterpoint - Ext3 vs. XFS
Unlike the Twitter-fest that was the previous column, this time Bill will be able to talk in full sentences—even if they are more than 140 characters! Stay tuned for Kyle's love of (and Bill's angst toward) XFS.
Kyle: Okay, I admit I use ext3 in plenty of systems. It's an all-around good filesystem, but when I need high performance, especially with large files, I always turn to XFS.
Bill: That's fine and dandy when you're running Debian or Ubuntu, but what about a Red Hat box? And, no, CentOS, although cool, doesn't count here. I'm talking the actual Crimson Fedora here—Red Hat. It doesn't support XFS in its kernel at all, does it? So, you're forced to build your own stuff, and then you're in for an admin headache.
Kyle: Well, you already ruled out CentOS, but if you are stuck in a Red Hat-like environment and want high performance, like XFS, you might have to stray from the list of supported packages and either use CentOS or a custom repository. In any case, it wouldn't be the first time an admin had to make up for the limited set of supported packages in Red Hat.
Bill: Pop quiz, hotshot: does that break you out of the support matrix for Red Hat?
Kyle: My understanding is that you would pop out of support only for problems that are directly related to the filesystem or kernel. I'll be honest though, in all the years I've had Red Hat support, I can't think of a time I legitimately needed it. I have, however, had plenty of situations where a developer wanted to use the filesystem like a database and store millions of files in huge nested directories—something XFS handles quite well.
Bill: Shhh. You'll anger a possible advertiser. Didn't we engage them once on a dm-mapper or ocfs issue or something? But yeah, that's a tangential thing—just because you don't use the support doesn't mean you don't need it. There's a reason you continue to pay that fee. And with respect to developers using the filesystem as a database, we've both seen that. XFS helps here, but redesigning your whole filesystem isn't necessarily a fix for poor software architectural design. (I used the architectural word in there—bonus points for me!)
Kyle: Yeah, yeah, put away your drafting table Mr Architect. We both know how rarely a sysadmin can dictate how a developer solves a problem. In any case, there isn't much of a redesign. In a Red Hat-based system, it's a matter of a different kernel package (included with CentOS) and reformatting a filesystem. With a Debian-based system, the ability is already there. In any case, you don't have to format everything with XFS, only the filesystems where it would benefit.
Bill: True. Speaking of ability, what about the ability to recover a system when things go pear-shaped? I've never had any luck fixing an XFS filesystem—they've always gobbled my data. Ext3 may be slow, but I've always been able to save something off a damaged filesystem.
Kyle: See, I've had the exact opposite experience. The one big advantage in my mind to XFS is how well the recovery tools work. I've lost data on basically every major filesystem out there from ReiserFS (let's not go there) to ext2 and ext3 and yes, even XFS, but whenever I've needed to do a recovery, the XFS recovery tools always have been successful, even when the problem was related to a bad hard drive controller.
Bill: Well, I may be biased, as I formatted my laptop with XFS at your behest some years ago and watched as a fun bug gobbled all my data. I never did recover that, if you recall.
Kyle: Like I said, I've had data gobbled by every filesystem. I'll also note that I never was really bitten by that bug, but I do remember a pretty nasty ext3 bug from a few years back that was so bad they actually labeled the kernel as defective after the fact. I've used XFS on my personal systems both for large file storage and even as the filesystem for my own /home directory on my personal laptop now, without issue. The fact is, I noticed a tangible difference on the speed of my system when I moved to XFS.
Bill: I know you have. You have a halo effect about you with things like that though. I have...the opposite effect. If it can break, I will break it. I've always been able to recover from an ext3 explosion. For me, it's not about the speed. The ext3 filesystem and tools are well known and have been shipped in everything. I know if my machine dies, I can move the disk to another Linux box and be able to read the filesystem, or I can use a “standard” recovery disk. Heck, there are even plugins for other OSes that can read ext3. Try that with XFS.
Kyle: My standard recovery disc always has been Knoppix [insert plug here], and it always has worked just fine with XFS filesystems. I'm not saying that XFS should be used for everything. There's a reason ext3 is the default filesystem for most distributions. After all, it offers good all-around performance for all kinds of filesystems. When you need high performance for terabytes of large files or millions of small files though, it's hard to beat XFS. Even formatting an XFS filesystem is substantially faster than ext3.
Bill: I'm not arguing that XFS isn't faster—it is, and by a large margin. I don't think it's as safe, however.
Kyle: I think these days the biggest risk on any system isn't from filesystem corruption. It's either from hard drive failure or from user error. In either case, if you are that worried, you should have a solid, tested backup system in place.
Bill: True, no filesystem or RAID is a substitute for a solid backup method. That's something we do agree on.
Kyle: The bottom line for me is that whenever I reach the limits of ext3, I know I have a solid, fast alternative in XFS. The XFS recovery tools are excellent, and in my experience, they work well. Plus, it's been available in Linux long enough to iron out any major bugs and is available in anything from CentOS to Debian to Ubuntu. When I want an ordinary filesystem, I choose ext3, but when I need speed, I choose XFS.
Bill: Except that XFS isn't available from Red Hat, and that's a considerable installed base. Just because something is faster doesn't necessarily mean it's the best long-term solution. XFS may be more capable, but the downside of possibly falling out of a supportable configuration at the enterprise level keeps me from deploying XFS on anything but nonessential gear.
Last minute note from Bill: Just as we were readying this for print, Red Hat announced that XFS will be in the Red Hat Enterprise 5.4 beta. My arguments will be sent to /dev/null after 5.4 releases.
Kyle Rankin is a Senior Systems Administrator in the San Francisco Bay Area and the author of a number of books, including Knoppix Hacks and Ubuntu Hacks for O'Reilly Media. He is currently the president of the North Bay Linux Users' Group.
Bill Childers is an IT Manager in Silicon Valley, where he lives with his wife and two children. He enjoys Linux far too much, and he probably should get more sun from time to time. In his spare time, he does work with the Gilroy Garlic Festival, but he does not smell like garlic.
Kyle Rankin is a systems architect; and the author of DevOps Troubleshooting, The Official Ubuntu Server Book, Knoppix Hacks, Knoppix Pocket Reference, Linux Multimedia Hacks, and Ubuntu Hacks.
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Designing Electronics with Linux | May 22, 2013 |
| Dynamic DNS—an Object Lesson in Problem Solving | May 21, 2013 |
| Using Salt Stack and Vagrant for Drupal Development | May 20, 2013 |
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
- New Products
- Linux Systems Administrator
- Senior Perl Developer
- UX Designer
- Technical Support Rep
- Web & UI Developer (JavaScript & j Query)
- Designing Electronics with Linux
- Dynamic DNS—an Object Lesson in Problem Solving
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
- Reply to comment | Linux Journal
10 hours 10 min ago - Nice article, thanks for the
20 hours 50 min ago - I once had a better way I
1 day 2 hours ago - Not only you I too assumed
1 day 2 hours ago - another very interesting
1 day 4 hours ago - Reply to comment | Linux Journal
1 day 6 hours ago - Reply to comment | Linux Journal
1 day 13 hours ago - Reply to comment | Linux Journal
1 day 13 hours ago - Favorite (and easily brute-forced) pw's
1 day 15 hours ago - Have you tried Boxen? It's a
1 day 21 hours ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi

It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Featured Jobs
| Linux Systems Administrator | Houston and Austin, Texas | Host Gator |
| Senior Perl Developer | Austin, Texas | Host Gator |
| Technical Support Rep | Houston and Austin, Texas | Host Gator |
| UX Designer | Austin, Texas | Host Gator |
| Web & UI Developer (JavaScript & j Query) | Austin, Texas | Host Gator |
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?




Comments
Use VxFS
Use VxFS
What about JFS or Ext4?
The discussion is interesting, but why leave out JFS. Backblaze is using it for their Debian-based online backup. Redhat doesn't support it, but Debian, Ubuntu and CentOS do. And Ext4 is about to become the default filesystem for Ubuntu. Can you comment on those file systems? Maybe you've been over all this before.