监控您的卷状态 - Amazon Elastic Compute Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

监控您的卷状态

Amazon Web Services (Amazon) 自动提供可用于监控 Amazon Elastic Block Store (Amazon EBS) 卷的数据。

有关其他监控信息,请参阅Amazon EBS 的 Amazon CloudWatch 指标适用于 Amazon EBS 的 Amazon CloudWatch Events

EBS 卷状态检查

通过卷状态检查,您可以更好地了解、追踪和管理 Amazon EBS 卷上数据的潜在不一致性。它们的作用是在您需要确定 Amazon EBS 卷是否损坏的时候为您提供信息,帮助您控制处理潜在不一致卷的方式。

卷状态检查为自动执行的测试,该测试每隔 5 分钟运行一次并返回通过或故障状态。如果所有的检查都通过,则卷的状态为ok。如果一个检查返回故障,则卷的状态为impaired。如果状态为insufficient-data,那么该检查将在该卷上继续进行。您可以查看卷状态检查的结果来识别任意受损卷并进行所需操作。

当 Amazon EBS 判定一个卷中的数据具有潜在不一致性时,默认禁用从任何附加的 EC2 实例到该卷的 I/O,以此来防止数据损坏。禁用 I/O 后,下一个卷状态检查故障,并且卷状态为impaired。此外,您还会看到一个通知您 I/O 被禁用的事件,并且您可以通过使能到该卷的 I/O 来解决卷的损坏状态。我们将等待您启用 I/O,在此期间您有机会决定是继续让您的实例使用该卷,还是在使用该卷之前先使用命令(如 fsck)运行一致性检查。

注意

卷状况以卷状况检查为依据,并不反映卷状态。因此,卷状态并不表示卷处于 error 状态(例如,卷无法接受 I/O 时)。有关卷状态的信息,请参阅 卷状态

如果某个卷的一致性无关重要,您可以立即使该卷可用,如果该卷状态是“受损”,您可以配置该卷为自动启用 I/O 来覆盖默认操作。如果您启用 Auto-Enable IO (自动启用 IO) 卷属性(API 中的 autoEnableIO),则卷状态检查会继续通过。此外,您将会看到一个通知您该卷具有潜在不一致性的事件,但它的 I/O 不会自动启用。这使您能够检查卷的一致性或随后替换它。

I/O 性能状态检查将实际卷性能与卷的预期性能进行比较。如果卷的表现低于预期,它会提醒您。此状态检查仅适用于挂载到实例的预置 IOPS SSD(io1io2)卷。状态检查对于通用型 SSD(gp2gp3)、吞吐量优化型 HDD (st1)、Cold HDD (sc1)或磁介质 (standard) 卷无效。I/O 性能状态检查每分钟执行一次,CloudWatch 每 5 分钟收集一次这些数据。从您将 io1io2 卷挂载到实例的那一刻起,可能需要 5 分钟来进行状态检查,以报告 I/O 性能状态。

重要

在初始化已从快照还原的 Provisioned IOPS SSD 卷时,该卷的性能可能会下降到预期水平的 50% 以下,这会导致该卷在 I/O 性能状态检查中显示 warning 状态。这是预期行为,并且您可在初始化 Provisioned IOPS SSD 卷时忽略该卷上的 warning 状态。有关更多信息,请参阅 初始化 Amazon EBS 卷

下表列出了 Amazon EBS 卷的状态。

卷状态 I/O 使能状态 I/O 性能状态(仅限 io1io2 卷)

ok

使能 (I/O 使能或 I/O 自动使能)

正常 (卷的期望性能)

warning

使能 (I/O 使能或 I/O 自动使能)

降级 (卷的性能低于期望性能)

严重降级 (卷的性能大大低于期望性能)

impaired

使能 (I/O 使能或 I/O 自动使能)

禁用 (卷脱机和挂起恢复,或等待用户使能 I/O)

停滞 (卷性能受到严重影响)

不可用 (由于 I/O 被禁用,所以不能确定 I/O 性能)

insufficient-data

