How do I get my Amazon EBS volume out of the initializing state?
I want to get my Amazon Elastic Block Store (Amazon EBS) volume out of the initializing state, but it appears to be stuck in that state.
Short description
Your Amazon EBS volume can appear to be stuck in the initializing state when it's still undergoing the initialization process. Initialization process times vary based on volume size, snapshot data size, and the default initialization rate. For more information on the initialization process, see Initialize Amazon EBS volumes.
To resolve or speed up volume initialization, use one of the following resolutions based on your situation.
Resolution
Note: If you receive errors when you run AWS Command Line Interface (AWS CLI) commands, then see Troubleshooting errors for the AWS CLI. Also, make sure that you're using the most recent AWS CLI version.
Confirm that the volume is in the initializing state and not in another state
To confirm that your volume is in the initializing state, use the Amazon Elastic Compute Cloud (Amazon EC2) console or the AWS CLI.
To use the Amazon EC2 console, complete the following steps:
- Open the Amazon EC2 console.
- In the navigation pane, choose Volumes.
- Select the volume that appears stuck in the initializing state.
- Choose the Status checks tab, and then verify that your volume is in the initializing state.
To use the AWS CLI, run the following describe-volume-status command to check the volume initialization status:
aws ec2 describe-volume-status --volume-ids vol-1234567890abcdef0 --query VolumeStatuses[].InitializationStatusDetails.Progress
Note: Replace vol-1234567890abcdef0 with your volume ID.
Important: If you created the volume with a provisioned rate for volume initialization, then you can see the estimated completion time for your volume initialization.
If the volume is actively initializing, then the initialization process completes on its own based on the snapshot data size and the initialization rate. You don't need to take further action, but you can use the following methods to speed up the process.
Specify a predictable initialization rate
When you create an Amazon EBS volume from a snapshot, you can specify a provisioned rate for volume initialization that ranges from 100 to 300 MiB/s. Then, Amazon EBS downloads and writes the snapshot blocks to the volume at the specified rate to make initialization times predictable. For example, you might create a volume from a snapshot that has 10 GiB of data and specify a rate of 300 MiB/s. In this scenario, Amazon EBS fully initializes the volume in about 34 seconds.
To create a volume with a provisioned initialization rate, use the Amazon EC2 console or the AWS CLI.
To use the Amazon EC2 console, complete the following steps:
- Open the Amazon EC2 console.
- In the navigation pane, choose Volumes, and then choose Create volume.
- For Snapshot ID, select the snapshot that you want to create the volume from.
- For Volume initialization rate, specify a rate between 100 and 300 MiBps.
- Configure the remaining volume settings, and then choose Create volume.
To use the AWS CLI, run the following create-volume command to create a volume with a provisioned initialization rate:
aws ec2 create-volume \ --snapshot-id snap-1234567890abcdef0 \ --availability-zone us-east-1a \ --volume-type gp3 \ --volume-initialization-rate 300
Note: Replace snap-1234567890abcdef0 with your snapshot ID, us-east-1a with your Availability Zone, and 300 with your initialization rate.
Important: There's a limit of 5,000 MiBps on the total volume initialization rate across concurrent volume creation requests per AWS Region. You incur charges based on the snapshot data size and the specified rate. For more information, see Amazon EBS pricing.
Use fast snapshot restore
Important: You're billed for each minute that Amazon EBS fast snapshot restore (FSR) is activated for a snapshot in a particular Availability Zone. There's a minimum charge of one hour. You can use FSR for snapshots of 16 TiB or less.
If you create a volume from a snapshot that's configured for FSR, then Amazon EBS fully initializes the volume when you create it. FSR immediately delivers full performance and ends the initialization process.
FSR uses a capacity-based credit system where each snapshot-AZ pair maintains its own credit bucket that starts at zero when you first activate FSR. Then, the credit bucket refills at a rate determined by the source volume size, not the snapshot data size. Each volume you create from an FSR-activated snapshot consumes one credit from the bucket. If the bucket has less than one credit, then the volume loses FSR benefits and falls back to standard I/O latency on first block access. To monitor credit availability, use the Amazon CloudWatch metric FastSnapshotRestoreCreditsBalance in the AWS/EBS namespace.
To use FSR on a snapshot, use either the Amazon EC2 console or the AWS CLI.
To use the Amazon EC2 console, complete the following steps:
- Open the Amazon EC2 console.
- In the navigation pane, choose Snapshots.
- Select the snapshot.
- Choose Actions, and then under Snapshot settings, choose Manage fast snapshot restore.
- Select the Availability Zones that you want to use FSR.
- Choose Enable, and then choose Enable.
To use the AWS CLI, run the following enable-fast-snapshot-restores command:
aws ec2 enable-fast-snapshot-restores \ --availability-zones us-east-1a us-east-1b \ --source-snapshot-ids snap-1234567890abcdef0
Note: Replace us-east-1a and us-east-1b with your Availability Zones and snap-1234567890abcdef0 with your snapshot ID.
Manually initialize the volume
You must manually initialize volumes that were created without using a provisioned initialization rate or FSR. Manually initialize the volume by reading all blocks on the device. Manual initialization forces Amazon EBS to download the data from Amazon Simple Storage Service (Amazon S3).
Important: Manual initialization can take several minutes to several hours based on the volume size, instance bandwidth, and IOPS provisioned.
You can initialize the volume on Linux or Windows.
Initialize a volume on Linux
Use the fio utility for faster multi-threaded reads or the dd command.
To run the fio command:
sudo fio --filename=/dev/xvdf --rw=read --bs=1M --iodepth=32 --ioengine=libaio --direct=1 --name=volume-initialize
Note: Replace /dev/xvdf with the device name of your volume.
To run the dd command:
sudo dd if=/dev/xvdf of=/dev/null bs=1M
Note: Replace /dev/xvdf with the device name of your volume. Use the lsblk command to identify the correct device name.
Initialize a volume on Windows
Use dd or fio. For more information, see the Windows instances section in Manually initialize the volumes after creation.
Related information
- Topics
- Storage
- Language
- English

Relevant content
- asked 4 years ago
- asked a year ago
- asked 5 years ago
- asked a month ago
AWS OFFICIALUpdated 2 years ago
AWS OFFICIALUpdated 2 months ago