3.8 File systems

 <  Day Day Up  >  

In this section, we introduce the choice of file systems available using Linux on pseries and their basic characteristics. For more detailed information, you can refer to " Advanced file system implementor's guide " written by Daniel Robbins and published at:


You can also refer to an article in Linux Magazine about journaling file systems written by Steve Best at:


An introduction to Linux file systems is also provided in "Filesystems in Linux" in " SuSELinux EnterpriseServer 8 for IBM iSeries and IBM pSeries Installation ", available on the CD or in the United Linux white paper:


A single Linux machine can use all file systems at once. On SuSE, we can set up all of them (except xfs) through YaST. Red Hat AS 3.0 only supports ext2, ext3, and JFS.

Some benchmarks comparing the performance of different file systems can be found at:


3.8.1 Second extended file system (ext2)

Extended file system version 2 is a classic Linux file system that offers good performance and reliability, but is not a journaling file system.

A power failure with a system mounted, or a system crash, will cause a dirty bit set and a running file system consistency check (fsck) after reboot. The system cannot be mounted until the consistency check is successfully finished. Fsck on the ext2 file system needs to check all file system structures; the time it takes to accomplish this task depends on the size of the file system and the number of files in it.

For information about limits of the ext2 file system, refer to:

http://www.unitedlinux.com/ pdfs /whitepaper4.pdf

For information about the design and history of ext2, see:

http://e2fsprogs. sourceforge .net/ext2intro.html

3.8.2 Third extended file system (ext3)

Extended 3 file system (ext3) is built on an ext2 framework, adding the journaling feature to it. In contrast to ext2, it does not require a file system check after every unclean shutdown.

Although ext3 is a journaling file system, it remains backward-compatible . An ext3 file system can always be explicitly mounted as an ext2 file system. An ext2 can be easily promoted on the fly to the ext3 file system, as shown in Example 3-20, and no reformatting is required.

Example 3-20. promoting ext2 to ext3
 #  tune2fs -j -c0 -i0 /dev/datavg/bench-lv  tune2fs 1.28 (31-Aug-2002) Setting maximal mount count to -1 Setting interval between check 0 seconds Creating journal inode: done This filesystem will be automatically checked every -1 mounts or 0 days, whichever comes first.  Use tune2fs -c or -i to override. 

In order to use journaling, we need to remount the file system with -t ext3 or the auto option. Surprisingly, the performance increases in most cases after promoting ext2 to ext3. Ext3 has higher throughput, because its journaling optimizes hard drive head motion. [12]

[12] http://www.redhat.com/support/wpapers/redhat/ext3/index.html

Ext3 has multiple journaling modes:

  • data=journal > journal all file data and metadata

  • data=ordered > journal metadata only, but data integrity ensured

  • data=writeback > journal metadata only

The data=journal and data=ordered (default) modes [13] in ext3 provide even better reliability then reiserfs or jfs because it is designed to ensure the integrity of both metadata and data. [14] Journal can be placed on other devices. The limits applying for ext3 are the same as ext2.

[13] SuSE Installation Guide: "A relatively new approach is to use the data=ordered mode, which ensures both data and metadata integrity, but uses journaling only for metadata. The file system driver collects all data blocks that correspond to one metadata update. These blocks are grouped as a "transaction" and will be written to disk before the metadata is updated. As a result, consistency is achieved for metadata and data without sacrificing performance."

[14] Daniel Robbins article at: http://www-106.ibm.com/developerworks/library/l-fs7.html

ext3 file system is the default file system on the Red Hat AS 3.


We recommend that you use the ext3 file system for system partitions. Because of its combination of journaling feature, recovery tools, and backward compatibility, it is the safest choice.

3.8.3 Reiser file system (reiserfs)

Reiserfs, developed and designed by Hans Reiser and his team at Namesys (http://www.namesys.com), was the first journaling file system available for Linux and is the default file system on SuSE SLES.

It uses optimized b* balanced tree, dynamic inode allocation and tail packing. Reiserfs has excellent small file performance and space utilization. Reiserfs is around 8 to 15 times faster than ext2 when handling files smaller than one k. [15]

[15] http://www-106.ibm.com/developerworks/library/l-fs.html

ReiserFS does meta-data journaling, enabling fast crash recovery without the expense of full data journaling.

For a look at the specifications of reiserfs, see:



For a performance tweak, use noatime and notail options when mounting a reiser file system.

3.8.4 Journaling File system (jfs)

JFS for Linux is a port and further development from the OS/2 jfs file system. It has an OS/2 compatibility option and is also closely related to the JFS2 file system on AIX 5L (but not to the JFS (1) file system on AIX) [16] JFS for linux is distributed under General Public License (GPL).

[16] See interview with Steve Best at: http://www.osnews.com/story.php?news_id=69

All system structure fields in JFS are 64-bits in size. JFS does journaling of meta-data only, it can immediately restart after a crash, and uses B+Tree algorithms for large directory structures.

JFS supports dynamic disc inode allocation, extended file attributes (EA) and access control lists (ACL).

JFS is a log-based, byte-level file system with great scalability and restore capabilities. Some JFS limits are shown in Table 3-3.

Table 3-3. JFS limits



Maximum file size

4 PB with 4k/block size; 4 TB with 512 block size

Maximum file system size

4 PB with 4k/block size; 4 TB with 512 block size

MInimum file system size

16 Megabyte

Number of subdirectories in one directory

65 K

For more information on JFS, visit:



 <  Day Day Up  >  

Quintero - Deploying Linux on IBM E-Server Pseries Clusters
Quintero - Deploying Linux on IBM E-Server Pseries Clusters
Year: 2003
Pages: 108

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net