I\'ve followed aws doc for expanding elastic root volume
and got my root volume size increased from 8 GB to 20 GB, which i confirmed using lsblk
.
NAM
The reason for your output is because you are missing a step.
The resize2fs program does not manipulate the size of partitions. If you wish to enlarge a filesystem, you must make sure you can expand the size of the underlying partition first... https://linux.die.net/man/8/resize2fs
Once you've increased the size of your volume either from using the AWS Console ( UI ) or using the command line aws ec2 modify-volume --volume-id ID_OF_DEVICE --size NEW_SIZE
(modify volume command line documentation)
You still need to tell the operating system that you want to allocate more space to the partition ( in this case the root partition /
)
So the correct sequence to get it work is as shown:
Extend the partition in a partition table to fill available space
(1) sudo growpart /dev/xvda 1
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/expand-linux-partition.html
Expand an ext2, ext3, ext4 file system
(2)sudo resize2fs /dev/xvda1
More on AWS recognizing expanded volume
/dev/xvda1
is an 8 GiB partition on a 20 GiB device and there are no other partitions on the volume. In this case, the partition must be resized in order to use the remaining space on the volume.
After you resize the partition, you can extend the file system (via sudo resize2fs /dev/xvda1
) to occupy all of the space on the partition.
My solution:
I don't know about you guys but I was able to add 30GB to my original 8GB Ubuntu EC2 instance and then I went to EC2 Console Manager and right clicked on my Instance, then pressed Reboot.
Once I rebooted and SSH'ed back into the server I typed df -h
and saw that my root partition (/dev/xvda1
) was of size 38GB.