Filesystems supported by linux

Purpose of this post is to give systems administrators an overview and a comparison of File Systems available on Linux.

Linux File Systems

One of the most interesting features of the Linux OS is its variety of file systems. File systems can be defined and built on a partition basis. VFAT, ext2, ext3, ext4 and Reiser file systems can co-exist on the same Linux system, along with several other file systems and raw partitions.

Your choice of which one to use then becomes based on supportability, reliability, security and performance. Oracle generally does not certify its products against file systems but does certify operating systems. However, for some Linux distributions, Oracle might choose to have certifications on different filesystems. Depending on the version, Linux may include ext2, ext3, ext4, btrfs and NFS-based storage systems (e.g. NetApp).

There are various file systems available for Linux OS:

  • The ext2, ext3, ext4 file systems are robust. ext2 was the default file system under the 2.2 kernel. ext3 is simply the enhanced ext2 filesystem with a journaling feature. ext3 is the default filesystem for RHEL 3 and 4. ext4 was developed as the successor of ext3. It provides features for large filesystems, performance, increased limits, and reliability.
  • Oracle Cluster File System (OCFS) is a shared file system designed specifically for Oracle Real Application Cluster (RAC). OCFS eliminates the requirement for Oracle database files to be linked to logical drivers. OCFS volumes can span one shared disk or multiple shared disks for redundancy and performance enhancements.
  • OCFS2 is the next generation of the Oracle Cluster File System for Linux. It is an extent based, POSIX compliant file system. Unlike the previous release (OCFS), OCFS2 is a general-purpose file system that can be used for shared Oracle home installations making management of Oracle Real Application Cluster (RAC) installations even easier.
  • XFS is designed for high scalability and provides near native I/O performance even when the file system spans multiple storage devices

In summary, the recommended filesystems are:

  1. Single node: Any filesystem that is supported by the Linux vendor. Note that any filesystem issues are need to be resolved by the Linux vendor.
  2. Multi-node (RAC): OCFS, raw, NFS-based storage systems (e.g. NetApp).

File System Characteristics

When choosing a file system, performance is not the most important point. For example if there is a risk that data can get corrupted, lost or compromised, a fast file system should not be used. Oracle does not support files on file systems that do not have a write-through-cache capability. The file system must acknowledge the write operations. For example Standard NFS is UDP based, which is a network protocol that does not include an acknowledgment mechanism. One vendor that supplies a supported network file system is Network Appliance, and they are using a modified NFS protocol.

Читайте также:  Linux ld link 32 bit

There are security requirements as well. Oracle RDBMS and the database files require special file permissions, which are not available on some file systems (such as VFAT). If the specific file permissions are not set properly, the Oracle RDBMS does not function properly. Data files should be accessible only for the database owner . The database server should be able to control all other file and data access.

Journaling is a popular characteristic. The major benefit is that the changes to the file system are recorded in a journal file. If the server crashes or shuts down without synchronizing the disk, the journal file can be applied to the file system. Integrity checks and recovery for such file systems are very fast. This is quite noticeable during the system boot up. The fsck command checks journaled file systems more quickly compared to non-journaled file systems.

Single Node (local) filesystems

ext2, ext3, ext4

– The ext2, ext3 and ext4 file systems are closely related.
– ext2 can be converted to ext3.
– ext3 can be mounted as an ext2 file system.
– ext3 is a journaled file system.
– ext3 has several performance enhancements to ext2.
– ext3 can be mounted as ext4.
– ext4 has all features provided by ext3 and provides features for larger filesystems, performance, increased limits, reliability.

ReiserFS

– It is the default file system for Novell/SuSE Linux. On RedHat distributions it is not installed by default, but the necessary packages are on the distribution media.
– ReiserFS is currently under maintenance mode with SuSE/Novell.

btrfs

– From Btrfs wiki: Btrfs is a new copy on write (CoW) filesystem for Linux aimed at implementing advanced features while focusing on fault tolerance, repair and easy administration.
– Jointly developed at Oracle, Red Hat, Fujitsu, Intel, SUSE, STRATO and many others, Btrfs is licensed under the GPL and open for contribution from anyone.

See https://btrfs.wiki.kernel.org for further information.

XFS

XFS is designed for high scalability and provides near native I/O performance even when the file system spans multiple storage devices. See XFS Filesystem on Oracle Linux for more details.

Multi-node (shared / clustered) filesystems

Raw Partitions

– Raw partitions have been considered the high performance solution.
– Raw reads and write do not use the OS buffer cache.
– Raw reads and writes can move larger buffers than file system I/Os.
– Raw requires more experienced administration.

Oracle Cluster File System (OCFS)

– Oracle Cluster File System is designed for use with RAC. Oracle supports OCFS for use with databases files. OCFS is not a journaled file system, but does have very good performance metrics.
– Its performance is less than 5% slower compared raw devices and in most tests only 2% slower.
– Starting with OCFS vers. 1.0.14-1, OCFS support the Async I/O.

Читайте также:  Cpu stress testing linux

OCFS2

