The Linux File System Types


The computer file system is the method of organizing how and where the data should be stored on the hard disk, accessed, and managed. The computer file system also provides the capabilities to modify, create, delete the files. Without the file system, the information which is stored would not be isolated into individual files and would be difficult to identify and retrieve.

The ext, ext2, ext3, ext4, and xfs are all the file systems created for the Linux operating system.

1. Ext - The ext stands for extended file system and first implemented in 1992 as the file system created specifically for the Linux. It was developed by Remy Card. Its metadata structure was inspired by the UFS (UNIX file system). It was designed to overcome the certain limitations of the MINIX file system. The individual file size can be 2GB.

2. Ext2 - The ext2 stands for the second extended file system and it was first introduced in 1993. It was developed to overcome the limitation of the ext file system. It was also developed by Remy Card. This file system does not support the journaling feature. This file system comes with the fundamental concept of inode number (index node number or index node). Every file in the file system is represented by an inode. The inode structure contains the pointer to the file system blocks which contains the details about the file and all the meta-data.  The individual file size can be from 16 GB to 2 TB maximum and the overall file system size can be from 2 TB to 32 TB.

3. Ext3 - The ext3 stands for the third extended file system and it was developed by Stephen Tweedie in 2001. It was introduced in Linux kernel 2.4.15 and available since then. It also introduces the journaling feature. Journaling is developed to prevent data from corruption through sudden power loss or system crashes. There is three types of journaling mode are available in the ext3 file system such as journal, ordered, and write back.
  • Journal - It provides the most secure data retention policy. Basically, it writes metadata and file content to the journal but reduces the performance.
  • Ordered - This is a default mode and all the metadata are journal only after writing the content to disk. 
  • Write back - This mode is faster but at high risk. It makes no guarantee as to when the metadata is committed to the journal. But allow the file to shows up after a crash and relies on kernel standard write back to flush buffers
The conversion from ext2 to ext3 the file system is possible directly without and backups or restore by using “tune2fs command”. 

4. Ext4 - The ext4 stands for the fourth extended file system it was developed in 2008 and introduced in Linux kernel 2.6.14 and available since then. It has a backward compatibility feature means the ext4 can convert into ext3 or ext2. There are several more features are introduced in the ext4 file system such as multi-block allocation, journal checksum, fast fsck (file system check), delayed allocation, etc. In the ext4 user have an option to turn off the journaling features. The maximum size of an individual file can be from 16 GB to 16 TB and the overall file system size is 1 EB (Exabyte) which is greater than 1 PB (Petabyte) = 1024 TB and 1 TB (Terabyte) = 1024 GB.

5. XFS - The xfs file system was developed by Silicon Graphics Incorporation (SGI) in 1994. This is a 64-bit high-performance journaling file system and introduces in SGI’s IRIX operating system but with version 5.3. This file system was introduced to the Linux kernel in 2001 but in 2014 the xfs file system is supported by most of the Linux distributions and some use as a default file system. The maximum size of an individual file is 8 EB (Exabyte) for the 64-bit file system. The xfs file system is highly scalable but its scalability is for only scaling up not for scaling down means once you create a file system with xfs you cannot reduce the size

Note: Microsoft’s FAT file system is also often an option when formatting a driver in the Linux

No comments:

Post a Comment

Featured Post

Managing user and groups, UID and GID in Linux

What are users in the operating system? A user is a person who accesses or utilizes computer resources or network services. In order to ...

Popular Posts