使能 (I/O 使能或 I/O 自动使能)

数据不足

数据不足

您可以使用以下方法查看和处理状态检查。

Console

查看状态检查,需要进行以下操作

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Volumes卷状态列显示每个卷的运行状态。

  3. 要查看卷的状态详细信息,请选中该卷,然后选择状态检查

    
                                    查看 EBS 卷状态
  4. 如果您的卷状态检查返回故障(状态是受损),请参阅使用受损的卷

另外,您还可以在导航器中选择事件来查看实例和卷所有的事件。有关更多信息,请参阅EBS 卷事件

Amazon CLI

查看卷状态信息

使用以下命令之一。

有关这些命令行界面的更多信息,请参阅 访问 Amazon EC2

EBS 卷事件

默认情况下,当 Amazon EBS 判定一个卷数据具有潜在不一致性时,它将会禁用从任何附加的 EC2 实例到该卷的 I/O。这将导致卷状态检查故障,并新建一个卷状态事件来指明故障的原因。

想要自动使能具有潜在不一致性卷上的 I/O,您可以改变自动启用 IO 卷属性(在 API 中为 autoEnableIO)的设置。更多关于改变这些属性的信息,请参阅使用受损的卷

每一个事件都包括一个开始时间,该时间指明事件发生的时间,和一个持续时间,该时间会指明该卷 I/O 会被禁用多久。当该卷的 I/O 被使能时,将会为该事件添加结束时间。

卷状态事件包括下列描述中的一个:

Awaiting Action: Enable IO

卷数据具有潜在一致性。在您明确的使能它之前,将一直禁用 I/O。当您明确启用 I/O 后,事件描述变为 IO Enabled

IO Enabled

明确地使能这些卷的 I/O 操作。

IO Auto-Enabled

事件发生后,自动使能这些卷上的 I/O 操作。我们建议您在继续使用数据前,先检查数据的不一致性。

Normal

仅适用于 io1io2gp3 卷。卷执行其期望性能。

Degraded

仅适用于 io1io2gp3 卷。卷性能低于期望性能。

Severely Degraded

仅适用于 io1io2gp3 卷。卷性能大大地低于期望性能。

Stalled

仅适用于 io1io2gp3 卷。卷的性能受到严重影响。

您可以使用以下方法查看卷的事件。

Console

想要查看您的卷事件,需要执行以下操作

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Events。列出具有事件的所有实例和卷。

  3. 可以按卷进行筛选以便仅查看卷状态。您也可以筛选指定的状态类型。

  4. 选择一个卷以查看其特定事件。

    
                                    查看卷事件
Amazon CLI

想要查看您的卷事件,需要执行以下操作

使用以下命令之一。

有关这些命令行界面的更多信息,请参阅 访问 Amazon EC2

如果您的卷 I/O 被禁用,请参阅使用受损的卷。如果您的卷 I/O 性能低于正常值,这可能是因为您之前的操作(例如,在使用高峰期间创建卷快照、在无法支持所需 I/O 带宽的实例上运行卷、第一次访问卷上的数据,等等)而造成的暂时状况。

使用受损的卷

如果卷受损,请使用以下选项,因为卷的数据可能不一致。

选项 1:对附加到其实例的卷执行一致性检查

最简单的选择是使能 I/O,然后在卷上进行一次数据一致性检查,但该卷仍附加到它的 Amazon EC2 实例。

想要在一个附加的卷上进行一次一致性检查,需要执行以下操作

  1. 停止所有使用该卷的应用程序。

  2. 在该卷上使能 I/O。使用以下方法之一。

    Console
    1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

    2. 在导航窗格中,选择 Volumes

    3. 选择要使能 I/O 操作的卷。

    4. 在详细信息窗格中,选择启用卷 IO,然后选择是,请启用

      
                                                启用 IO
    Amazon CLI

    使用命令行启用卷的 I/O

    您可以使用以下命令之一查看卷 Amazon EBS 的事件信息。有关这些命令行界面的更多信息,请参阅 访问 Amazon EC2

  3. 检查卷上数据。

    1. 运行 fsck 命令。

    2. (可选)查看所有适用的应用程序或系统日志以了解相关错误消息。

    3. 如果卷受损时间超过 20 分钟,您可以联系 Amazon 支持中心。选择问题排查,然后在状态检查故障排除对话框上选择联系客户服务提交一个支持案例。

