How to Increase the Size of Root File System in AWS Linux Instance

If your root file system has got full or you want to add extra space to it for installing any package in the Linux machine on AWS cloud and you are not sure what to do, then this article will definitely help you. In this AWS cloud tutorial, we will tell you how to increase the root filesystem size of AWS Linux instance.

This is a very simple article and we assume your AWS Linux machine is already running. In this Virtual instance, we are using “Amazon Linux 2 AMI” with 8 GB EBS.

 

Increase Root File System in AWS Linux Instance

 

Steps to Increase the Size of Root File System in AWS Linux Instance without Reboot

 

1. First of all, we will have to increase the size of the root volume from the AWS management console for the EC2 instance. For that go to the EC2 dashboard in the AWS management console and then go to the Elastic Block Store as shown below and increase the size of EBS volume to the desired size. For this example, we are increasing it to 10G from 8G.

 

AWS-Navigate to EBS

AWS-Increase size of EBS volume

 

2. Now, once the size of the EBS volume has been increased, just very it using the ‘dmesg‘ logs and using ‘fdisk‘ command as shown below.

[root@ip-172-31-18-148 ]# dmesg | tail -10
[    3.754254] EXT4-fs (xvda1): re-mounted. Opts: (null)
[    3.789274] random: dd: uninitialized urandom read (4096 bytes read)
[    3.909201] random: vgs: uninitialized urandom read (4 bytes read)
[    4.000939] NET: Registered protocol family 10
[    4.009619] Segment Routing with IPv6
[    6.279139] urandom_read: 1 callbacks suppressed
[    6.279140] random: rngd: uninitialized urandom read (16 bytes read)
[    6.317849] random: crng init done
[ 3806.626451] Setting capacity to 20971520
[ 3806.630899] xvda: detected capacity change from 8589934592 to 10737418240

[root@ip-172-31-18-148 ]# fdisk -l /dev/xvda
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: dos
Disk identifier: 0x00000000

    Device Boot      Start         End      Blocks   Id  System
/dev/xvda1               1    16777215     8388607+  ee  GPT
[root@ip-172-31-18-148 ]# 

 

3. Now with the help of “lsblk” command check the partition size and then with the “growpart” command increases the size of the partition.

[root@ip-172-31-18-148 ]# lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  10G  0 disk
└─xvda1 202:1    0   8G  0 part /
[root@ip-172-31-18-148 ]#

[root@ip-172-31-18-148 ]# growpart /dev/xvda 1
CHANGED: disk=/dev/xvda partition=1: start=4096 old: size=16773086,end=16777182 new: size=20967390,end=20971486

[root@ip-172-31-18-148 ]# lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  10G  0 disk
└─xvda1 202:1    0  10G  0 part /
[root@ip-172-31-18-148 html]#

In the above terminal output, you will see that before the size of the partition xvda1 was 8G, but after increasing it with growpart command with was increased automatically to 10G. So you don’t have to specify any size while increasing it.

 

4. Once the partition is increased, it’s time to increase the size of the root file system. Here we will use “resize2fs” command to resize the filesystem and df command to verify.

[root@ip-172-31-18-148 ]# resize2fs /dev/xvda1
resize2fs 1.43.5 (04-Aug-2017)
Filesystem at /dev/xvda1 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/xvda1 is now 2620923 (4k) blocks long.

[root@ip-172-31-18-148 ]# df -hP
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        483M   60K  483M   1% /dev
tmpfs           493M  4.0K  493M   1% /dev/shm
/dev/xvda1      9.8G  1.7G  8.0G  18% /
[root@ip-172-31-18-148 ]#

 

This is it!

This was a very simple Amazon Web Services (AWS) cloud tutorial which teaches us how to increase the size of the root file system.

We will be creating more AWS tutorials, so please subscribe to our FREE newsletter, so that you get the email notification and also follow us on all the social media channels.

Buy me a coffeeBuy me a coffee

Add Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.