我将 Amazon Elastic Block Store (Amazon EBS) 附加到 Amazon Elastic Compute Cloud (Amazon EC2) 实例,但在 10-15 分钟后仍处于“attaching”(正在附加)状态。
解决方法
检查并确认您在尝试附加 EBS 卷时指定的设备名称没有被占用。如果指定的设备名称已被 EC2 实例的块储存设备驱动程序占用,则操作将失败。
当您将 EBS 卷附加到 Amazon EC2 实例时,可以为卷指定设备名称(默认情况下,已为您填充了一个名称)。EC2 实例的块储存设备驱动程序会安装卷并分配名称。卷名称可以与您分配的名称不同。
有关设备命名的更多详细信息,请参阅 Linux 实例上的设备命名或 Windows 实例上的设备命名。
如果您指定的设备名称未被 Amazon EC2 使用,但被 EC2 实例中的块储存设备驱动程序使用,则 Amazon EBS 卷的附加失败。相反,EBS 卷停滞在 attaching(正在附加)状态。这通常是由于以下原因之一:
块储存设备驱动程序重新映射指定的设备名称
在 HVM EC2 实例上,/dev/sda1 重新映射到 /dev/xvda。如果您尝试将某个二级 Amazon EBS 卷附加到 /dev/xvda,此二级 EBS 卷将无法成功附加到实例中。这可能会导致 EBS 卷卡在 attaching(正在附加)状态。
块储存设备驱动程序未释放设备名称
如果用户开始强制分离 Amazon EBS 卷,Amazon EC2 实例的块储存设备驱动程序可能不会立即释放设备名称以供重复使用。在附加卷时尝试使用该设备名称会导致卷停滞在 attaching(正在附加)状态。您必须选择另一个设备名称或重启实例。
您可以通过执行以下步骤来解决卡在 attaching(正在附加)状态的卷的大多数问题:
**重要提示:**在开始之前,请备份数据。有关更多信息,请参阅 Amazon EC2 的最佳实践。
- 在 Amazon EC2 控制台的 Volumes(卷)窗格中,选择卷。
- 打开操作菜单,然后选择强制分离卷。
- 再次尝试将卷附加到实例,但这次使用另一个设备名称。例如,使用 /dev/sdg 而不是 /dev/sdf。
**注意:**该实例必须处于 running(正在运行)状态。
如果这些步骤都不能解决问题,或者您必须使用未在使用的设备名称,请尝试下面的程序:
- 重启实例。
- 停止并启动实例以将其迁移到新的基础硬件。请记住,当您停止和启动实例时,实例存储数据丢失。如果您的实例受实例存储支持或具有包含数据的实例存储卷,则在实例停止时数据将丢失。有关更多信息,请参阅确定实例的根设备类型。
相关信息
将 Amazon EBS 卷附加到实例
将磁盘映射到 Windows 实例上的卷