Monitoring the status of your volumes

Amazon Web Services (AWS) automatically provides data that you can use to monitor your Amazon Elastic Block Store (Amazon EBS) volumes.

For additional monitoring information, see Amazon CloudWatch metrics for Amazon EBS and Amazon CloudWatch Events for Amazon EBS.

EBS volume status checks

Volume status checks enable you to better understand, track, and manage potential inconsistencies in the data on an Amazon EBS volume. They are designed to provide you with the information that you need to determine whether your Amazon EBS volumes are impaired, and to help you control how a potentially inconsistent volume is handled.

Volume status checks are automated tests that run every 5 minutes and return a pass or fail status. If all checks pass, the status of the volume is ok . If a check fails, the status of the volume is impaired . If the status is insufficient-data , the checks may still be in progress on the volume. You can view the results of volume status checks to identify any impaired volumes and take any necessary actions.

When Amazon EBS determines that a volume's data is potentially inconsistent, the default is that it disables I/O to the volume from any attached EC2 instances, which helps to prevent data corruption. After I/O is disabled, the next volume status check fails, and the volume status is impaired . In addition, you'll see an event that lets you know that I/O is disabled, and that you can resolve the impaired status of the volume by enabling I/O to the volume. We wait until you enable I/O to give you the opportunity to decide whether to continue to let your instances use the volume, or to run a consistency check using a command, such as fsck, before doing so.

Note Volume status is based on the volume status checks, and does not reflect the volume state. Therefore, volume status does not indicate volumes in the error state (for example, when a volume is incapable of accepting I/O.) For information about volume states, see Volume state.

If the consistency of a particular volume is not a concern, and you'd prefer that the volume be made available immediately if it's impaired, you can override the default behavior by configuring the volume to automatically enable I/O. If you enable the Auto-Enable IO volume attribute ( autoEnableIO in the API), the volume status check continues to pass. In addition, you'll see an event that lets you know that the volume was determined to be potentially inconsistent, but that its I/O was automatically enabled. This enables you to check the volume's consistency or replace it at a later time.

The I/O performance status check compares actual volume performance to the expected performance of a volume and alerts you if the volume is performing below expectations. This status check is only available for Provisioned IOPS SSD ( io1 and io2 ) volumes that are attached to an instance. It is not valid for General Purpose SSD ( gp2 ), Throughput Optimized HDD ( st1 ), Cold HDD ( sc1 ), or Magnetic ( standard ) volumes. The I/O performance status check is performed once every minute and CloudWatch collects this data every 5 minutes, so it may take up to 5 minutes from the moment you attach an io1 or io2 volume to an instance for this check to report the I/O performance status.

Important While initializing io1 and io2 volumes that were restored from snapshots, the performance of the volume may drop below 50 percent of its expected level, which causes the volume to display a warning state in the I/O Performance status check. This is expected, and you can ignore the warning state on io1 and io2 volumes while you are initializing them. For more information, see Initializing Amazon EBS volumes.

The following table lists statuses for Amazon EBS volumes.

Volume status I/O enabled status I/O performance status (only available for Provisioned IOPS volumes) ok Enabled (I/O Enabled or I/O Auto-Enabled) Normal (Volume performance is as expected) warning Enabled (I/O Enabled or I/O Auto-Enabled) Degraded (Volume performance is below expectations) Severely Degraded (Volume performance is well below expectations) impaired Enabled (I/O Enabled or I/O Auto-Enabled) Disabled (Volume is offline and pending recovery, or is waiting for the user to enable I/O) Stalled (Volume performance is severely impacted) Not Available (Unable to determine I/O performance because I/O is disabled) insufficient-data Enabled (I/O Enabled or I/O Auto-Enabled) Insufficient Data Insufficient Data

To view and work with status checks, you can use the Amazon EC2 console, the API, or the command line interface.

To view status checks in the console Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/ . In the navigation pane, choose Volumes. The Volume Status column displays the operational status of each volume. To view the status details of a volume, select the volume and choose Status Checks. If you have a volume with a failed status check (status is impaired), see Working with an impaired volume.

Alternatively, you can choose Events in the navigator to view all the events for your instances and volumes. For more information, see EBS volume events.

To view volume status information with the command line You can use one of the following commands to view the status of your Amazon EBS volumes. For more information about these command line interfaces, see Accessing Amazon EC2. describe-volume-status (AWS CLI)

Get-EC2VolumeStatus (AWS Tools for Windows PowerShell)

EBS volume events

When Amazon EBS determines that a volume's data is potentially inconsistent, it disables I/O to the volume from any attached EC2 instances by default. This causes the volume status check to fail, and creates a volume status event that indicates the cause of the failure.

To automatically enable I/O on a volume with potential data inconsistencies, change the setting of the Auto-Enabled IO volume attribute ( autoEnableIO in the API). For more information about changing this attribute, see Working with an impaired volume.

Each event includes a start time that indicates the time at which the event occurred, and a duration that indicates how long I/O for the volume was disabled. The end time is added to the event when I/O for the volume is enabled.

Volume status events include one of the following descriptions:

Awaiting Action: Enable IO Volume data is potentially inconsistent. I/O is disabled for the volume until you explicitly enable it. The event description changes to IO Enabled after you explicitly enable I/O. IO Enabled I/O operations were explicitly enabled for this volume. IO Auto-Enabled I/O operations were automatically enabled on this volume after an event occurred. We recommend that you check for data inconsistencies before continuing to use the data. Normal For io1 and io2 volumes only. Volume performance is as expected. Degraded For io1 and io2 volumes only. Volume performance is below expectations. Severely Degraded For io1 and io2 volumes only. Volume performance is well below expectations. Stalled For io1 and io2 volumes only. Volume performance is severely impacted.

