Expanding the Elastic Block Store (EBS) volume on an EC2 Linux instance is a common task that ensures your applications have enough storage to handle growing data requirements. This blog post will guide you through the steps needed to expand your EBS volume without downtime successfully.

Step 1: Identify the Volume to Expand

First, log in to your AWS Management Console and navigate to the EC2 Dashboard. Click on Volumes under the Elastic Block Store section. Identify the volume you want to expand. Make a note of the volume ID.

Step 2: Modify the Volume

  1. Select the volume you wish to expand.
  2. Click on the Actions dropdown menu and select Modify Volume.
  3. In the Modify Volume dialog, update the volume’s size to the desired new size. Ensure that the new size is larger than the current size.
  4. Click Modify to apply the changes. AWS will begin resizing the volume.

Step 3: Monitor the Volume Modification

You can monitor the progress of the volume modification from the Volume section. The state will initially show as “modifying.” Once it changes to “in-use,” the resizing process is complete.

Step 4: Connect to Your EC2 Instance

Using SSH, connect to your EC2 instance that is attached to the EBS volume. Use the following command to log in:

ssh -i /path/to/your-key-pair.pem ec2-user@your-ec2-instance-public-dns

Step 5: Verify the Volume Expansion

Check if the OS recognizes the new volume size:

You should see your volume listed with the updated size.

Step 6: Extend the Partition

If your volume has a file system, you must extend the partition to utilize the new space. For a common ext4 file system, follow these steps:

  1. Identify the device name, e.g., /dev/xvdf1.

Use the growpart utility to extend the partition:

sudo growpart /dev/xvdf 1

Step 7: Resize the File System

Finally, resize the file system to use the additional space. For an ext4 file system, use the following command:

sudo resize2fs /dev/xvdf1

Step 8: Verify the File System Size

Confirm that the file system now uses the entire expanded volume:

df -h

You should see the file system showing the increased size.

Conclusion

By following these steps, you can easily expand your EBS volume on an EC2 Linux instance without downtime, ensuring your applications run smoothly as data requirements grow.