X
    Categories: AWS

How To Attach And Mount EBS Volume To EC2 Linux Instance in AWS

In this post we will learn how we can Attach And Mount EBS Volume To EC2 Linux Instance in AWS.  You might be knowing that EC2 is nothing but an Elastic compute cloud which is a virtual computing environment (similar to virtual machine in vmware ). EBS(Elastic block store) is nothing but an extra volume or disk that can be attach to Ec2(virtual compute) for mounting extra mount point in linux.

So Lets begin with the steps to Attach And Mount EBS Volume To EC2 Linux Instance.

Steps:

Step 1 : Click on “ELASTIC BLOCK STORE–> Volumes” from the left pane in the Ec2 managment console.

Step 2: Now click on create volume button on the top. Select space as per your requirement. I have selected 2 Gb  of space , that means we are assigning Lun of 2Gb to our Ec2 Linux instance. Make sure you select same AZ as of the Ec2 instance to avoid the latency.

Step 3.  You will notice new EBS volume being created with status as available.

Step 4: Now Next step is to attach And mount EBS Volume To EC2 Linux Instance. For this select newly created EBS volume right click on it and select the “attach volume” option. Select instance and click attach button.

Step 4: Now login to Linux Ec2 instance  to check and confirm newly attached EBS volume with fdisk -l or lsblk command as below:

[root@ip-XXXXXX ~]# fdisk -l
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

Disk /dev/xvda: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: gpt


# Start End Size Type Name
1 2048 4095 1M BIOS boot parti
2 4096 20971486 10G Microsoft basic

Disk /dev/xvdf: 2147 MB, 2147483648 bytes, 4194304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

[root@ip-XXXX~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 10G 0 disk
├─xvda1 202:1 0 1M 0 part
└─xvda2 202:2 0 10G 0 part /
xvdf 202:80 0 2G 0 disk

You will notice that we have new xvdf  disk with capacity 2G is added to linux server.

Step 5: Format the EBS volume as ext4 filesystem using the following command.

[root@ip-XXXXXXX ~]# mkfs.ext4 /dev/xvdf
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 524288 blocks
26214 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912

Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done

However if you would like to use LVM volume instead of above whole disk approach you can follow steps here.

Step 6: Create one directory say “/EBS_volume” as an mount point and mount it using mount command as below:

# mkdir /EBS_volume
# mount /dev/xvdf /EBS_volume
# df -h /EBS_volume
Filesystem Size Used Avail Use% Mounted on
/dev/xvdf 2.0G 6.0M 1.8G 1% /EBS_volume

To unmount the volume, you have to use the following command.

# umount /EBS_volume

How to mount it automatically in next reboot?

You can see that in step 6  df command shows that new mount point is successfully mounted , however this mount point is not persistent across reboot meaning that , /EBS_volume will not mounted automatically after next reboot. To avoid this case follow next step.

Step 7: Add below entry in the /etc/fstab file as below:

/dev/xvdf       /EBS_volume   ext4    defaults,nofail        0

To learn more about /etc/fstab file follow steps here.

Step 8: Now mount it using below command

# mount -a

If you do not come across any error after this commands means all is Ok. Now, on every reboot this /EBS_volume will get mounted automatically.

That’s how we can Attach And Mount EBS Volume To EC2 Linux Instance.

Related Post