18.1 About Local File Systems

Oracle Linux supports a large number of local file system types that you can configure on block devices, including:

btrfs

Btrfs is a copy-on-write file system that is designed to address the expanding scalability requirements of large storage subsystems. It supports snapshots, a roll-back capability, checksum functionality for data integrity, transparent compression, and integrated logical volume management.

The maximum supported file or file system size is 16 EB, although these limits are untested. Btrfs requires the Unbreakable Enterprise Kernel Release 2 (2.6.39) or the Unbreakable Enterprise Kernel Release 3 (3.8.13).

For more information, see Section 18.2, “About the Btrfs File System”.

ext3

The ext3 file system includes journaling capabilities to improve reliability and availability. Consistency checks after a power failure or an uncontrolled system shutdown are unnecessary. ext2 file systems are upgradeable to ext3 without reformatting.

See Section 18.14, “Converting a Non-root Ext2 File System to Ext3” and Section 18.15, “Converting a root Ext2 File System to Ext3”.

The maximum supported file and file system sizes are 2 TB and 16 TB.

ext4

In addition to the features of ext3, the ext4 file system supports extents (contiguous physical blocks), pre-allocation, delayed allocation, faster file system checking, more robust journaling, and other enhancements.

The maximum supported file or file system size is 16 TB.

ocfs2

Although intended as a general-purpose, high-performance, high-availability, shared-disk file system intended for use in clusters, it is possible to use Oracle Cluster File System version 2 (OCFS2) as a standalone, non-clustered file system.

Although it might seem that there is no benefit in mounting OCFS2 locally as compared to alternative file systems such as ext4 or btrfs, you can use the reflink command with OCFS2 to create copy-on-write clones of individual files in a similar way to using the cp --reflink command with the btrfs file system. Typically, such clones allow you to save disk space when storing multiple copies of very similar files, such as VM images or Linux Containers. In addition, mounting a local OCFS2 file system allows you to subsequently migrate it to a cluster file system without requiring any conversion.

See Section 18.16, “Creating a Local OCFS2 File System”.

The maximum supported file or file system size is 16 TB.

vfat

The vfat file system (also known as FAT32) was originally developed for MS-DOS. It does not support journaling and lacks many of the features that are available with other file system types. It is mainly used to exchange data between Microsoft Windows and Oracle Linux systems.

The maximum supported file size or file system size is 2 GB.

xfs

XFS is a high-performance journaling file system, which provides high scalability for I/O threads, file system bandwidth, file and file system size, even when the file system spans many storage devices.

The maximum supported file or file system size is 100 TB. XFS is supported only on the x86_64 architecture and requires the Unbreakable Enterprise Kernel Release 2 (2.6.39) or the Unbreakable Enterprise Kernel Release 3 (3.8.13).

For more information, see Section 18.17, “About the XFS File System”.

To see what file system types your system supports, use the following command:

# ls /sbin/mkfs.*
/sbin/mkfs.btrfs   /sbin/mkfs.ext3     /sbin/mkfs.msdos
/sbin/mkfs.cramfs  /sbin/mkfs.ext4     /sbin/mkfs.vfat
/sbin/mkfs.ext2    /sbin/mkfs.ext4dev  /sbin/mkfs.xfs

These executables are used to make the file system type specified by their extension. mkfs.msdos and mkfs.vfat are alternate names for mkdosfs. mkfs.cramfs creates a compressed ROM, read-only cramfs file system for use by embedded or small-footprint systems.