XFS on a Web Server?
WWYD asks: "I am going to be setting up a fresh web server for the company I work for and am looking for some advise. It will be a Redhat 7.3 / Apache / PHP standard everyday setup that will be hosting 50+ radio station sites. My question is about SGI's XFS file system. I've been running it at home and love the recovery time after the system dies. (I experiment a lot). Would XFS be a good filesystem for a web server?"
On my laptop, after reading the scary warnings on Gentoo install docs, I opted for XFS (not really, it was purely an excuse). I had a buggy intel e100 pro ethernet driver, and on many of the crashes, I lost all the data on some of the open files. Filesystem integrity was ok, after every crash, but I never had the same data-loss behaviour with ReiserFS.
My advice is: benchmark the filesystems you consider stable, against your usage pattern. It's the only real data you need, apart from reliability info. However, if you're going to serve mostly static HTML, I'd say your bottleneck will be bandwidth or RAM, not your disks.
I was not very impressed with XFS, but it's my opinion only. It's credited as a Very Good Filesystem (tm).
If at first you don't succeed, skydiving is not for you
I've been using XFS for all my systems since the beggining of this year and I've personally had zero problems with XFS. I have heard some complaints from other people but when I asked them what they didn't like the complaint was that there were null bytes in files after a crash. Unfortunatly for them this is the intended behavior by XFS in some situations.
I think the most common kernel with XFS is 2.4.18 which is known to have some swapping problems.
So as long as the RedHat 7.3 kernel doesn't have that swapping problem I'd say go for it. Be sure to install the xfsdump package if it isn't already and run the xfs_fsr command weekly from a cron job to keep performance high.
My setup is five dual AMD webservers each with a RAID1 and RAID5 partition, 1GB of RAM, and XFS.
:)
The 1.1 release against 2.4.18 is really stable, and I haven't had any problems myself, or heard too many on the XFS mailing list in the past few months. If you have the means, I'd recommend patching against a vanilla kernel, although the ISO option can be nice too.
XFS is well known for its good performance when handling large files, which in a streaming situation like yours is a good thing. 'Allocation groups' in XFS are also very good at handling parrallel I/O, another good thing in a streaming enviornment. Of course, most of this can be found on the XFS site, http://oss.sgi.com/projects/xfs/
As a happy user of XFS in a production environment for almost two years, I'd highly recommened it for your type of situation. Good luck!
Ext3 is great for systems that are either using an existing ext2 filesystem and require journaling, or systems like RedHat that have no way of installing with XFS or Reiser on the root partition. It's backwards compatibility and ability to upgrade an existing ext2 partition is excellent.
However, after running a sandbox with bad memory that would consistently crash (it took me a while to get around to diagnosing, and even longer to actually fix) I found that ext3's recovery was not as good as XFS or BSD's FFS with softdep turned on (FFS with softdeps is my favorite solution thus far -- although it is not a true JFS, it does asynchronously write your metadata, is faster than ext2, and has the same effect as any JFS...but I digress -- BSD is not Linux). After a hard crash and an unclean reboot with ext3, I would consistently lose data on open files, and at times, my journal was, at times,(seemingly) corrupt, and I would have to boot into single user mode and manually fsck the disk, which took forever.
I do not have sufficient experience with ReiserFS, but I hear that its excellent. If you're using Linux, and are starting from a clean slate, check out XFS from a freshly-patched kernel (ie, not stock RedHat). Again, I've heard great things about ReiserFS, but since I don't have experience with it, I can't recommend it.
-Turkey
Sun Cobalt is using XFS on their new RaQ550 web servers.
More information.
I've seen the demo and it looks cool. Not sure why they chose XFS, but I'm sure you can ask the developers.