Logan Schmidt
Posted on December 13, 2023
I've been working with several Linux EC2s over the years.
If you've ever run into your Linux EC2 server not behaving properly, one of the first things I would check is the DISK usage.
The disks for most "debug" servers are typically minimal, and can easily fill up.
1. Check your disk usage/space using df -h
Typically look for whatever is mounted to "root" or /
.
root@ip-10-75-3-227:/home/ubuntu# df -h
Filesystem Size Used Avail Use% Mounted on
udev 473M 0 473M 0% /dev
tmpfs 98M 11M 87M 11% /run
/dev/xvda1 7.7G 7.7G 0 100% /
tmpfs 488M 0 488M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 488M 0 488M 0% /sys/fs/cgroup
/dev/loop0 56M 56M 0 100% /snap/core18/2785
/dev/loop1 117M 117M 0 100% /snap/core/14946
/dev/loop2 119M 119M 0 100% /snap/core/15511
/dev/loop3 25M 25M 0 100% /snap/amazon-ssm-agent/6312
/dev/loop4 25M 25M 0 100% /snap/amazon-ssm-agent/6563
/dev/loop5 56M 56M 0 100% /snap/core18/2745
tmpfs 98M 0 98M 0% /run/user/1000
I know this can be a lot to look at, so let me draw your attention to the problematic spot:
/dev/xvda1 7.7G 7.7G 0 100% /
100% used space and 7.7G out of 7.7G used.
It's full...
2. Reclaim enough space to be able to perform commands.
Using Ubuntu, apt-get clean
(sudo yum clean all
on Debian systems)
(sudo dnf clean all
on Amazon Linux 2023+)
root@ip-10-75-3-227:/home/ubuntu# df -h
Filesystem Size Used Avail Use% Mounted on
udev 473M 0 473M 0% /dev
tmpfs 98M 716K 97M 1% /run
/dev/xvda1 7.7G 7.6G 156M 99% /
tmpfs 488M 0 488M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 488M 0 488M 0% /sys/fs/cgroup
/dev/loop0 56M 56M 0 100% /snap/core18/2785
/dev/loop1 117M 117M 0 100% /snap/core/14946
/dev/loop2 119M 119M 0 100% /snap/core/15511
/dev/loop3 25M 25M 0 100% /snap/amazon-ssm-agent/6312
/dev/loop4 25M 25M 0 100% /snap/amazon-ssm-agent/6563
/dev/loop5 56M 56M 0 100% /snap/core18/2745
tmpfs 98M 0 98M 0% /run/user/1000
3. Scale the disk in the AWS Console
EC2 > Volumes > Modify
In our case, we're going from 8GiB to 10GiB.
4. Check the block to expand
Use lsblk
to list blocks out.
root@ip-10-75-3-227:/home/ubuntu# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 55.7M 1 loop /snap/core18/2785
loop1 7:1 0 116.8M 1 loop /snap/core/14946
loop2 7:2 0 118.2M 1 loop /snap/core/15511
loop3 7:3 0 24.4M 1 loop /snap/amazon-ssm-agent/6312
loop4 7:4 0 24.8M 1 loop /snap/amazon-ssm-agent/6563
loop5 7:5 0 55.7M 1 loop /snap/core18/2745
xvda 202:0 0 8G 0 disk
└─xvda1 202:1 0 8G 0 part /
In this case xvda
and partition 1
is "root" for us.
5. Scale the disk using the following two commands
First, grow the partition,
growpart xvda 1
Lastly, resize the file system to use the new space,
resize2fs /dev/root
6. Confirm with df -h
we're done!
root@ec2:/home/ubuntu# df -h
Filesystem Size Used Avail Use% Mounted on
udev 473M 0 473M 0% /dev
tmpfs 98M 776K 97M 1% /run
/dev/xvda1 9.7G 3.7G 6.0G 38% /
tmpfs 488M 0 488M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 488M 0 488M 0% /sys/fs/cgroup
/dev/loop1 26M 26M 0 100% /snap/amazon-ssm-agent/5656
/dev/loop0 56M 56M 0 100% /snap/core18/2679
/dev/loop2 106M 106M 0 100% /snap/core/16202
/dev/loop3 117M 117M 0 100% /snap/core/14784
/dev/loop4 56M 56M 0 100% /snap/core18/2708
/dev/loop5 25M 25M 0 100% /snap/amazon-ssm-agent/6312
tmpfs 98M 0 98M 0% /run/user/1000
/dev/xvda1 9.7G 3.7G 6.0G 38% /
That's all!
Posted on December 13, 2023
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.