You can view events for your volumes using the Amazon EC2 console, the API, or the command line interface.

To view events for your volumes in the console Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/ . In the navigation pane, choose Events. All instances and volumes that have events are listed. You can filter by volume to view only volume status. You can also filter on specific status types. Select a volume to view its specific event.

If you have a volume where I/O is disabled, see Working with an impaired volume. If you have a volume where I/O performance is below normal, this might be a temporary condition due to an action you have taken (for example, creating a snapshot of a volume during peak usage, running the volume on an instance that cannot support the I/O bandwidth required, accessing data on the volume for the first time, etc.).

To view events for your volumes with the command line You can use one of the following commands to view event information for your Amazon EBS volumes. For more information about these command line interfaces, see Accessing Amazon EC2. describe-volume-status (AWS CLI)

Get-EC2VolumeStatus (AWS Tools for Windows PowerShell)

Working with an impaired volume

Use the following options if a volume is impaired because the volume's data is potentially inconsistent.

Option 1: Perform a consistency check on the volume attached to its instance

The simplest option is to enable I/O and then perform a data consistency check on the volume while the volume is still attached to its Amazon EC2 instance.

To perform a consistency check on an attached volume Stop any applications from using the volume. Enable I/O on the volume. Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/ . In the navigation pane, choose Volumes. Select the volume on which to enable I/O operations. In the details pane, choose Enable Volume IO, and then choose Yes, Enable. Check the data on the volume. Run the fsck command. (Optional) Review any available application or system logs for relevant error messages. If the volume has been impaired for more than 20 minutes, you can contact the AWS Support Center. Choose Troubleshoot, and then in the Troubleshoot Status Checks dialog box, choose Contact Support to submit a support case.

To enable I/O for a volume with the command line You can use one of the following commands to view event information for your Amazon EBS volumes. For more information about these command line interfaces, see Accessing Amazon EC2. enable-volume-io (AWS CLI)

Enable-EC2VolumeIO (AWS Tools for Windows PowerShell)

Option 2: Perform a consistency check on the volume using another instance

Use the following procedure to check the volume outside your production environment.

Important This procedure may cause the loss of write I/Os that were suspended when volume I/O was disabled.

To perform a consistency check on a volume in isolation Stop any applications from using the volume. Detach the volume from the instance. Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/ . In the navigation pane, choose Volumes. Select the volume to detach. Choose Actions, Force Detach Volume. You'll be prompted for confirmation. Enable I/O on the volume. In the navigation pane, choose Volumes. Select the volume that you detached in the previous step. In the details pane, choose Enable Volume IO, and then choose Yes, Enable. Attach the volume to another instance. For more information, see Launch your instance and Attaching an Amazon EBS volume to an instance. Check the data on the volume. Run the fsck command. (Optional) Review any available application or system logs for relevant error messages. If the volume has been impaired for more than 20 minutes, you can contact the AWS Support Center. Choose Troubleshoot, and then in the troubleshooting dialog box, choose Contact Support to submit a support case.

To enable I/O for a volume with the command line You can use one of the following commands to view event information for your Amazon EBS volumes. For more information about these command line interfaces, see Accessing Amazon EC2. enable-volume-io (AWS CLI)

Enable-EC2VolumeIO (AWS Tools for Windows PowerShell)

Option 3: Delete the volume if you no longer need it

If you want to remove the volume from your environment, simply delete it. For information about deleting a volume, see Deleting an Amazon EBS volume.

If you have a recent snapshot that backs up the data on the volume, you can create a new volume from the snapshot. For more information, see Creating a volume from a snapshot.

Working with the Auto-Enabled IO volume attribute

When Amazon EBS determines that a volume's data is potentially inconsistent, it disables I/O to the volume from any attached EC2 instances by default. This causes the volume status check to fail, and creates a volume status event that indicates the cause of the failure. If the consistency of a particular volume is not a concern, and you prefer that the volume be made available immediately if it's impaired, you can override the default behavior by configuring the volume to automatically enable I/O. If you enable the Auto-Enabled IO volume attribute ( autoEnableIO in the API), I/O between the volume and the instance is automatically re-enabled and the volume's status check will pass. In addition, you'll see an event that lets you know that the volume was in a potentially inconsistent state, but that its I/O was automatically enabled. When this event occurs, you should check the volume's consistency and replace it if necessary. For more information, see EBS volume events.

This procedure explains how to view and modify the Auto-Enabled IO attribute of a volume.

To view the Auto-Enabled IO attribute of a volume in the console Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/ . In the navigation pane, choose Volumes. Select the volume and choose Status Checks. Auto-Enabled IO displays the current setting (Enabled or Disabled) for your volume.

To modify the Auto-Enabled IO attribute of a volume in the console Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/ . In the navigation pane, choose Volumes. Select the volume and choose Actions, Change Auto-Enable IO Setting. Alternatively, choose the Status Checks tab, and for Auto-Enabled IO, choose Edit. Select the Auto-Enable Volume IO check box to automatically enable I/O for an impaired volume. To disable the feature, clear the check box. Choose Save.

To view or modify the autoEnableIO attribute of a volume with the command line You can use one of the following commands to view the autoEnableIO attribute of your Amazon EBS volumes. For more information about these command line interfaces, see Accessing Amazon EC2. describe-volume-attribute (AWS CLI)

Get-EC2VolumeAttribute (AWS Tools for Windows PowerShell)