EBS 卷被读取为根设备

EBS Volume Being Read as Root Device

我的一个实例阻止我进行日志记录,所以我停止了它,分离了它的卷,启动了一个新实例,并附加了旧卷。问题是,旧卷被视为根设备。因此,我仍然无法登录到新实例(尽管如果不附加旧卷我可以登录)。

有没有办法使用 AWS 管理控制台解决这个问题?

您似乎已将旧卷附加到“/dev/sda1”。取消附加旧卷并将其附加到“/dev/sdf”。

这是由于每个卷上的文件系统具有相同的标签(例如 e2label /dev/xvda1 返回的值)。服务器正确地从第一个卷开始引导,然后引导加载程序在那里看到第二个卷具有它预期的根卷标签,并继续以第二个卷作为根卷引导。这是一个 os 级别的设置,对 AWS 基础设施不可见。

解决方法:在实例启动之前不要附加第二个卷。 EBS 卷可以随时附加到一个实例——它们不必在实例启动时就存在。卸载后,它们也可以随时分离,实例仍然是 运行.

要解决这个问题,我必须先为旧卷制作快照。然后我使用该快照创建了一个新的 AMI。我将旧卷作为额外存储包括在内,以便明确定义它不被视为根设备。

然后我使用该 AMI 创建了一个新实例。我终于能够登录到新实例。从那里,我刚刚安装了卷。