Understanding the Power of fstab for Permanent Partition Mounting in Linux
Tags: linux, systems
Published: 2023-12-04 14:56:30


## Introduction
In the changing world of Linux, understanding how to mount partitions permanently is a crucial skill. One key tool that empowers users in this endeavor is the fstab file. This blog aims to unravel the significance of fstab and guide you through the process of using it to achieve permanent partition mounting.

In our current era, the seamless plug-and-play experience of our external drives has become so ingrained in our routine that we might overlook the intricate operations occurring in the background. It's easy to forget that there are behind-the-scenes processes orchestrating the mounting of the drive and facilitating the read/write operations that make our digital interactions effortless.

## The Basics: What is Fstab?
Fstab stands for File System Table, and it is a configuration file used by the Linux operating system to define how different storage devices and partitions should be mounted into the filesystem. Essentially, it serves as a roadmap, guiding the system on where to find and how to use various storage resources. 

## The Anatomy of fstab:
Each line in the fstab file represents a unique entry for a partition. Let's break down the fields:
Syntax:
1) Device: Identifies the partition through its device file (e.g., /dev/sda1).
2) Mount Point: Specifies where the partition is attached in the directory tree. (e.g., /home).
3) File System Type: Indicates the type of filesystem on the partition (e.g., ext4, ntfs). 
4) Options(Access Modes): Dictates how the partition is mounted, such as read-only or read-write. 
5) BackUp or Dump: This field is used by the dump command to determine if a filesystem needs to be backed up. In most cases, it's set to 0.
6) Pass: Used by the fsck (filesystem check) tool to determine the order of filesystem checks during boot.

## Advantages of Using fstab:

One of the best advantages of fstab file is to make permanently mount the partition on the mountpoint.

Automation: Ensures that specified partitions are automatically mounted during system startup.
Consistency: Maintains a consistent filesystem structure across reboots.
Organization: Facilitates a structured approach to managing mounted partitions.


## A Word of Caution
Editing the Fstab file requires caution, as incorrect entries can lead to boot failures. Always make a backup before making changes, and consider testing configurations in a safe environment.
Always test changes by running the `mount -a` command before rebooting.

## Real-World Examples
Let's explore one of real-world examples to solidify our understanding. Here we'll try to mount a disk permanently to one folder(mount point). We will be using AWS EC2 Linux instance to see fstab in action.

- Launch an EC2 Instance and attach 1 EBS volume to it.
![EC2 instance launched with 1 EBS volume](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bhootu6c2g7klbj6b1iv.png)
- Create a partition in that disk. Use `fdisk /dev/diskname` command to go inside disk, create new primary partition. Press `n` and press enter to use all defaults and press `w` to save.
![Created Partition](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3m50qiyph4kd4mb6tcn5.png)

- Run `df -hT` command to check which disks are mounted on which mount points.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vpqb09pb0t5ssuoz7k2f.png)

- Format it and mount it on one of folder(mount point).
Use the following commands to format and mount.

```
mkfs.ext4 /dev/diskname

mount /foldername
```
Replace `diskname` with actual disk and `foldername` with actual folder name or mount point.

- Create entry in fstab file.
Let's head Over to `/etc/fstab` file and create an entry in it.

```
UUID=606fdc32-4700-4880-872c-5302a56dea14   /part1  ext4 defaults 0 0 
```
Here we had mounted partion with ext4 filesystem with the UUID "606fdc32-4700-4880-872c-5302a56dea14" to the /part1 directory with default mount options.

![Added entry in fstab file](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2m7gtbaz13blw6ksc75o.png)

- Test changes by running the `mount -a` command. If there is No error then we are good to go.
- Reboot the machine using `reboot` command.
- Verify that partition we created is still mounted. Check using `df -hT` command.

![final result](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s7i8irrr0m45jxbnzmf0.png)

In this exploration of the Fstab file, we've witnessed the magic of persistence. Even after rebooting the instance, our partition stands faithfully mounted, a testament to the effectiveness of our Fstab configurations.


## Conclusion
Understanding the Fstab file is a valuable skill. It empowers users to efficiently manage storage resources, optimize performance, and tailor their systems to specific needs. So, the next time you find yourself peering into the depths of the Fstab file, fear not; armed with knowledge, you'll navigate the Linux filesystem with confidence. Happy mounting!