Re: which to use: ext3, JFS, XFS, ReiserFS?

Douglas A. Tutty wrote:
On Fri, Jan 18, 2008 at 04:11:17PM -0500, Jimmy Wu wrote:
I am trying to decide on which file systems to use for a Debian
install on a personal laptop. It's a Thinkpad T61 with one 160 GB HD.
I've looked around on Google, and come up with a lot of frustratingly
conflicting advice. For example, an article from
debian-administration touts XFS as the best in performance. But other
sites mention that XFS may be more vulnerable to corruption on a
crash/power outage than the other file systems. Then, people disagree
on the performance of ext3 vs ReiserFS.

Part of the confusion is the "religious" nature of the issue, part is
the changing nature and experience of the filesystems in question.
Here's a summary (sorry, no references):

ext2 = long-time default linux fs. bugs have been worked out. Inspired
by UNIX ffs (fast filesystem) with decades of history. Note that
decades ago, drives were puny compared to today.

ext3 = ext2 + metadata(default) journaling. Therefore slower than ext2.

Reiserfs = designed by one person who has had some kind of problems (I
haven't looked into it). If damage occurs (e.g. unclean shutdown), may
not be able to fix the damage and loses data.

XFS = desiged by SGI for smooth data transfer of large image /
multi-media files (streaming video editing) on IRIX (their in-house
UNIX). Great for sequential access to large files. Origionally
propriatary for Irix, ported to Linux. Irix is no more. I don't know
who is following XFS to ensure problems don't arise.

JFS = designed by IBM for large databases, focus on fast checks after an
unclean shutdown to get the server back up fast. To do that safely,
note that speed is less of an issue than for the target for XFS. It was
origionally written for OS/2 and then ported by IBM for AIX (their
in-house UNIX). I used to use JFS until a thread somewhere around 6
months ago when we heard from the Debian maintainer for the JFS utils
that IBM had stopped active development and at that time only had one
person watching JFS for bugs on a very part-time basis. That IBM
employee said that he could no longer recommend JFS for production
environments. After this, I changed back to ext3.

In an attempt to get some definitive answers, I threw together some of
the statements I've seen, and all I am asking for is verification (a
simple true/false is enough for most of them).
So, here goes:

(1) ext3 mounts and unmounts slowly, resulting in increased boot times.

Mounts of an intact filesystem should be visually instantaneous. If the
filesystem was not cleanly shutdown, you should be worried more about
data integrity than speed of cleaning.

(2) Neither JFS nor XFS can be made smaller, although they can be
extended if needed.

Minor detail. How many times do you try to shrink a filesystem. If you
do need to, make a tarball or, using LVM, make a new LV and copy the
data over, then remove the old LV.

(3) JFS performance degrades on larger filesystems, but is least CPU
intensive for smaller file systems.

Depends on what you mean by performance and what you mean by larger
filesystems. The larger the filesystem, the larger the journal and the
more backup superblocks that need to be kept in sync.

(4) ReiserFS can be flaky on a system crash.

ReiserFS is always flaky.

(5) ReiserFS is the best choice for /var.

I used ReiserFS for about a week before my system got corrupted and I
had to reinstall. I wouldn't use it on anything.

(6) On a continuum, XFS offers the best performance, ext3 offers the
most data integrity / chances of recovering from a crash, and JFS is
in the middle.

Apples, Oranges, and Pears.

(7) Mixing too many file systems in one system will degrade performance

No. If you had a system for editing video, you could use ext2 except
for, e.g. /var/tmp on which you could have XFS (especially on its own
disk or raid0 array).

(8) Is there any advantage to using ext2 for /boot rather than ext3?

Only in once instance: where drive space is limited you need a separate
/boot, using ext2 instead of ext3 saves the space for the journal.
Since the kernel doesn't change that often, you could leave /boot
mounted ro except when updating the kernel. In this case, a journal
doesn't really help unless you get a crash in the midst of a kernel

Bottom line for your situation:

Use ext3. If you want the ability to change the size of partitions, use
LVM. For a laptop, you may want to put everything in encrypted
partitions (with a separate /boot).

But all of that still gives me no reason to change all of my ext2 partitions to something else.


To UNSUBSCRIBE, email to debian-user-REQUEST@xxxxxxxxxxxxxxxx with a subject of "unsubscribe". Trouble? Contact listmaster@xxxxxxxxxxxxxxxx