选项 2:使用其他实例对该卷执行一致性检查

按照以下程序在您的产品环境外检查该卷。

重要

当卷 I/O 被禁用时,这些程序可能会导致挂起的写入 I/O 丢失。

想要在一个隔离环境中在一个卷上进行一次一致性检查,需要执行以下操作

  1. 停止所有使用该卷的应用程序。

  2. 将该卷从实例中分离。有关更多信息,请参阅从 Linux 实例分离 Amazon EBS 卷

  3. 在该卷上使能 I/O。使用以下方法之一。

    Console
    1. 在导航窗格中,选择 Volumes

    2. 选择您在之前的步骤中分离的卷。

    3. 在详细信息窗格中,选择启用卷 IO,然后选择是,请启用

      
                                                启用 IO
    Amazon CLI

    使用命令行启用卷的 I/O

    您可以使用以下命令之一查看卷 Amazon EBS 的事件信息。有关这些命令行界面的更多信息,请参阅 访问 Amazon EC2

  4. 将该卷附加到另一个实例。有关更多信息,请参阅启动实例将 Amazon EBS 卷挂载到实例

  5. 检查卷上数据。

    1. 运行 fsck 命令。

    2. (可选)查看所有适用的应用程序或系统日志以了解相关错误消息。

    3. 如果卷受损时间超过 20 分钟,您可以联系 Amazon 支持中心。选择 Troubleshoot,然后在故障排除对话框中选择 Contact Support 以提交支持案例。

选项 3:如果您不再需要卷,请将其删除

如果您想将该卷从您的环境中去除,只需删除它即可。关于删除一个卷的信息,请查阅删除 Amazon EBS 卷

如果您有在该卷上备份的近期快照,那么您可以从快照中创建一个新卷。有关更多信息,请参阅从快照创建卷

使用自动启用 IO 卷属性

默认情况下,当 Amazon EBS 判定一个卷数据具有潜在不一致性时,它将会禁用从任何附加的 EC2 实例到该卷的 I/O。这将导致卷状态检查故障,并新建一个卷状态事件来指明故障的原因。如果某个卷的一致性无关重要,您可以立即使该卷可用,如果该卷状态是受损,您可以配置该卷为自动启用 I/O 来覆盖默认操作。如果您启用 Auto-Enabled IO (自动启用 IO) 卷属性(API 中的 autoEnableIO),卷和实例之间的 I/O 会自动重新启用,并且卷将通过状态检查。此外,您将会看到一个通知您该卷具有潜在不一致状态的事件,但它的 I/O 不会自动启用。如果发生此事件,您应该检查该卷的一致性,如有必要,可对其进行更换。有关更多信息,请参阅EBS 卷事件

您可以使用以下方法查看和修改卷的自动启用 IO 属性。

Console

查看卷的“自动启用 IO”属性

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Volumes

  3. 选择卷,然后选择状态检查自动启用 IO 为卷显示当前设置(已启用已禁用)。

    
                                    查看自动启用 IO

修改卷的“自动启用 IO”属性

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Volumes

  3. 选择卷并选择操作更改自动启用 IO 设置。此外,选择状态检查选项卡,对于自动启用 IO,选择编辑

    
                                    更改自动启用 IO 设置
  4. 选中自动启用卷 IO复选框以为受损卷自动启用 I/O。想要禁用该功能,请清除复选框。

    
                                    修改自动启用 IO 设置
  5. 选择 Save

Amazon CLI

查看卷的 autoEnableIO 属性

使用以下命令之一。

修改卷的 autoEnableIO 属性

使用以下命令之一。

有关这些命令行界面的更多信息,请参阅 访问 Amazon EC2