How to increase AWS EBS NVME size
System Design practice on Codemia
Work through 120+ system design problems with detailed solutions, from rate limiters to multi-region storage.
Understanding AWS EBS NVMe Volumes
Amazon Web Services (AWS) Elastic Block Store (EBS) provides block level storage volumes for use with Amazon EC2 instances. These volumes are dynamically scalable, meaning you can increase their size and adjust performance characteristics with minimal downtime.
EBS volumes on EC2 instances using Nitro-based instances are exposed as NVMe devices. NVMe, or Non-Volatile Memory Express, is a protocol designed to fully exploit the performance potential provided by non-volatile storage media like SSDs. As NVMe devices are managed differently compared to traditional block storage, resizing necessitates understanding certain intricacies.
Why Resize AWS EBS NVMe?
Resizing an AWS EBS volume is often necessary to accommodate increased data storage needs, enhance performance (by increasing IOPS), or cater to growing workloads without changing the underlying infrastructure.
Steps to Increase AWS EBS NVMe Size
Step 1: Identify Volume to Resize
- Log into AWS Management Console: Navigate to the EC2 Dashboard.
- Select the EBS Volume: Under the "Elastic Block Store" tab, select the "Volumes" sub-link to display all existing EBS volumes.
- Identify NVMe Volume: Ensure the selected volume is connected to an NVMe block device. These are typically discerned within the EC2 instance under `/dev/nvme*`.
Step 2: Modify EBS Volume
- Locate Modify Volume Option:
- In the EC2 Dashboard, find the volume ID you wish to resize.
- Click on the "Actions" dropdown to access "Modify Volume."
- Adjust Volume Settings:
- Size: Increase the size as required. AWS allows you to increase the volume size up to 16 TiB.
- Volume Type & IOPS (optional): Although our primary focus is size, reconsidering volume type and IOPS settings may optimize performance concurrent with resizing.
- Apply Changes:
- Click "Modify" to initiate the resizing process.
AWS will update volume status to `in-use` or `available` depending on current operations. You can monitor status in the console or via CLI with:
- For ext4 filesystem, use:
- For XFS filesystem, use:
- Downtime Minimization: While there's no necessary downtime, consider executing these modifications during off-peak hours to further minimize impacts.
- Backups: Always back up critical data before resizing. Snapshots can be a lifesaver in unexpected scenarios.
- Testing: Test documented processes in lower environments before executing in production.
Related reading
- How to increase the maximum size of the AWS lambda deployment package RequestEntityTooLargeException?
- How to insert to DynamoDb just if the key does not exist
- How to insert to DynamoDb just if the key does not exist
- How to install docker on Amazon Linux2
- How to install NGINX on AWS EC2 Linux 2
- How to install PHP 7 on EC2 t2.micro Instance running Amazon Linux Distro
- how to install pip with yum on EC2
- How to Install Postgresql 11 in Amazon Linux AMI?

System Design Fundamentals
Build a strong foundation in designing scalable, reliable distributed systems.
View the courseTrack what you have practised
A free account saves your progress, solutions and study plan across every problem on Codemia.
System Design practice on Codemia
Work through 120+ system design problems with detailed solutions, from rate limiters to multi-region storage.