top of page
Writer's pictureSiddhesh Kadam

Step-by-step guide to mounting an S3 partition using fstab


Mount S3 using fstab

To mount an Amazon S3 bucket as a partition on a Linux system using fstab, you would typically use a tool like s3fs. s3fs is a FUSE-based file system backed by Amazon S3. Here's how you can do it.


1.Install s3fs:

First, you need to install s3fs on your system. You can usually install it using your package manager. For example, on Debian/Ubuntu systems, you can do:


2.Configure AWS credentials:


You need to have your AWS access credentials configured properly. The recommended way to do this is by setting environment variables AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY, or you can use AWS IAM roles if you're running on an EC2 instance.


3.Create a mount point: Create a directory where you want to mount your S3 bucket. For example:

[root@siddhesh ~]# mkdir /mnt/builddevops_container

4.Configure fstab:


To mount your S3 bucket automatically on system boot, you can add an entry to /etc/fstab. Open /etc/fstab in a text editor and add a line like this:

[root@siddhesh ~]# grep builddevops_container /etc/fstab
s3fs#tests3bucket /mnt/builddevops_container fuse _netdev,allow_other 0 0
[root@siddhesh ~]#

Let's break down each part of the entry:

s3fs#tests3bucket: This specifies the filesystem type and the bucket name. s3fs is the filesystem type, indicating that it will be using the s3fs utility to mount the S3 bucket. tests3bucket is the name of the S3 bucket to be mounted.

/mnt/builddevops_container: This is the mount point, where the S3 bucket will be mounted locally. In this case, it will be mounted at the directory /mnt/builddevops_container.

fuse: This specifies the filesystem type. FUSE (Filesystem in Userspace) is a mechanism for Unix-like operating systems that lets non-privileged users create their own file systems without editing kernel code. fuse here indicates that s3fs uses FUSE to mount the S3 bucket.

_netdev: This option tells the system that the filesystem requires network access. This ensures that the mount is not attempted until the network has been enabled.

allow_other: This option allows access to the mounted filesystem by users other than the user who mounted it. Without this option, only the user who mounted the filesystem would have access to it.

0 0: These are options for filesystem dumping and filesystem checking. They are typically set to 0 as they are not relevant for network filesystems like S3.


5.Test the mount:


After making changes to fstab, it's a good idea to test your configuration to ensure that it mounts correctly. You can do this by running:

[root@siddhesh ~]# mount -a
[root@siddhesh ~]# df -h /mnt/builddevops_container
Filesystem      Size  Used Avail Use% Mounted on
s3fs            4.0G     0  4.0G   0% /mnt/builddevops_container
[root@siddhesh ~]#

If everything is configured correctly, you should see your S3 bucket mounted at the specified mount point.

bottom of page