【发布时间】:2017-06-14 16:54:33
【问题描述】:
我的一个实例阻止我记录,所以我停止了它,分离了它的卷,启动了一个新实例,然后附加了旧卷。问题是,旧卷被视为根设备。因此,我仍然无法登录到新实例(尽管如果我不附加旧卷,我可以这样做)。
有没有办法使用 AWS 管理控制台解决这个问题?
【问题讨论】:
标签: amazon-web-services amazon-ec2 amazon-ebs
我的一个实例阻止我记录,所以我停止了它,分离了它的卷,启动了一个新实例,然后附加了旧卷。问题是,旧卷被视为根设备。因此,我仍然无法登录到新实例(尽管如果我不附加旧卷,我可以这样做)。
有没有办法使用 AWS 管理控制台解决这个问题?
【问题讨论】:
标签: amazon-web-services amazon-ec2 amazon-ebs
您似乎已将旧卷附加到“/dev/sda1”中。卸载旧卷并将其附加到“/dev/sdf”。
【讨论】:
这是由于每个卷上的文件系统具有相同的标签(例如 e2label /dev/xvda1 返回的值)。服务器正确地从第一个卷开始引导,然后引导加载程序在那里看到第二个卷具有它预期的根卷的标签,并以第二个卷作为根继续引导。这是一个操作系统级别的设置,对 AWS 基础设施不可见。
解决方法:在实例启动之前不要附加第二个卷。 EBS 卷可以随时附加到一个实例——它们不必在实例启动时存在。卸载后,它们也可以随时分离,而实例仍在运行。
【讨论】:
Error attaching volume: Cannot attach volume 'xxxxxxxx' with Marketplace codes as the instance 'xxxxx' is not in the 'stopped' state.
为了解决这个问题,我必须先对旧卷进行快照。然后我使用该快照创建了一个新的 AMI。我将旧卷作为额外存储包含在内,以便明确定义它不被视为根设备。
然后我使用该 AMI 创建了一个新实例。我终于能够登录到新实例。从那里,我刚刚安装了卷。
【讨论】: