监控您的卷状态
Amazon Web Services (AWS) 自动提供可用于监控 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 来覆盖默认操作。如果您启用自动启用 IO 卷属性(在 API 中为 autoEnableIO
),那么该卷会继续通过状态检查。此外,您将会看到一个通知您该卷具有潜在不一致性的事件,但它的 I/O 不会自动启用。这使您能够检查卷的一致性或随后替换它。
I/O 性能状态检查将实际卷性能与卷的预期性能进行比较,并在卷性能低于预期时向您发出警示。此状态检查仅适用于连接到实例的 预配置 IOPS SSD (io1
和 io2
) 卷。它对 通用型 SSD (gp2
)、吞吐优化 HDD (st1
)、Cold HDD (sc1
) 或 磁介质 (standard
) 卷无效。I/O 性能状态检查每分钟执行一次,CloudWatch 每 5 分钟收集一次这些数据,因此在您将 io1
或 io2
卷连接到实例后,此检查最多可能需要 5 分钟才会报告 I/O 性能状态。
在初始化已从快照还原的 io1
和 io2
卷时,该卷的性能可能会下降到预期水平的 50% 以下,这会导致该卷在 I/O 性能状态检查中显示 warning
状态。这是预期行为,并且您可在初始化 io1
和 io2
卷时忽略该卷上的 warning
状态。有关更多信息,请参阅 初始化 Amazon EBS 卷。
下表列出了 Amazon EBS 卷的状态。
卷状态 | I/O 使能状态 | I/O 性能状态 (只适用于预配置 IOPS 卷) |
---|---|---|
|
使能 (I/O 使能或 I/O 自动使能) |
正常 (卷的期望性能) |
|
使能 (I/O 使能或 I/O 自动使能) |
降级 (卷的性能低于期望性能) 严重降级 (卷的性能大大低于期望性能) |
|
使能 (I/O 使能或 I/O 自动使能) 禁用 (卷脱机和挂起恢复,或等待用户使能 I/O) |
停滞 (卷性能受到严重影响) 不可用 (由于 I/O 被禁用,所以不能确定 I/O 性能) |
|
使能 (I/O 使能或 I/O 自动使能) 数据不足 |
数据不足 |
您可以使用 Amazon EC2 控制台、API 或命令行界面来查看和使用状态检查。
在控制台中查看状态检查
-
打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/
。 -
在导航窗格中,选择卷。卷状态列显示每个卷的运行状态。
-
要查看卷的状态详细信息,请选中该卷,然后选择状态检查。
-
如果您的卷状态检查返回故障(状态是受损),请参阅使用受损的卷。
另外,您还可以在导航器中选择事件来查看实例和卷所有的事件。有关更多信息,请参阅EBS 卷事件。
使用命令行查看卷状态信息
您可以使用以下命令之一查看 Amazon EBS 卷的状态。有关这些命令行界面的更多信息,请参阅 访问 Amazon EC2。
-
describe-volume-status (AWS CLI)
-
Get-EC2VolumeStatus(适用于 Windows PowerShell 的 AWS 工具)
EBS 卷事件
默认情况下,当 Amazon EBS 判定一个卷数据具有潜在不一致性时,它将会禁用从任何附加的 EC2 实例到该卷的 I/O。这将导致卷状态检查故障,并新建一个卷状态事件来指明故障的原因。
想要自动使能具有潜在不一致性卷上的 I/O,您可以改变自动启用 IO 卷属性(在 API 中为 autoEnableIO
)的设置。更多关于改变这些属性的信息,请参阅使用受损的卷。
每一个事件都包括一个开始时间,该时间指明事件发生的时间,和一个持续时间,该时间会指明该卷 I/O 会被禁用多久。当该卷的 I/O 被使能时,将会为该事件添加结束时间。
卷状态事件包括下列描述中的一个:
- 等待操作:使能 IO
-
卷数据具有潜在一致性。在您明确的使能它之前,将一直禁用 I/O。当您明确启用 I/O 后,事件描述变为 IO Enabled。
- IO 使能
-
明确地使能这些卷的 I/O 操作。
- IO 自动使能
-
事件发生后,自动使能这些卷上的 I/O 操作。我们建议您在继续使用数据前,先检查数据的不一致性。
- 普通
-
仅限
io1
和io2
卷。卷执行其期望性能。 - 降级
-
仅限
io1
和io2
卷。卷性能低于期望性能。 - 严重降级
-
仅限
io1
和io2
卷。卷性能大大地低于期望性能。 - 停滞
-
仅限
io1
和io2
卷。卷的性能受到严重影响。
您可以使用 Amazon EC2 控制台、API 或命令行界面来查看您的卷事件。
在控制台中查看卷的事件
-
打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/
。 -
在导航窗格中,选择 Events。列出具有事件的所有实例和卷。
-
可以按卷进行筛选以便仅查看卷状态。您也可以筛选指定的状态类型。
-
选择一个卷以查看其特定事件。
如果您的卷 I/O 被禁用,请参阅使用受损的卷。如果您的卷 I/O 性能低于正常值,这可能是因为您之前的操作(例如,在使用高峰期间创建卷快照、在无法支持所需 I/O 带宽的实例上运行卷、第一次访问卷上的数据,等等)而造成的暂时状况。
使用命令行查看卷的事件
您可以使用以下命令之一查看卷 Amazon EBS 的事件信息。有关这些命令行界面的更多信息,请参阅 访问 Amazon EC2。
-
describe-volume-status (AWS CLI)
-
Get-EC2VolumeStatus(适用于 Windows PowerShell 的 AWS 工具)
使用受损的卷
如果卷受损,请使用以下选项,因为卷的数据可能不一致。
选项 1:对附加到其实例的卷执行一致性检查
最简单的选择是使能 I/O,然后在卷上进行一次数据一致性检查,但该卷仍附加到它的 Amazon EC2 实例。
想要在一个附加的卷上进行一次一致性检查,需要执行以下操作
-
停止所有使用该卷的应用程序。
-
在该卷上使能 I/O。
-
打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/
。 -
在导航窗格中,选择卷。
-
选择要使能 I/O 操作的卷。
-
在详细信息窗格中,选择启用卷 IO,然后选择是,请启用。
-
-
检查卷上数据。
-
运行 fsck 命令。
-
(可选)查看所有适用的应用程序或系统日志以了解相关错误消息。
-
如果卷受损时间超过 20 分钟,您可以联系 AWS 支持中心。选择问题排查,然后在状态检查故障排除对话框上选择联系客户服务提交一个支持案例。
-
使用命令行启用卷的 I/O
您可以使用以下命令之一查看卷 Amazon EBS 的事件信息。有关这些命令行界面的更多信息,请参阅 访问 Amazon EC2。
-
enable-volume-io (AWS CLI)
-
Enable-EC2VolumeIO (适用于 Windows PowerShell 的 AWS 工具)
选项 2:使用其他实例对该卷执行一致性检查
按照以下程序在您的产品环境外检查该卷。
当卷 I/O 被禁用时,这些程序可能会导致挂起的写入 I/O 丢失。
想要在一个隔离环境中在一个卷上进行一次一致性检查,需要执行以下操作
-
停止所有使用该卷的应用程序。
-
将该卷从实例中分离。
-
打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/
。 -
在导航窗格中,选择卷。
-
选择要分离的卷。
-
选择 Actions、Force Detach Volume。系统会提示您进行确认。
-
-
在该卷上使能 I/O。
-
在导航窗格中,选择卷。
-
选择您在之前的步骤中分离的卷。
-
在详细信息窗格中,选择启用卷 IO,然后选择是,请启用。
-
-
将该卷附加到另一个实例。有关更多信息,请参阅 启动实例 和 将 Amazon EBS 卷附加到实例。
-
检查卷上数据。
-
运行 fsck 命令。
-
(可选)查看所有适用的应用程序或系统日志以了解相关错误消息。
-
如果卷受损时间超过 20 分钟,您可以联系 AWS 支持中心。选择 Troubleshoot,然后在故障排除对话框中选择 Contact Support 以提交支持案例。
-
使用命令行启用卷的 I/O
您可以使用以下命令之一查看卷 Amazon EBS 的事件信息。有关这些命令行界面的更多信息,请参阅 访问 Amazon EC2。
-
enable-volume-io (AWS CLI)
-
Enable-EC2VolumeIO (适用于 Windows PowerShell 的 AWS 工具)
选项 3:如果您不再需要卷,请将其删除
如果您想将该卷从您的环境中去除,只需删除它即可。关于删除一个卷的信息,请查阅删除 Amazon EBS 卷。
如果您有在该卷上备份的近期快照,那么您可以从快照中创建一个新卷。有关更多信息,请参阅 从快照中创建卷。
使用自动启用 IO 卷属性
默认情况下,当 Amazon EBS 判定一个卷数据具有潜在不一致性时,它将会禁用从任何附加的 EC2 实例到该卷的 I/O。这将导致卷状态检查故障,并新建一个卷状态事件来指明故障的原因。如果某个卷的一致性无关重要,您可以立即使该卷可用,如果该卷状态为受损,您可以配置该卷为自动启用 I/O 来覆盖默认操作。如果您启用 自动启用 IO 卷属性(在 API 中为 autoEnableIO
),在卷和实例之间的 I/O 会自动重新启用,并且卷将通过状态检查。此外,您将会看到一个通知您该卷具有潜在不一致状态的事件,但它的 I/O 不会自动启用。如果发生此事件,您应该检查该卷的一致性,如有必要,可对其进行更换。有关更多信息,请参阅EBS 卷事件。
该过程介绍如何查看和修改卷的自动启用 IO 属性。
在控制台中查看卷的自动启用 IO 属性
-
打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/
。 -
在导航窗格中,选择卷。
-
选择卷,然后选择状态检查。自动启用 IO 为卷显示当前设置(已启用或已禁用)。
在控制台中修改卷的自动启用 IO 属性
-
打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/
。 -
在导航窗格中,选择卷。
-
选择卷并选择操作、更改自动启用 IO 设置。此外,选择状态检查选项卡,对于自动启用 IO,选择编辑。
-
选中自动启用卷 IO复选框以为受损卷自动启用 I/O。想要禁用该功能,请清除复选框。
-
选择保存。
使用命令行查看或修改卷的 AutoEnableIO 属性
您可以使用以下命令之一查看 Amazon EBS 卷的 autoEnableIO
属性。有关这些命令行界面的更多信息,请参阅 访问 Amazon EC2。
-
describe-volume-attribute (AWS CLI)
-
Get-EC2VolumeAttribute(适用于 Windows PowerShell 的 AWS 工具)
要修改卷的 autoEnableIO
属性,您可以使用以下命令之一。
-
modify-volume-attribute (AWS CLI)
-
Edit-EC2VolumeAttribute(适用于 Windows PowerShell 的 AWS 工具)