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.
Contents
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.)
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 io1
volumes that are attached to an instance
and 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 a io1
volume to an instance for this check to report the I/O
performance status.
Important
While initializing io1
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
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) |
---|---|---|
|
Enabled (I/O Enabled or I/O Auto-Enabled) |
Normal (Volume performance is as expected) |
|
Enabled (I/O Enabled or I/O Auto-Enabled) |
Degraded (Volume performance is below expectations) Severely Degraded (Volume performance is well below expectations) |
|
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) |
|
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
volumes only. Volume performance is as expected. - Degraded
-
For
io1
volumes only. Volume performance is below expectations. - Severely Degraded
-
For
io1
volumes only. Volume performance is well below expectations. - Stalled
-
For
io1
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.
Options
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 information about creating a volume from a snapshot, see Restoring an Amazon EBS 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)
To modify the autoEnableIO
attribute of a volume, you can use one of
the commands below.
-
modify-volume-attribute (AWS CLI)
-
Edit-EC2VolumeAttribute (AWS Tools for Windows PowerShell)