在 Amazon EBS 上进行故障测试 - Amazon EBS

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 Amazon EBS 上进行故障测试

使用 AWS Fault Injection Service 和 “暂停 I/O” 操作可暂时停止 Amazon EBS 卷与其连接的实例之间的 I/O,以测试您的工作负载如何处理 I/O 中断。借 AWS FIS助,您可以使用对照实验来测试您的架构和监控,例如 Amazon CloudWatch 警报和操作系统超时配置,并提高应对存储故障的弹性。

有关的更多信息 AWS FIS,请参阅《AWS Fault Injection Service 用户指南》

注意事项

暂停卷 I/O 时请注意以下事项:

  • 可以为挂载到基于 Nitro 系统构建的实例的所有 Amazon EBS 卷类型暂停 I/O。

  • 可以为根卷暂停 I/O。

  • 可以为启用多重挂载的卷暂停 I/O。如果为已启用多重挂载的卷暂停 I/O,则该卷及其所有附加实例之间将暂停 I/O。

  • 要测试操作系统超时配置,请将实验持续时间设置为等于或大于为 nvme_core.io_timeout 指定的值。有关更多信息,请参阅 I/O 操作超时

  • 如果提升对已暂停 I/O 卷的 I/O,会发生以下情况:

    • 卷的状态将在 120 秒内转换为 impaired。有关更多信息,请参阅 监控 Amazon EBS 卷

    • 队列长度 (VolumeQueueLength) 的 CloudWatch 指标将为非零。任何告警或监控都应监控非零队列深度。有关更多信息,请参阅 Amazon EBS 卷的指标

    • VolumeReadOps或的 CloudWatch 指标VolumeWriteOps将是0,这表示该卷不再处理 I/O。

限制

暂停卷 I/O 时请注意以下限制:

  • 不支持实例存储卷。

  • 不支持基于 Xen 的实例类型。

  • 您无法暂停在前哨基地 AWS Outposts、区域或本地 AWS Wavelength 区域中创建的卷的 I/O。

您可以从 Amazon EC2 控制台执行基本实验,也可以使用控制 AWS FIS 台进行更高级的实验。有关使用 AWS FIS 控制台执行高级实验的更多信息,请参阅《AWS Fault Injection Service 用户指南》 AWS FIS中的教程

使用 Amazon EC2 控制台执行基础实验
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

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

  3. 选择要为其暂停 I/O 的卷,然后选择操作错误注入暂停卷 I/O

  4. 对于持续时间,输入要在卷和实例之间暂停 I/O 的持续时间。“持续时间”下拉列表旁边的字段将以 ISO 8601 格式显示持续时间。

  5. 服务访问权限部分,选择要代入的 IAM 服务角色 AWS FIS 来执行实验。您可以使用默认角色,也可以使用您创建的现有角色。有关更多信息,请参阅为 AWS FIS 创建 IAM 角色

  6. 选择暂停卷 I/O。系统提示时,在确认字段中输入 start 并选择开始实验

  7. 监控实验的进度和影响。有关更多信息,请参阅《AWS FIS 用户指南》中的监控 AWS FIS