OCFS2 is the next generation of the Oracle Cluster File System for Linux. It is an extent based, POSIX compliant file system. Unlike the previous release (OCFS), OCFS2 is a general-purpose file system that can be used for shared Oracle home installations making management of Oracle Real Application Cluster (RAC) installations even easier. Among the new features and benefits are:

  • Node and architecture local files using Context Dependent Symbolic Links (CDSL).
  • Network based pluggable DLM.
  • Improved journaling/node recovery using the Linux Kernel “JBD” subsystem.
  • Improved performance of meta-data operations (space allocation, locking, etc).
  • Improved data caching/locking (for files such as oracle binaries, libraries, etc)

See https://oss.oracle.com/projects/ocfs2/ for more information.

Источник

Filesystems supported by linux

NAME

filesystems - Linux filesystem types: ext, ext2, ext3, ext4, hpfs, iso9660, JFS, minix, msdos, ncpfs nfs, ntfs, proc, Reiserfs, smb, sysv, umsdos, vfat, XFS, xiafs,

DESCRIPTION

When, as is customary, the proc filesystem is mounted on /proc, you can find in the file /proc/filesystems which filesystems your kernel currently supports; see proc(5) for more details. If you need a currently unsupported filesystem, insert the corresponding module or recompile the kernel. In order to use a filesystem, you have to mount it; see mount(8). Below a short description of the available or historically available filesystems in Linux kernel See kernel documentation for a comprehensive description of all options and limitations. ext is an elaborate extension of the minix filesystem. It has been completely superseded by the second version of the extended filesystem (ext2) and has been removed from the kernel (in 2.1.21). ext2 is the high performance disk filesystem used by Linux for fixed disks as well as removable media. The second extended filesystem was designed as an extension of the extended filesystem (ext). See ext2 (5). ext3 is a journaling version of the ext2 filesystem. It is easy to switch back and forth between ext2 and ext3. See ext3 (5). ext4 is a set of upgrades to ext3 including substantial performance and reliability enhancements, plus large increases in volume, file, and directory size limits. See ext4 (5). hpfs is the High Performance Filesystem, used in OS/2. This filesystem is read-only under Linux due to the lack of available documentation. iso9660 is a CD-ROM filesystem type conforming to the ISO 9660 standard. High Sierra Linux supports High Sierra, the precursor to the ISO 9660 standard for CD-ROM filesystems. It is automatically recognized within the iso9660 filesystem support under Linux. Rock Ridge Linux also supports the System Use Sharing Protocol records specified by the Rock Ridge Interchange Protocol. They are used to further describe the files in the iso9660 filesystem to a UNIX host, and provide information such as long filenames, UID/GID, POSIX permissions, and devices. It is automatically recognized within the iso9660 filesystem support under Linux. JFS is a journaling filesystem, developed by IBM, that was integrated into Linux in kernel 2.4.24. minix is the filesystem used in the Minix operating system, the first to run under Linux. It has a number of shortcomings, including a 64MB partition size limit, short filenames, and a single timestamp. It remains useful for floppies and RAM disks. msdos is the filesystem used by DOS, Windows, and some OS/2 computers. msdos filenames can be no longer than 8 characters, followed by an optional period and 3 character extension. ncpfs is a network filesystem that supports the NCP protocol, used by Novell NetWare. To use ncpfs, you need special programs, which can be found at ⟨ftp://linux01.gwdg.de/pub/ncpfs⟩. nfs is the network filesystem used to access disks located on remote computers. ntfs replaces Microsoft Window's FAT filesystems (VFAT, FAT32). It has reliability, performance, and space-utilization enhancements plus features like ACLs, journaling, encryption, and so on. proc is a pseudo filesystem which is used as an interface to kernel data structures rather than reading and interpreting /dev/kmem. In particular, its files do not take disk space. See proc(5). Reiserfs is a journaling filesystem, designed by Hans Reiser, that was integrated into Linux in kernel 2.4.1. smb is a network filesystem that supports the SMB protocol, used by Windows for Workgroups, Windows NT, and Lan Manager. To use smb fs, you need a special mount program, which can be found in the ksmbfs package, found at ⟨ftp://sunsite.unc.edu/pub/Linux/system/Filesystems /smbfs⟩. sysv is an implementation of the SystemV/Coherent filesystem for Linux. It implements all of Xenix FS, SystemV/386 FS, and Coherent FS. umsdos is an extended DOS filesystem used by Linux. It adds capability for long filenames, UID/GID, POSIX permissions, and special files (devices, named pipes, etc.) under the DOS filesystem, without sacrificing compatibility with DOS. vfat is an extended DOS filesystem used by Microsoft Windows95 and Windows NT. vfat adds the capability to use long filenames under the MSDOS filesystem. XFS is a journaling filesystem, developed by SGI, that was integrated into Linux in kernel 2.4.20. xiafs was designed and implemented to be a stable, safe filesystem by extending the Minix filesystem code. It provides the basic most requested features without undue complexity. The xiafs filesystem is no longer actively developed or maintained. It was removed from the kernel in 2.1.21.

SEE ALSO

ext2(5), ext3(5), ext4(5), proc(5), fsck(8), mkfs(8), mount(8)

COLOPHON

© 2019 Canonical Ltd. Ubuntu and Canonical are registered trademarks of Canonical Ltd.

Читайте также:  Find file in linux with grep

Источник

Оцените статью
Adblock
detector