我有一个EBS支持的亚马逊EC2实例。我想要更改此实例上的根设备。你能告诉我做这件事最好的方法吗?
我只找到了关于更改块设备的几个属性的文档,但它们似乎不包括将其设置为根设备。
发布于 2014-07-25 05:57:19
我没有足够的代表来为选择的答案添加评论,但我确实想指出,对我来说,/dev/sda1
不起作用(没有作为根附加),但使用/dev/xvda
起作用(附加作为根)。该实例是使用HVM的较新的t2.micro实例之一。
发布于 2015-01-09 11:58:05
为了详细说明Diomidis Spinellis在接受答案的评论线程中的评论,检查您试图作为新的根设备切换到的设备的文件系统标签是很重要的。在对我自己的服务器迁移进行故障排除时,我必须执行以下操作才能启动我的实例:
使用e2label
命令更改为新根设备创建的ext2/ext3/ext4文件系统上的标签。
首先,检查当前根设备的文件系统标签。
$ sudo e2label /dev/xvda1
cloudimg-rootfs
将新设备设置为具有相同的文件系统标签。
$ sudo e2label /dev/xvdg 'cloudimg-rootfs'
在我的例子中,标签是cloudimg-rootfs
。有时它会简单地被称为/
。
了解e2label的工作原理很重要;请检查您机器上的man e2label
或访问http://linux.die.net/man/8/e2label以获取更多信息。
发布于 2018-05-07 02:04:57
这是aws建议的解决方案,您可以在停止根卷后将其与原始实例分离。根卷附加在/dev/sda1。分离后,请将其附加到新实例。附加卷后,您可能需要从操作系统挂载它。挂载后,您应该可以看到其中的数据。
添加完新密钥后,可以将其分离并附加到/dev/sda1处的原始实例。
我建议在进行任何更改之前创建根卷的快照。
在尝试任何解决方案之前,只需在不重要的实例或spot实例中尝试
https://stackoverflow.com/questions/6377669
复制相似问题