Amazon Elastic Compute Cloud
Windows 实例用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

监控您的卷状态

Amazon Web Services (AWS) 自动提供数据,如 Amazon CloudWatch 指标和卷状态检查,您可以使用这些数据来监控您的 Amazon Elastic Block Store (Amazon EBS) 卷。

使用 CloudWatch 监控卷

CloudWatch 指标是统计数据,您可以使用这些指标来查看、分析和设置有关卷操作行为的警报。

下表描述适用于您的 Amazon EBS 卷的监控数据的类型。

类型 说明

基本

数据在 5 分钟期间内自动可用,无需收费。该数据包括 EBS 支持的实例的根设备卷数据。

明细

预配置 IOPS SSD (io1) 卷向 CloudWatch 自动发送一分钟指标。

当您从 CloudWatch 得到数据时,您可以列入一个Period请求参数来指定返回数据的粒度。这不同于我们收集数据时所用的时间 (5 分钟时间)。我们建议您在您的请求中指定的时间大于或等于收集时间,从而确保返回数据有效。

获取数据时,您可以使用 CloudWatch API 或 Amazon EC2 控制台。控制台从 CloudWatch API 中获取原始数据并根据数据显示一系列图表。根据您的需要,您既可以选择使用从 API 中获得的数据也可以选择使用控制台中的图表。

Amazon EBS 指标

Amazon Elastic Block Store (Amazon EBS) 可将若干指标的数据点发送到 CloudWatch。Amazon EBS 通用型 SSD (gp2)、吞吐优化 HDD (st1)、Cold HDD (sc1) 和 磁介质 (标准) 卷向 CloudWatch 自动发送五分钟指标。预配置 IOPS SSD (io1) 卷向 CloudWatch 自动发送一分钟指标。有关如何监控 Amazon EBS 的更多信息,请参阅 Amazon EC2 用户指南(适用于 Linux 实例) 中的监控您的卷状态

仅在卷处于活动状态时,数据才报告给 CloudWatch。如果未挂载卷,则不会报告任何数据。

AWS/EBS 命名空间包括以下指标。

指标 说明

VolumeReadBytes

VolumeWriteBytes

提供有关指定时段内的 I/O 操作的信息。Sum 统计数据将报告该时段内传输的总字节数。Average 统计数据将报告指定时段内每个 I/O 操作的平均大小。SampleCount 统计数据将报告指定时段内的 I/O 操作总数。MinimumMaximum 统计数据与该指标无关,卷处于活动状态时,数据仅报告给 Amazon CloudWatch。如果卷处于空闲状态,则不会向 Amazon CloudWatch 报告任何数据。

单位:字节

VolumeReadOps

VolumeWriteOps

在指定时间的 I/O 操作总数。

注意

要计算该周期的每秒平均 I/O 操作数 (IOPS),请将该周期的总操作数除以总秒数。

单位:计数

VolumeTotalReadTime

VolumeTotalWriteTime

指定时间段中所有操作耗费的总秒数。如果同时提交多个请求,该总数可能大于时间段长度。例如,对于长度为 5 分钟 (300 秒) 的时间段:如果该时间段内完成了 700 个操作,每个操作耗时 1 秒,值便是 700 秒。

单位:秒

VolumeIdleTime

未提交读取或写入操作的指定时间段中的总秒数。

单位:秒

VolumeQueueLength

指定时间段中等待完成的读取和写入操作请求的数量。

单位:计数

VolumeThroughputPercentage

仅用于预配置 IOPS SSD 卷。每秒传输的 I/O 操作数 (IOPS) 在为 Amazon EBS 卷预配置的总 IOPS 中所占的百分比。预配置 IOPS SSD 卷在指定年份的超过 99.9% 的时间里可提供预配置 IOPS 的 10%。

注意

写入过程中,如果一分钟内没有其他待处理的 I/O 请求,指标值就会是 100%。另外,卷的 I/O 性能可能由于您已执行的操作而暂时降低 (例如:在使用高峰期创建卷的快照、在非 EBS 优化的实例上运行卷,首次访问你卷上的数据)。

单位:百分比

VolumeConsumedReadWriteOps

仅用于预配置 IOPS SSD 卷。指定时间段内使用的读取和写入操作的总量 (规格化为 256K 容量单位)。

每个小于 256K 的 I/O 操作算作使用了 1 IOPS。大于 256K 的 I/O 操作按 256K 容量单位计算。例如,1024K I/O 算作使用了 4 IOPS。

单位:计数

BurstBalance

仅用于 通用型 SSD (gp2)、吞吐优化 HDD (st1) 和 Cold HDD (sc1) 卷。提供有关突增存储桶中剩余的 I/O 点数百分比 (对于 gp2) 或吞吐量点数 (对于 st1sc1) 的信息。

单位:百分比

Amazon EBS 指标的维度

Amazon EBS 发送到 CloudWatch 的唯一维度是卷 ID。这表示所有可用统计数据会通过卷 ID 进行筛选。

Amazon EC2 控制台中的图表

创建一个卷后,您可以在 Amazon EC2 控制台中查看该卷的监控图表。在控制台的 Volumes 页面上选择一个卷,然后选择 Monitoring。下表列出了显示的图表。右列说明如何使用从 CloudWatch API 中获得的原始数据指标来生成每一个图表。所有的图表周期都是 5 分钟。

图表 使用原始指标描述

读取带宽 (KiB/s)

总和(VolumeReadBytes) / 周期 / 1024

写入带宽 (KiB/s)

总和(VolumeWriteBytes) / 周期 / 1024

读取吞吐量 (Ops/s)

总和(VolumeReadOps) / 周期

写入吞吐量 (Ops/s)

总和(VolumeWriteOps) / 周期

平均队列长度 (ops)

平均 (VolumeQueueLength)

空闲花费时间百分比

总和 (VolumeIdleTime) / 周期 * 100

平均读取大小 (KiB/op)

平均 (VolumeReadBytes) / 1024

平均写入大小 (KiB/op)

平均 (VolumeWriteBytes) / 1024

平均读取延迟 (ms/op)

平均 (VolumeTotalReadTime) * 1000

平均写入延迟 (ms/op)

平均 (VolumeTotalWriteTime) * 1000

对于平均延迟图表和平均大小图表,平均值通过该期间内完成的操作 (读取或写入,以适用于图表者为准) 总数计算得出。

使用状态检查来监控卷

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

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

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

注意

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

如果某一个卷的一致性对您无关重要,您可以立即使该卷可用,如果该卷受损,您可以配置该卷为自动使能 I/O 来覆写默认行为,如果您使能了AutoEnableIO这一属性,那么该卷的状态检查将一直保持为通过。此外,您将会看到一个通知您该卷具有潜在不一致性的事件,但它的 I/O 不会自动使能。这使您能够检查卷的一致性或随后替换它。

I/O 性能状态检查将实际卷性能与卷的预期性能进行比较,并在卷性能低于预期时向您发出警示。此状态检查只适用于附加到实例的 io1 卷,对于通用型 SSD (gp2)、吞吐优化 HDD (st1)、Cold HDD (sc1) 或 磁介质 (standard) 卷无效。I/O 性能状态检查每分钟执行一次,CloudWatch 每 5 分钟收集一次这些数据,因此在将 io1 卷附加到实例之后,最多可能要到 5 分钟后此检查才会报告 I/O 性能状态。

重要

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

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

卷状态 I/O 使能状态 I/O 性能状态 (只适用于预配置 IOPS 卷)

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 自动使能)

数据不足

数据不足

您可以使用 Amazon EC2 控制台、API 或命令行界面来查看和使用状态检查。

在控制台中查看状态检查

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

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

  3. EBS Volumes 页面上,使用 Volume Status 列列出每个卷的运行状态。

  4. 要查看某个卷的状态,请选中该卷,然后选择 Status Checks

    查看 EBS 卷状态
  5. 如果您的卷状态检查返回故障 (状态是impaired),请参阅使用一个受损卷工作

另外,您还可以使用“Events”窗格来查看一个单一窗格中的实例和卷所有的事件。有关更多信息,请参阅监控卷事件

使用命令行查看卷状态信息

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

监控卷事件

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

想要自动使能具有潜在不一致性卷上的 I/O,您可以改变AutoEnableIO卷属性的设置。更多关于改变这些属性的信息,请参阅使用一个受损卷工作

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

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

等待操作:使能 IO

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

IO 使能

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

IO 自动使能

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

普通

