Requirements for EBS volume modifications
The following requirements and limitations apply when you modify an Amazon EBS volume. To learn more about the general requirements for EBS volumes, see Constraints on the size and configuration of an EBS volume.
Supported instance types
Elastic Volumes are supported on the following instances:
-
The following previous-generation instances: C1, C3, C4, G2, I2, M1, M3, M4, R3, and R4
If your instance type does not support Elastic Volumes, see Modify an EBS volume if Elastic Volumes is not supported.
Operating system
The following operating system requirements apply:
Linux AMIs require a GUID partition table (GPT) and GRUB 2 for boot volumes that are 2 TiB (2,048 GiB) or larger. Many Linux AMIs today still use the MBR partitioning scheme, which only supports boot volume sizes up to 2 TiB. If your instance does not boot with a boot volume larger than 2 TiB, the AMI you are using may be limited to a boot volume size of less than 2 TiB. Non-boot volumes do not have this limitation on Linux instances. For requirements affecting Windows volumes, see Requirements for Windows volumes in the Amazon EC2 User Guide for Windows Instances.
Before attempting to resize a boot volume beyond 2 TiB, you can determine whether the volume is using MBR or GPT partitioning by running the following command on your instance:
[ec2-user ~]$
sudo gdisk -l /dev/xvda
An Amazon Linux instance with GPT partitioning returns the following information:
GPT fdisk (gdisk) version 0.8.10 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT.
A SUSE instance with MBR partitioning returns the following information:
GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: MBR only BSD: not present APM: not present GPT: not present
By default, Windows initializes volumes with a Master Boot Record (MBR) partition table. Because MBR supports only volumes smaller than 2 TiB (2,048 GiB), Windows prevents you from resizing MBR volumes beyond this limit. In such a case, the Extend Volume option is disabled in the Windows Disk Management utility. If you use the Amazon Web Services Management Console or Amazon CLI to create an MBR-partitioned volume that exceeds the size limit, Windows cannot detect or use the additional space. For requirements affecting Linux volumes, see Requirements for Linux volumes in the Amazon EC2 User Guide for Linux Instances.
To overcome this limitation, you can create a new, larger volume with a GUID partition table (GPT) and copy over the data from the original MBR volume.
To create a GPT volume
-
Create a new, empty volume of the desired size in the Availability Zone of the EC2 instance and attach it to your instance.
Note
The new volume must not be a volume restored from a snapshot.
-
Log in to your Windows system and open Disk Management (diskmgmt.exe).
-
Open the context (right-click) menu for the new disk and choose Online.
-
In the Initialize Disk window, select the new disk and choose GPT (GUID Partition Table), OK.
-
When initialization is complete, copy the data from the original volume to the new volume, using a tool such as robocopy or teracopy.
-
In Disk Management, change the drive letters to appropriate values and take the old volume offline.
-
In the Amazon EC2 console, detach the old volume from the instance, reboot the instance to verify that it functions properly, and delete the old volume.
Limitations
-
There are limits to the maximum aggregated storage that can be requested across volume modifications. For more information, see Amazon EBS service quotas in the Amazon Web Services General Reference.
-
After modifying a volume, you must wait at least six hours and ensure that the volume is in the
in-use
oravailable
state before you can modify the same volume. -
Modifying an EBS volume can take from a few minutes to a few hours, depending on the configuration changes being applied. An EBS volume that is 1 TiB in size can typically take up to six hours to be modified. However, the same volume could take 24 hours or longer in other situations. The time it takes for volumes to be modified doesn't always scale linearly. Therefore, a larger volume might take less time, and a smaller volume might take more time.
-
If the volume was attached before November 3, 2016 23:40 UTC, you must initialize Elastic Volumes support. For more information, see Initializing Elastic Volumes Support.
-
If you encounter an error message while attempting to modify an EBS volume, or if you are modifying an EBS volume attached to a previous-generation instance type, take one of the following steps:
-
For a non-root volume, detach the volume from the instance, apply the modifications, and then re-attach the volume.
-
For a root volume, stop the instance, apply the modifications, and then restart the instance.
-
-
Modification time is increased for volumes that are not fully initialized. For more information see Initialize Amazon EBS volumes.
-
The new volume size can't exceed the supported capacity of its file system and partitioning scheme. For more information, see Constraints on the size and configuration of an EBS volume.
-
If you modify the volume type of a volume, the size and performance must be within the limits of the target volume type. For more information, see Amazon EBS volume types
-
You can't decrease the size of an EBS volume. However, you can create a smaller volume and then migrate your data to it using an application-level tool such as rsync (Linux instances) or robocopy (Windows instances).
-
After provisioning over 32,000 IOPS on an existing
io1
orio2
volume, you might need to detach and re-attach the volume, or restart the instance to see the full performance improvements. -
io2
volumes attached to instances built on the Nitro System support sizes up to 64 TiB and IOPS up to 256,000 IOPS.io2
volumes attached to other instances support sizes up to 16 TiB and IOPS up to 64,000, but can achieve performance up to 32,000 IOPS only. -
You can't modify the volume type of Multi-Attach enabled
io2
volumes. -
You can't modify the volume type, size, or Provisioned IOPS of Multi-Attach enabled
io1
volumes. -
A root volume of type
io1
,io2
,gp2
,gp3
, orstandard
can't be modified to anst1
orsc1
volume, even if it is detached from the instance. While
m3.medium
instances fully support volume modification,m3.large
,m3.xlarge
, andm3.2xlarge
instances might not support all volume modification features.