首页 文章

我可以更改我的亚马逊EC2实例的根EBS设备吗?

提问于
浏览
87

我有一个EBS支持的Amazon EC2实例 . 我想在这个实例上更改根设备 . 你能告诉我最好的解决方法吗?

我只找到有关更改块设备的多个属性的文档,但它们似乎不包括将其设置为根设备 . 提前致谢 .

5 回答

  • 158

    是的,这很简单:

    • 停止实例 .

    • 分离根EBS卷 .

    • 将备用EBS卷作为根连接: /dev/sda1

    • 启动实例 .

    这预先假定您的备用EBS卷是可引导的 - 当然 - 它必须包含可引导的OS映像 .

  • 38

    我没有足够的代表为选定的答案添加评论,但我想指出,对我来说, /dev/sda1 不起作用(没有以root身份附加),但使用 /dev/xvda 工作(以root身份附加) . 该实例是使用HVM的较新的t2.micro之一 .

  • 13

    要在接受的答案的评论主题中详细说明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以获取更多信息 .

  • 0

    这是aws建议的解决方案您可以在停止后从原始实例中分离根卷 . 根卷附加在/ dev / sda1 . 分离后,请将其附加到新实例 . 连接卷后,您可能必须从操作系统安装它 . 安装完成后,您应该看到其中的数据 .

    添加新密钥后,可以将其分离并附加到/ dev / sda1上的原始实例 .

    我建议在进行任何更改之前创建根卷的快照 .

    在尝试任何解决方案之前,只需尝试不重要的实例或现场实例

  • 0

    安装卷后,它会获得带有数字的后置修复,例如:安装 /dev/sda 时,根据您创建的分区将其挂载为 /dev/sda1, /dev/sda2 . 当我们正在安装根设备本身时,它假定设备已经安装,因此我们需要提供 /dev/sda1 来将卷安装为根设备 . 注意:不应附加任何根卷 .

    请执行以下步骤:1)转到卷,从“操作”中选择“附加卷” . 2)选择您的实例3)要以root用户身份安装,请将设备名称设为 /dev/sda1 4)启动您的实例 .

相关问题