There are a variety of filesystems that can be used on a Linux system, including ext2, ext3,
XFS, JFS, Reiser's,
NFS, and of course, Linux can deal somewhat with foreign filesystems, like FAT, FAT32, NT, and others I'm not even thinking about (VMS, ???).
I didn't realize it or think about it until today that there is more to consider when choosing a filesystem than speed or reliability -- some of the filesystems might not support features that I consider important. (Thanks to J. Craig Woods for pointing this out in a post on
expert@linux-mandrakePLEASENOSPAM.com.)
This is a first attempt at summarizing some of the issues to be considered. It is very much a first draft, and may be factually incorrect at this point (as well as incomplete).
See
AboutThesePages.
Contents
Abbreviations and Definitions
Headings in the table:
- FS -- a common abbreviation for the filesystem
- Attribs -- does this filesystem support the LinuxFileAttributes
- Defrag -- does the filesystem require defragging
- Comments
Note: I expect to need to expand this table to deal with other issues -- will do so as they are identified.
Filesystem Summary Table
I've now deleted civileme's "ratings" from the table and included his recent comments on journaling file systems under the next heading.
| FS |
Attribs |
Defrag |
Comments |
| ext |
? |
yes |
obsolete |
| |
| ext2 |
yes |
no |
Linux standard |
| |
| ext3 |
yes |
no |
data/metadata journalling |
| JFS |
yes |
yes |
metadata journalling |
| XFS |
yes?1 |
no |
metadata journalling |
| ReiserFS |
yes |
no |
metadata journalling |
| |
| OpenAFS |
? |
? |
network -- AFS? |
| NFS |
? |
no |
network |
| |
| FAT |
no |
yes |
DOS/Windows |
| FAT32 |
no |
yes |
DOS/Windows |
| NTFS4 |
? |
yes |
Windows NT4 |
| NTFS5a |
? |
yes |
Windows 2000 |
| NTFS5b |
? |
? |
Windows XP |
| |
| |
Notes:
- quoting from a 28 Mar 2002 post by Lyvim Xaphir, referring to an IRC chat with an XFS developer: "The other was that he was positive that the chattr command would be unable to set an "i" attribute under XFS. He seemed unsure as to wether there were other unsupported attributes or not."
Resources
What's In Store
The purpose of this series is to give you a solid, practical introduction to Linux's various new filesystems, including ReiserFS, XFS, JFS, GFS, ext3 and others. I want to equip you with the necessary practical knowledge you need to actually start using these filesystems. My goal is to help you avoid as many potential pitfalls as possible; this means that we're going to take a careful look at filesystem stability, performance issues (both good and bad), any negative application interactions that you should be aware of, the best kernel/patch combinations, and more. Consider this series an "insider's guide" to these next-generation filesystems.
Civileme's Comments on Journaling Filesystems
civileme is a well respected poster on
newbie@linux-mandrakePLEASENOSPAM.com and
expert@linux-mandrakePLEASENOSPAM.com, and a Mankrake employee:
XFS supports ACLs (yes Windows ACLs under Samba)
JFS is the fastest I have tested, but I was still able to break it in 8.1 The newer one seems steadier.
ext3 is slow compared to the others, but doesn't break and usually recovers nicely. I have managed to destroy a Reiser partition with unexpected poweroffs, but not (yet) the others.
(This was in a series of recovery tests I am running)
A different quote: "Reiser is maturing nicely, but still doesn't like postfix."
SridharDhanapalan's Comments on Journaling Filesystems
Ext3 is both forwards and backwards compatible with ext2. This means that an ext2 filesystem can be converted into ext3 and vice versa. Ext3 offers a choice of no journalling (making it similar to ext2), metadata journalling and data journalling. The other Linux journalling filesystems do not support data journalling, so ext3 can be seen as the safest Linux filesystem. However, it is also the slowest.
ReiserFS has been optimised for small files, but not at the expense of large file performance.
XFS is optimised for larger files.
ReiserFS has had some issues with
NFS and
RAID configurations when using early versions of the 2.4 kernel. This was fixed in Linux 2.4.7.
JFS is probably the fastest journalling filesystem, but there are some drawbacks. Files take up more space than they would on other filesystems. JFS filesystems require periodic defragmenting; this can be set up as a cron job to run at a low peak usage time.
Contributors
- RandyKramer - 28 Mar 2002
- J. Craig Woods - 28 Mar 2002
- civileme - 28 Mar 2002
- SridharDhanapalan - 29 Mar 2002
- <If you edit this page, add your name here, move this to the next line>
Page Ratings