我有一个EBS支持的Amazon EC2实例。我想在此实例上更改根设备。你可以请建议最好的方式去做这件事?我可以更改我的amazon EC2实例的根EBS设备吗?
我只找到有关更改块设备的几个属性的文档,但它们似乎没有包括将其设置为根设备。提前致谢。
我有一个EBS支持的Amazon EC2实例。我想在此实例上更改根设备。你可以请建议最好的方式去做这件事?我可以更改我的amazon EC2实例的根EBS设备吗?
我只找到有关更改块设备的几个属性的文档,但它们似乎没有包括将其设置为根设备。提前致谢。
是的,它的死很容易:
/dev/sda1
这假设您的备用EBS卷是可启动的,当然 - 它必须包含可启动的OS映像。
我没有足够的代表给选定的答案添加评论,但我想指出,对我而言,/dev/sda1
没有工作(没有作为根连接),但使用/dev/xvda
工作(附加为根)。该实例是使用HVM的最新t2.micro实例之一。
我认为VPC中的机器,格式为/ dev/xv *的设备名称本身可以工作,您不需要以格式/ dev/sd *提供名称。这是一个观察 - 我不是专家,有信心说这个。 – 2015-04-10 10:45:05
我有一个匹配此描述的实例,在分离并重新连接根设备后无法引导(“无法找到根设备”)。我想尝试这个答案,但是如果我不把它作为'/ dev/sda1'附加,那么AWS拒绝启动我的实例。我需要配置其他一些设置才能使用备用根设备名称吗? – 2015-10-02 18:43:34
/dev/sda1 for Linux/dev/xvda for Windows – Luis 2015-10-13 23:48:54
要详细说明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了解更多信息。
这非常重要,我不明白为什么这个答案不是更常见的。 – ays0110 2016-08-26 07:40:53
这个答案刚刚救了我的一天! – 2011-09-08 00:46:09
如果我分离根EBS卷,则该实例会终止! – 2012-08-10 03:56:19
AWS API(控制台使用的)不会让您从正在运行的实例中分离出根EBS卷 - 但我不确定Force Detach是否遵守相同的规则 - 您是否错误地执行了此操作?或者,您的实例可能不是EBS支持的,在这种情况下,此问题/答案不适用 - 如果您尝试从非EBS支持的VM分离启动卷,我不知道会发生什么情况。 – 2012-08-10 08:58:46