AWS EC2:卷名不一致

时间:2018-11-06 09:18:17

标签: amazon-web-services amazon-ec2 ansible

我正在尝试使用ansible各自的module来备份某些ec2实例卷的过程自动化。

但是,当我登录到我的实例时:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            488M     0  488M   0% /dev
tmpfs           100M   11M   89M  11% /run
/dev/xvda1       59G  3.2G   55G   6% /
tmpfs           496M     0  496M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           496M     0  496M   0% /sys/fs/cgroup
/dev/loop4       13M   13M     0 100% /snap/amazon-ssm-agent/495
/dev/loop2       17M   17M     0 100% /snap/amazon-ssm-agent/734
/dev/loop6       88M   88M     0 100% /snap/core/5548
/dev/loop3       88M   88M     0 100% /snap/core/5662
/dev/loop1       17M   17M     0 100% /snap/amazon-ssm-agent/784
/dev/loop0       88M   88M     0 100% /snap/core/5742
tmpfs           100M     0  100M   0% /run/user/1003
tmpfs           100M     0  100M   0% /run/user/1004

当我尝试使用/dev/xvda1作为卷名时,出现错误

  

味精:找不到名称/ dev / xvda1附加到实例i-02a334fgik4062的卷

我必须明确使用/dev/sda1

为什么会有这种不一致?

1 个答案:

答案 0 :(得分:1)

这不是唯一的,Answer EC2 API会执行相同的操作,如其文档的Device Name Considerations部分所指定;这里总结以避免“仅链接”答案的反模式:

  

取决于内核的块设备驱动程序,可以使用与您指定的名称不同的名称附加设备。例如,如果您将设备名称指定为/ dev / sdh,则设备可以重命名为/ dev / xvdh或/ dev / hdh。在大多数情况下,尾随字母保持不变。在某些版本的Red Hat Enterprise Linux(及其变体,例如CentOS)中,甚至尾随字母也可能发生更改(/ dev / sda可能变为/ dev / xvde)。在这些情况下,每个设备名称的结尾字母都会增加相同的次数。例如,如果/ dev / sdb重命名为/ dev / xvdf,则/ dev / sdc重命名为/ dev / xvdg。 Amazon Linux为您指定的名称为重命名的设备创建符号链接。其他操作系统的行为可能会有所不同。

在我见过的每种情况下,sd版本都是为AWS API指定的,但是在实际实例上它们的版本为xvd(有时甚至是nvme