This can be applied whenever you need to extend your EBS volume size avoiding to stop the instance and detach the volume.
In order to extend the volume size, follow these simple steps:
- Login to your AWS console
- Choose “EC2” from the services list
- Click on “Volumes” under ELASTIC BLOCK STORE menu (on the left)
- Choose the volume that you want to resize, right click on “Modify Volume”
- You’ll see an option window like this one: If your filesystem is an ext2, ext3, or ext4, type:
- Set the new size for your EBS volume (in this case i extended an 8GB volume to 20GB)
- Click on modify.
Now, we need to extend the partition itself.
SSH to the EC2 instance where the EBS we’ve just extended is attached to.
Type the following command to list our block devices:
lsblk
You should be able to see a similar output:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 20G 0 disk
└─xvda1 202:1 0 8G 0 part /
To do so, type the following command:
sudo growpart /dev/xvda 0
Now we can check that the partition reflects the increased volume size (we can check it with the lsblk command we already used):
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 20G 0 disk
└─xvda1 202:1 0 20G 0 part /
sudo resize2fs /dev/xvda1
sudo xfs_growfs /dev/xvda1
df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 980M 0 980M 0% /dev
tmpfs 997M 0 997M 0% /dev/shm
tmpfs 997M 440K 997M 1% /run
tmpfs 997M 0 997M 0% /sys/fs/cgroup
/dev/xvda1 20G 1,4G 9G 7% /
You have just extended your EBS volume size with 0 downtime.
Source: Hackernoon