错误:实例没有在根目录附加卷(/ dev/sda1)

koh*_*ohi 5 amazon-ec2 ansible

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

这是我的代码:

ec2_vol:
      instance: "{{ instance_id }}"
      id: "{{ ec2_vol.volume_id }}"
      device_name: "/dev/sda1"
      region: "{{ aws_region }}"
Run Code Online (Sandbox Code Playgroud)

小智 10

您需要分离卷,然后将其重新附加到 EC2。并且在附加 Volume 时,请确保将 Device 指定为 /dev/sada1。

请按照以下步骤操作相同的步骤: 链接

  • 您的错误链接没有提供任何新信息,并且充满了非技术数据,而且您怎么能通过不正确和拼写错误的设备名称获得肯定的结果??? (4认同)

per*_*000 8

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

所以,在现场设备:xvda

而已.

(好吧,这似乎是一个短暂的问题,这发生在俄勒冈州,我在爱尔兰尝试过,你必须像往常一样指定/ dev/sda1)

  • 我可以确认这在欧盟法兰克福的 Debian 实例上对我有用。 (2认同)

Cri*_*gie 7

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

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

自己的截图
“实例在根 (xvda) 处没有附加卷”

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

  • 对我来说,设置 Device: /dev/sda1 有效,而 Device: xvda 无效。 (2认同)

小智 6

您还可以使用 aws cli:

aws ec2 attach-volume --volume-id vol-abcde12345678901e --instance-id i-acdef123456789012 --device /dev/sda1
Run Code Online (Sandbox Code Playgroud)

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