我的 Amazon EBS 卷卡在“正在附加”状态

上次更新时间:2019 年 6 月 25 日

我将 Amazon Elastic Block Store (Amazon EBS) 附加到 Amazon Elastic Compute Cloud (Amazon EC2) 实例,但在 10-15 分钟后仍处于正在附加状态。 

解决方法

检查并确认您在尝试附加 EBS 卷时指定的设备名称没有被占用。如果您指定的设备名称已被 EC2 实例的块储存设备驱动程序占用,则操作将失败。

当您将 EBS 卷附加到 Amazon EC2 实例时,可以为卷指定设备名称 (默认情况下,已为您填充了一个名称)。EC2 实例的块储存设备驱动程序会安装卷并分配名称。卷名称可以与您分配的名称不同。

有关设备命名的更多详细信息,请参阅 Linux 实例上的设备命名Windows 实例上的设备命名

如果您指定的设备名称没有被 Amazon EC2 使用,但被 EC2 实例中的块储存设备驱动程序使用,则 Amazon EBS 卷的附加不会成功。相反,EBS 卷卡在正在附加状态。这通常是由于以下原因之一:

块储存设备驱动程序重新映射指定的设备名称

在 HVM EC2 实例上,/dev/sda1 重新映射到 /dev/xvda。如果您尝试将某个二级 Amazon EBS 卷附加到 /dev/xvda,此二级 EBS 卷将不会成功附加到实例中。这可能会导致 EBS 卷卡在正在附加状态。

块储存设备驱动程序没有释放设备名称

如果用户开始强制分离 Amazon EBS 卷,Amazon EC2 实例的块存储设备驱动程序可能不会立即释放设备名称以供重复使用。在附加卷时尝试使用该设备名称会导致卷卡在正在附加状态。您必须选择另一个设备名称或重启实例。

您可以通过执行以下步骤来解决卡在正在附加状态的卷的大多数问题:

重要提示:开始之前,确保备份您的数据。有关更多信息,请参阅 Amazon EC2 的最佳实践

  1. Amazon EC2 控制台窗格中,选择卷。
  2. 打开操作菜单,然后选择强制分离卷
  3. 再次尝试将卷附加到实例,但这次使用另一个设备名称。例如,使用 /dev/sdg 而不是 /dev/sdf
    注意:该实例必须处于正在运行状态。

如果这些步骤都不能解决问题,或者您必须使用未在使用的设备名称,请重启您的实例


这篇文章对您有帮助吗?

您觉得我们哪些地方需要改进?


需要更多帮助?