For some time Linux had been denied entrance into the enterprise Unix application space because it lacked a JFS (journaling file system). Over the past two years, however, Linux has gone from having no native JFS to the enviable state of having four. These four systems are at various levels of maturity, ranging from "recently out of beta" to "ready for high-capacity production use."
JFSes employ the use of journals, where data to be committed to disk is first written to a journal file. A thread processes the journal file during idle cycles, writes the journal entries to the disk and marks them as complete. If a partition is unceremoniously dropped without unmounting, the journal entries are processed at boot-up, and very few file-system integrity checks are required. Processing the remaining journal usually takes only a few seconds.
|
Online Special
Some mainstream Linux distributions are now putting safety -- and ease of implementation -- first. Click here to read more about secure Linux distributions.
|
The bottom line is that fscks (filesystem checks) are a thing of the past. These new JFSes also address issues of performance and fragmentation, both of which become more important as disk and file sizes continue to grow.
One common misconception about JFSes is that they prevent data loss. Some of the next-generation file systems being created will address data-integrity issues, but the journaling features simply guarantee that the file system will be in a consistent state in the event of a power loss or improper shutdown.
Ext2 and Ext3
The venerable Ext2 has been enhanced to support journaling and is now known as Ext3. Rather than rewriting the file system from the ground up, the developers chose simply to bolt on journaling capabilities. The advantage is backward (and forward) compatibility. Existing Ext2 partitions can be upgraded to Ext3 with one simple command (tune2fs -j /dev/hdXX). Even after upgrade, the file system can still be mounted as Ext2, provided that the Ext3 partition was unmounted cleanly. On existing systems, administrators might prefer this method of upgrade rather than having to back up, reformat and restore data to one of the other new JFSes described below.
ReiserFS
ReiserFS started from a ground-zero coding development and has thereby attained better performance in benchmark tests versus Ext3. ReiserFS was the first Linux JFS to hit the streets and has been in wide use for more than a year. Mandrake has included support for it in its last several releases, as has SuSE. The latest Red Hat offering, 7.2, also includes support, though your root partition cannot be formatted as Reiser at installation.
XFS
SGI has been working on its XFS file system since the early '90s. XFS addresses the high demands of digital video and large databases with support for huge file systems and fast crash recovery via journaling. SGI has jumped on the open-source bandwagon and finalized the 1.0 release of the Linux port earlier this summer. XFS is still too new to be included in either of the Linux kernel trees, much less a distribution. But it is definitely worth keeping an eye on.
JFS
Another industry heavyweight, IBM, is mirroring SGI's move with its own journaling file system, JFS. IBM is also releasing its high-performance file system, which is used in its commercial OS/2 Warp Server offering, under the GPL (GNU Public License). The code is out of beta, and the developers are hoping for inclusion in one of the upcoming kernel releases. As with XFS, the proven track record on thousands of production systems is what may eventually attract Linux administrators.