问题
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
.
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 20G 0 disk
└─xvda1 202:1 0 8G 0 part /
But updated size not reflecting in the df -h
command, even after i explicitly resize the device using the sudo resize2fs /dev/xvda1
command as my file system type is ext4
which i checked using sudo file -s /dev/xvd*
command. sudo resize2fs /dev/xvda1
command giving below output :-
sudo resize2fs /dev/xvda1 resize2fs 1.42.12 (29-Aug-2014) The filesystem is already 2096635 (4k) blocks long. Nothing to do!
Let me know, what i need to do for OS to pickup the size in my volume.
Thanks
回答1:
/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.
回答2:
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
回答3:
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.
回答4:
Have funin 9 steps...........
Detach root volume and take snapshot of root volume for safer side and resize it.Once resizied, mount this volume to your_instance under /dev/sda1 ensure filesystem is fully expanded to root volume by running “lsblk” and “df -h” commands. If change is not reflected run, “resize2fs -f ”
Further details refer,
Steps to increase the root volume
来源:https://stackoverflow.com/questions/42465831/aws-ec2-root-volume-increase-expanding-elastic-root-volume-on-aws-ubuntu-instan