File systems are important part of the operating systems. Files and folders are stored in file system. There are a lot of different type of files systems. We generally uses the Linux distribution provided file system without changing it.
ext4 is the most used and stable file system in the Linux ecosystem. There are alternatives too those can be used for specific situations. In this tutorial we will look pros and const of the Linux file systems. File system formatting can be learned from following tutorial.
What is Journaling
Files are writting to the disk by file system sub module of the operating system. But writing to disk is error prone operation. So file systems and operating systems provides some mechanism to make things reliable. Journaling is writing changes to the disk in a fault tolerant way.
This is the ancient file system provided by Linux kernel for Linux distributions. It has no jounalling which means open to disk write errors. Ext2 supports maximum 2TB disk to use. Being an old file system makes it more integrated with most of the devices and compatible.
Ext3 is the similar version with journaling. Ext3 designed to be backwards compatible with Ext3. Ext2 and Ext3 file systems can be converted vice versa.
Ext4 is the current default file system for most of the Linux distributions. It is reliable and provides journaling. Ext4 file system provides featured to make writing files to disk in a faster way. Uses extent format which reduces metadata overhead. There is no file count limit.
Btrfs is a copy on write file system. Btrfs is focusing on tolarance, repair and easy administration. Btrfs can use file system snapshots easyly without any overhead. Files can be compressed with Btrfs file system to gain more space. Online file system de-fragmentation is an other performance feature.
ReiserFS is an old file system which is generally used for mobile devices. ReiserFS have less features which makes it faster than other file systems.
ZFS is a file system created by Oracle. It mainly focus on ease of administration. It supports partition pools to manage partition easily. It has self healing feature against faults. ZFS can use snapshots like Btrfs.
Xfs is an old file system. Xfs have similar features to Ext4. Its main focus is performance. Xfs can perform very well with large files. Late writing is another performance feature provided by Xfs
Udf is file system for CDROM, DVDROM and ISO files. It provides simplycity and ease of use for different type of devices and platforms.
FAT is old fashion Windows file system. If we need to support cross platform with file system we can use FAT in Linux systems. FAT have file system size restrictions.
NTFS is new generation file system used in Windows platform. Linux kernel also supports NTFS with different user side modules like ntfs-3g etc. We generally do not prefer NTFS for Linux distributions but it is useful for portable disks.