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?"
It will rock you when random directories go missing. And your apache configuration file looks like a Makefile.
irc.goatse.cx #goatsecx
How are things in the civilized world? You probably don't know who I am. That's
;).
okay. I'm here to inform you of my mission, what I've found, and what I hope to
teach all of you.
I work for the United Christians Food for Poor Kids Foundation, and let me tell
you, there's a lot of poor kids in Afghanistan. As in most countries in the
Middle East, most people are unemployed, and therefore poor. And where there's a
lot of poor people, UCFPKF is needed.
UCFPKF always has the latest in technology. In this instance, we had access to
some Pentium 4's(r) 2GHz. Obviously, we needed an operating system that could
handle the power of Intel's beast. Unfortunately, we didn't have any computer
experts on hand up to the task, so it was going to be trial and error.
We'd heard good things about Linux and its "ACL's". Little did we know of its
incompatibility with modern hardware. It didn't even support Token Ring
networking, the newest form of Ethernet(r), which we require to always keep
in contact between bases. Also, it didn't seem to use SSE optimizations, which
when processing food amounts, are also very important. Also, there were
homo-erotic implications in the structure of Linux, which is strictly
unallowable in a Christian organization such as ours.
The next obvious step was to install Windows. We hesitated because we knew that
it was common knowledge that Windows crashed incessantly. Our experience was
less than stellar. It also didn't support Token Ring networking. Security is
important in this region because many people try to steal food, but "Windows
2000" (which I hear didn't even come out in 2000) doesn't even allow you to
have seperate permissions. Once again, the SSE optimizations were not used.
I was in a situation that seemed impossible. The two most famous operating
systems had failed me. I walked around the base in a dazed stupor. What was I
going to do for our ultra-important network? A boy saw me pouting and sighing,
and asked me what was wrong. I said nothing, but we exchanged names, and little
did I know, that young Junis had a gift for computers.
Junis saw me the next day, slaving away at the sparse terminal that "Windows
2000" makes you type in. He asked what I was doing with that primitive OS. I
laughed and told him that I was doing inventory. He ran to his village, into his
hut, and pulled out a box I had never seen before. The box said "SCO Xenix" the
front. I had never seen or heard of this Xenix before. But I soon learned that
Junis was a computer genius.
All we had to do was put the Xenix CD into the computer, and everything worked
like magic (not the devil's magic... good magic:) ). Our Token Ring network
integrated flawlessly with it. And it even used SSE optimizations. Well, me and
Junis are now on a new mission. We're spreading the word. It might not be the
word of the lord, but then again, maybe it is
SCO Xenix: The Unix of Tomorrow.
Janet Milman
Network Administrator, UCFPKF
Afghanistan base
- posted by poopbot: the bot formerly known as pwpbot
HOMSDTxhId Post #290
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!
ReiserFS would be my second choice: it isn't compatible with anything, but it brings some nice, new functionality to the table.
XFS is unlikely to be as well tested or tuned as either of these others on Linux.
I use XFS on an intranet web server and samba server with positive results. It's an older kernel (I needed the ACL kernel patches so the NT domain ACLs would work with samba), so I don't have to recover from crashes. But, performance-wise, I have no complaints. Granted, I have a fraction of the traffic that your site would have.
r y/l-fs10.html
I also followed Daniel Robbin's advice on XFS (which you've no doubt read already, but just in case: http://www-106.ibm.com/developerworks/linux/libra
Amateurs discuss tactics. Professionals discuss logistics.
I tried XFS for a bit, but I found it to be a bit too un-integrated for me. I like to put together my own kernels (grabbing various things from -ac and random other patches I like), and I've found that XFS (either on a source patch level or on a runtime stability level) is always a bit incompatible with other intrusive patches. It was just too much of a pain to be worth it to keep a solid XFS patchset in my kernel.
OTOH, ext3 works quite well, and is well-integrated in the mainline kernel. If your going for journalling to avoid fscks and for an overall saner and more stable filesystem, I would go ext3.
11*43+456^2
if you buy a cun Cobalt RAQ then the FS they use is XFS
hey if its good for Cobalt/SUN then its good for me
regards
john jones
p.s. cobalt used to ship MIPS as well but because they had so much hassle then switched to x86
While many people here have commented, suggesting that XFS may not be as stable as Ext3 or ReiserFS, but, in fact, it is just as stable, if not more so. Before SGI does a release, an unbeliveable amount of testing is done to ensure that the code works without failure, and in my experience, it does. I personally run it on my servers, with one at home that handles all of my large files (MP3's, Photoshop BMP's, lots of other stuff), and it's noticeably faster than Reiser, with no loss in stability. I'd recommend it, based upon experience, rather than some of those people out there who seem to "deface" (for lack of a better word in my mind) XFS without even using it, save for the 1st post I saw. Hope that helps . . .
I've been using Linux for several years on x86 small servers (no more than 20 clients, mixed win/mac), but i never had a good opportunity to test any JFS, only ext2 (its rock solid, of course).
Some months ago, I installed Yellow Dog Linux on my iMac. After a couple of weeks of trying around, I converted the system to ext3. No trouble at all, but i didn't feel any difference. Replacing KDE2 with 3 clearly made it far slower and the hard disk was getting heavvy punishment.
Later, i decided to erase it and replace with Gentoo linux (it's nicer for programming and trying different things). as a first choice, i used ext3. And i kept crashing during the long compile sessions! again and again it wold crash, around the same point. I'm not experienced reading the kernel panic messages, but it certainly felt like a FS problem. tried ext2, it was a little different, but still unstable.
Clean it, and begin again; this time using XFS. solid. not a single crash. ever. months running, compiling, streaming, getting low on RAM, never a single hiccup.
And KDE3 with Liquid feels far smoother than ever. I don't know if it's because XFS vs. ext3 or Gentoo vs. Yellow Dog, but i'm really really happy with it!
It seems to me that ext2/3 need a little more tuning for heavy proceses on non-Intel systems. No doubt it's 'unbreackable' on x86, but still not tested enough cross plattform-wise.
XFS, on the other hand, was developed precisely for POWER servers, and it clearly delivers.
-Kz-
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.
I ran XFS for a few months and never had any problems with it. Its a very solid filesystem and is also backed by a very responsible development team. The only reason I don't use it anymore is because its too much work to merge other patches like -ac or rmap. Lets hope it goes into 2.5 soon.. :(
Hello world!
Are you going to "experiment a lot" on your web-server too? I don't imagine a web-server, that is expected to crash often (outside of the Windows realm)... Stick to the standard fs...
In Soviet Washington the swamp drains you.
I've run XFS on my colo server (a highly patched RH 7.1) for over a year. Ever since the second week I've had zero problems with it. (The first week, there was a nasty bug with the early 2.4 kernel and XFS + my VIA chipset... caused a bit of data loss, but after upgrading the kernel I haven't had trouble since.)
:) But using it in co-lo is a little nerve wrecking.
However, if I was just setting up a new colo server today, I think I'd stick with ext3, if for no other reason than peace of mind. If something by chance *did* go wrong with my filesystem, I'd pay my colo provider out the arse to fix it.
Plus it would be nice to stick with Red Hat kernels -- they do a LOT of quality control on those things. It's now somewhat unlikely that XFS will appear in 2.6 (but I sure hope it does). I just would rather not keep patching kernels for ages.
But nearly all the anecdotal evidence indicates that it is as stable and robust as anything and works VERY well. I'd be more inclined to use XFS on a new server if it was located in the same state as me.
i use XFS for a year and a half and also ext3 (i have tested ReiserFS) and i find the three good for journalized FS.
;)
...).
I fond ext3 a bit slower, but i depends mainly on conf (best to use ordered mode)
On performance, i don't find any real difference (need some giant database test ?
My only problem is all journalized FS (including JFS) are only available on Linux, no other free OS (like *BSD or Darwin) and we have to patch kernel (except for ext3 and ReiserFS, but they are all in 2.5 so