仅限io1 卷。卷执行其期望性能。

降级

仅限io1 卷。卷性能低于期望性能。

严重降级

仅限io1 卷。卷性能大大地低于期望性能。

停滞

仅限io1 卷。卷的性能受到严重影响。

您可以使用 Amazon EC2 控制台、API 或命令行界面来查看您的卷事件。

在控制台中查看卷的事件

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

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

  3. 列出具有事件的所有实例和卷。可以按卷进行筛选以便仅查看卷状态。您也可以过滤指定的状态类型。

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

    查看卷事件

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

使用命令行查看卷的事件

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

使用一个受损卷工作

本节讨论了如果因为您的卷中数据具有潜在不一致性而导致一个卷受损时您可以进行的选择。

选择 1:在附加到它的实例上的卷上进行一次一致性检查。

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

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

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

  2. 在该卷上使能 I/O。

    1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

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

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

    4. 在详细信息窗格中,选择 Enable Volume IO

      使能 IO
    5. Enable Volume IO 中,选择 Yes, Enable

  3. 检查卷上数据。

    1. 运行 fsck (Linux) 或 chkdsk (Windows) 命令。

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

    3. 如果卷受损时间超过 20 分钟,您可以联系支持。选择 Troubleshoot,然后在 Troubleshoot Status Checks 对话框上选择 Contact Support 提交一个支持案例。

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

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

选择 2:使用其他实例在该卷上进行一次一致性检查

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

重要

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

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

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

  2. 将该卷从实例中分离。

    1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

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

    3. 选择要分离的卷。

    4. 选择 ActionsForce Detach Volume。系统会提示您进行确认。

  3. 在该卷上使能 I/O。

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

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

    3. 在详细信息窗格中,选择 Enable Volume IO

      使能 IO
    4. Enable Volume IO 对话框中选择 Yes, Enable

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

  5. 检查卷上数据。

    1. 运行 fsck (Linux) 或 chkdsk (Windows) 命令。

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

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

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

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

选择 3:如果您不再需要它,请删除该卷

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

如果您有在该卷上备份的近期快照,那么您可以从快照中创建一个新卷。关于从一个快照中新建一个卷的信息,请查阅从快照还原 Amazon EBS 卷

使用 AutoEnableIO 卷属性

默认情况下,当 Amazon EBS 判定一个卷数据具有潜在不一致性时,它将会禁用从任何连接的 EC2 实例到该卷的 I/O。这将导致卷状态检查故障,并新建一个卷状态事件赖智明故障的原因。如果特定卷的一致性无关紧要,并且您希望在其为 impaired 的情况下该卷立即可用,可通过将该卷配置为自动启用 I/O 来覆盖默认行为。如果您启用 AutoEnableIO 卷属性,则会自动重新启用该卷与实例之间的 I/O,该卷的状态检查会通过。此外,您将会看到一个通知您该卷具有潜在不一致状态的事件,但它的 I/O 不会自动启用。如果发生此事件,您应该检查该卷的一致性,如有必要,可对其进行更换。有关更多信息,请参阅 监控卷事件

本部分介绍如何使用 Amazon EC2 控制台、命令行界面或 API 来查看和修改卷的 AutoEnableIO 属性。

在控制台中查看卷的 AutoEnableIO 属性

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

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

  3. 选择该卷。

  4. 在下方窗格中,选择 Status Checks

  5. 在“Status Checks”标签中,“Auto-Enable IO”显示了您选中卷的当前设置,是EnabledDisabled

    查看自动使能 IO

在控制台中修改卷的 AutoEnableIO 属性

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

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

  3. 选择该卷。

  4. Volumes 页面顶部,选择 Actions

  5. 选择 Change Auto-Enable IO Setting

    改变自动使能 IO 设置
  6. Change Auto-Enable IO Setting (更改自动启用 IO 设置) 对话框中,选择 Auto-Enable Volume IO (自动启用卷 IO) 选项为受损卷自动启用 IO。想要禁用该功能,请清除该选项。

    修改自动使能 IO 设置
  7. 选择 Save

或者,不完成上一过程中的步骤 4-6,而是选择 Status ChecksEdit

使用命令行查看或修改卷的 AutoEnableIO 属性

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

要修改卷的 AutoEnableIO 属性,您可以使用以下命令之一。