【问题标题】:Error: Instance does not have a volume attached at root (/dev/sda1)错误:实例在根目录 (/dev/sda1) 没有附加卷
【发布时间】:2016-05-10 15:05:27
【问题描述】:

附加卷后启动 ec2 实例时出错: 我已将 device_name 定义为“/dev/sda1”,但它仍然选择“/dev/sdf”。

这是我的代码:

ec2_vol:
      instance: "{{ instance_id }}"
      id: "{{ ec2_vol.volume_id }}"
      device_name: "/dev/sda1"
      region: "{{ aws_region }}"

【问题讨论】:

  • 您尝试将其命名为/dev/xvda1 吗?
  • 在 aws 实例上运行 lsblk 时返回什么?
  • 它显示 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 40G 0 disk └─xvda1 202:1 0 40G 0 part /
  • 我更改了 device_name: /dev/xvda1,但仍然显示 smae 错误。我看到它以“/dev/sdf”作为设备。不知道为什么?
  • 那么,您要替换根卷吗?使用新创建的卷启动新实例不是很容易吗?

标签: amazon-ec2 ansible


【解决方案1】:

使用 /dev/sda1 将不再起作用(至少在我的情况下,我将 gp2 根卷替换为磁性卷)并且必须在设备字段上直接指定 xvda(不带 /dev)。

所以,在现场设备:xvda

就是这样。

(好吧,这似乎是一个暂时的问题,仅与 debian 实例有关,这发生在俄勒冈地区,我在爱尔兰尝试过,你必须像往常一样指定 /dev/sda1)

【讨论】:

  • 我可以确认这在 EU-Frankfurt 的 Debian 实例上对我有用。
  • 让我强调这只是 xvda 而不是 /dev/xvda 听起来更直观
  • 这实际上工作得很好......作为文档的一部分,我无法在任何地方找到它!拯救了我的一天!
  • 这里一样,它似乎是特定于 Debian 实例的。
  • 它对我不起作用。但是经过多次尝试,我能够再次设置/dev/sda1/。不知道为什么。俄勒冈州。
【解决方案2】:

您需要分离该卷,然后将其重新附加到 EC2。此外,在附加卷时,请确保将设备指定为 /dev/sada1。

请按照以下步骤逐步操作: Link

【讨论】:

  • 您的错误链接没有提供任何新信息,并且充满了非技术数据,您怎么能用不正确和拼写错误的设备名称获得肯定???
  • 只是一个小错字:是/dev/sda1
【解决方案3】:

AWS 似乎发生了变化。 2020 年 5 月,我有一个实例,它有一个 10 GB EBS 卷作为根磁盘附加,即“/dev/sda1”

在停止时,我误点击并分离了根磁盘,然后立即将其重新附加为 /dev/sda1。 Sunsequently 启动失败并出现此错误:


"实例在根目录 (xvda) 上没有附加卷"

解决方案就在错误中 - 我必须分离根 EBS 卷并将其重新附加为没有任何 /dev/ 且没有分区号的 xvda。此时实例已准备好启动。

【讨论】:

  • 这也发生在我身上。
  • 对我来说,设置 Device: /dev/sda1 有效,而 Device: xvda 无效。
【解决方案4】:

您也可以使用 aws cli:

aws ec2 attach-volume --volume-id vol-abcde12345678901e --instance-id i-acdef123456789012 --device /dev/sda1

https://docs.aws.amazon.com/cli/latest/reference/ec2/attach-volume.html#examples

【讨论】:

  • 这对我有用,我认为应该推荐它!
【解决方案5】:

当我尝试运行该实例时,它提示该卷未作为根 (/dev/xvda1) 附加。所以我去音量并将它作为 /dev/xvda1 重新附加到该实例以使其工作。

【讨论】:

  • 如果添加'/dev/' 将不起作用,只需:'xvda' 没有设备号
【解决方案6】:

转到卷部分(在 Elastic Block Store 下),右键单击您的卷,附加,选择您的实例,然后在文本字段中输入 /dev/sda1。

【讨论】:

    【解决方案7】:

    这似乎对每个人都有不同的作用,所以让我加上我的 2 美分并描述什么对我有用。

    我已将我的根卷附加为(字面意思)sda1,因为这是“附加卷”页面上描述的格式,但是,正如上面的错误消息所示,它正在寻找一个字面上为 @ 的设备名称987654322@.

    将我的根卷分离并重新附加为/dev/sda1(与示例中所述的sda1xvda 相比)解决了我的问题。

    【讨论】:

      【解决方案8】:

      使用 /dev/sda1 将不再起作用(至少在我的情况下,我将 gp2 根卷替换为磁性卷)并且必须在设备字段上直接指定 xvda(不带 /dev)。

      所以,在现场设备:xvda

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-08-17
        • 1970-01-01
        • 1970-01-01
        • 2021-03-06
        • 2016-06-22
        • 2014-11-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多