为什么我无法将我的 Amazon EBS 卷附加到我的 EC2 实例?

2 分钟阅读
0

我尝试将我的 Amazon Elastic Block Store(EBS)卷附加到我的 Amazon Elastic Compute Cloud(Amazon EC2)实例时出现失败。如何解决此问题?

简短描述

将 Amazon EBS 卷附加到您的 Amazon EC2 实例失败的常见原因有以下几个:

  • 您的 EC2 实例和 EBS 卷位于不同的可用区。
  • 您指定的设备名称已在使用中。
  • 卷或实例处于错误的操作状态。
  • 卷类型为 io2 Block Express。
  • Amazon EC2 达到了最大实例容量限制。
  • 卷具有 AWS Marketplace 产品代码。
  • 您的 AWS Identity and Access Management(IAM)用户或角色无权执行 AttachVolume 操作。

解决方法

您的 EC2 实例和 EBS 卷位于不同的可用区

EBS 卷特定于您在其中创建它们的可用区。确保您要附加卷的实例位于同一个可用区内。要确定可用于您的 AWS 账户的可用区,请参阅描述您的可用区。要查看您的卷所在的可用区,请参阅查看有关 Amazon EBS 卷的信息

您指定的设备名称已在使用中

将卷附加到实例时,您需要为 Amazon EC2 使用的卷提供设备名称。Amazon EC2 不允许您使用重复的设备名称。操作失败,出现以下错误:Invalid value '/dev/xxx' for unixDevice.Attachment point /dev/xxx is already in use(unixDevice 的“/dev/xxx”值无效。附加点 /dev/xxx 已在使用中)。

如果设备名称已在使用中,则必须选择其他设备名称。有关设备命名的更多详细信息,请参阅 Linux 实例上的设备名称Windows 实例上的设备名称

有时,如果强制将某个卷与 EC2 实例分离,则块设备驱动程序可能仍在使用该设备名称。因此,您不能将该设备名称用于该卷。您必须选择另一个设备名称或重启实例。

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

卷或实例处于错误的操作状态

只有当某个实例处于“正在运行”或“已停止”状态时,您才能将卷附加到该实例。当实例处于“正在启动”或“正在停止”状态时,您无法附加卷。此外,当您将卷附加到实例时,卷必须处于“可用”状态。

如果卷卡在于“正在附加”状态,请参阅为什么我的 Amazon EBS 卷卡在“正在附加”状态?

卷类型为 io2 Block Express

您只能将 io2 Block Express 卷附加到以下实例类型:c7g、r5b、trn1、x2idn 和 x2iedn。如果您尝试将 io2 Block Express 卷附加到任何其他实例类型,则会出现以下错误:“vol-xxxxxxxx is already attached to an instance”(vol-xxxxxxxx 已附加到实例)。

有关更多信息,请参见 io2 Block Express 卷

Amazon EC2 达到了最大实例容量限制

实例支持的最大卷数量取决于实例和操作系统的类型。如果您的卷附加失败且未收到错误消息,请检查实例卷限制

卷具有 AWS Marketplace 产品代码

如果您的卷有 AWS Marketplace 产品代码,则您必须订阅该卷上的 AWS Marketplace 代码。此外,实例配置必须符合 AWS Marketplace 代码的要求。有关更多信息,请转到将 Amazon EBS 卷附加到实例,并查看先决条件

您的 IAM 用户或角色无权执行 AttachVolume 操作

您收到以下错误:“You are not authorized to perform this operation.Encoded authorization failure message...”(您无权执行此操作。已编码授权失败消息...)

Amazon EC2 使用 AttachVolume API 将 EBS 卷附加到实例。您的 IAM 用户或角色可能没有执行 AttachVolume API 操作的 IAM policy 权限。或者,AWS Organizations 服务控制策略(SCP)可能会限制您的 IAM 用户或角色。要解决此问题,请参阅如何使用 IAM policy 排查访问被拒绝或未经授权操作错误?


AWS 官方
AWS 官方已更新 1 年前