Monitor your Amazon EBS volumes - Amazon EBS
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Monitor your Amazon EBS volumes

Amazon automatically provides data that you can use to monitor your Amazon EBS volumes.

For additional monitoring information, see Amazon CloudWatch metrics for Amazon EBS and Amazon EventBridge 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 (Linux instances) or chkdsk (Windows instances), 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 states.

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. It alerts you if the volume is performing below expectations. This status check is available only for Provisioned IOPS SSD (io1 and io2) and General Purpose SSD (gp3) volumes that are attached to an instance. The status check 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. It might take up to 5 minutes from the moment that you attach an io1 or io2 volume to an instance for the status check to report the I/O performance status.

Important

While initializing Provisioned IOPS SSD 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 Provisioned IOPS SSD volumes while you are initializing them. For more information, see Initialize Amazon EBS volumes.

The following table lists statuses for Amazon EBS volumes.

Volume status I/O enabled status I/O performance status (io1, io2, and gp3 volumes only)

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

You can view and work with status checks using the following methods.

Console
To view status checks
  1. Open the Amazon EC2 console at https://console.amazonaws.cn/ec2/.

  2. In the navigation pane, choose Volumes.

    The Volume status column displays the operational status of each volume.

  3. To view the status details of a specific volume, select it in the grid and choose the Status checks tab.

  4. If you have a volume with a failed status check (status is impaired), see Work 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.

Amazon CLI
To view volume status information

Use the describe-volume-status command.

For more information about these command line interfaces, see Access Amazon EC2.

Tools for Windows PowerShell
To view volume status information

Use the Get-EC2VolumeStatus command.

For more information about these command line interfaces, see Access Amazon EC2.

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 Work 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, io2, and gp3 volumes only. Volume performance is as expected.

Degraded

For io1, io2, and gp3 volumes only. Volume performance is below expectations.

Severely Degraded

For io1, io2, and gp3 volumes only. Volume performance is well below expectations.

Stalled

For io1, io2, and gp3 volumes only. Volume performance is severely impacted.

You can view events for your volumes using the following methods.

Console
To view events for your volumes
  1. Open the Amazon EC2 console at https://console.amazonaws.cn/ec2/.

  2. In the navigation pane, choose Events. All instances and volumes that have events are listed.

  3. You can filter by volume to view only volume status. You can also filter on specific status types.

  4. Select a volume to view its specific event.

Amazon CLI
To view events for your volumes

Use the describe-volume-status command.

For more information about these command line interfaces, see Access Amazon EC2.

Tools for Windows PowerShell
To view events for your volumes

Use the Get-EC2VolumeStatus command.

For more information about these command line interfaces, see Access Amazon EC2.

If you have a volume where I/O is disabled, see Work 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.).

Work 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
  1. Stop any applications from using the volume.

  2. Enable I/O on the volume. Use one of the following methods.

    Console
    1. Open the Amazon EC2 console at https://console.amazonaws.cn/ec2/.

    2. In the navigation pane, choose Events.

    3. Select the volume on which to enable I/O operations.

    4. Choose Actions, Enable I/O.

    Amazon CLI
    To enable I/O for a volume with the Amazon CLI

    Use the enable-volume-io command.

    Tools for Windows PowerShell
    To enable I/O for a volume with the Tools for Windows PowerShell

    Use the Enable-EC2VolumeIO command.

  3. Check the data on the volume.

    1. Run the fsck (Linux instances) or chkdsk (Windows instances) command.

    2. (Optional) Review any available application or system logs for relevant error messages.

    3. If the volume has been impaired for more than 20 minutes, you can contact the Amazon Support Center. Choose Troubleshoot, and then in the Troubleshoot Status Checks dialog box, choose Contact Support to submit a support case.

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
  1. Stop any applications from using the volume.

  2. Detach the volume from the instance. For more information, see Detach an Amazon EBS volume from an instance.

  3. Enable I/O on the volume. Use one of the following methods.

    Console
    1. Open the Amazon EC2 console at https://console.amazonaws.cn/ec2/.

    2. In the navigation pane, choose Events.

    3. Select the volume that you detached in the previous step.

    4. Choose Actions, Enable I/O.

    Amazon CLI
    To enable I/O for a volume with the Amazon CLI

    Use the enable-volume-io command.

    Tools for Windows PowerShell
    To enable I/O for a volume with the Tools for Windows PowerShell

    Use the Enable-EC2VolumeIO command.

  4. Attach the volume to another instance. For more information, see Launch your instance and Attach an Amazon EBS volume to an instance.

  5. Check the data on the volume.

    1. Run the fsck (Linux instances) or chkdsk (Windows instances) command.

    2. (Optional) Review any available application or system logs for relevant error messages.

    3. If the volume has been impaired for more than 20 minutes, you can contact the Amazon Support Center. Choose Troubleshoot, and then in the troubleshooting dialog box, choose Contact Support to submit a support case.

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 Delete 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 Create a volume from a snapshot.

Work 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.

You can view and modify the Auto-Enabled IO attribute of a volume using one of the following methods.

Amazon EC2 console
To view the Auto-Enabled IO attribute of a volume
  1. Open the Amazon EC2 console at https://console.amazonaws.cn/ec2/.

  2. In the navigation pane, choose Volumes.

  3. Select the volume and choose the Status checks tab.

    The Auto-enabled I/O field displays the current setting (Enabled or Disabled) for the selected volume.

To modify the Auto-Enabled IO attribute of a volume
  1. Open the Amazon EC2 console at https://console.amazonaws.cn/ec2/.

  2. In the navigation pane, choose Volumes.

  3. Select the volume and choose Actions, Manage auto-enabled I/O.

  4. To automatically enable I/O for an impaired volume, select the Auto-enable I/O for impaired volumes check box. To disable the feature, clear the check box.

  5. Choose Update.

Amazon CLI
To view the autoEnableIO attribute of a volume

Use the describe-volume-attribute command.

To modify the autoEnableIO attribute of a volume

Use the modify-volume-attribute command.

For more information about these command line interfaces, see Access Amazon EC2

Tools for Windows PowerShell
To view the autoEnableIO attribute of a volume

Use the Get-EC2VolumeAttribute command.

To modify the autoEnableIO attribute of a volume

Use the Edit-EC2VolumeAttribute command.

For more information about these command line interfaces, see Access Amazon EC2