如何列出我的 EC2 实例中可用的临时存储的实际块设备名称?
经过多次尝试和错误后,出现这些设备是如何连接的/dev/xvdn
(/dev/xvdm
如果有两个)——有没有办法从实例内部可靠地列出它们?
fdisk -l
列出所有设备 - 没有任何明显的不同之处/dev/xvdn
。 的输出也是如此lsblk
。(我们没有使用亚马逊自己的 AMI 实例,因此没有-p
标志lsblk
...)
要求http://169.254.169.254/latest/meta-data/block-device-mapping/ephemeral0
退货sdj
,但是没有/dev/sdj
,所以似乎没用...还有更好的吗?
次设备号似乎是 208——可以依赖它吗?
答案1
我没有设置来检查这是否特定于 Amazon Linux AMI,但在我的设置中,/dev/sdX
它已符号链接到相应的/dev/xvdX
设备。
curl http://169.254.169.254/latest/meta-data/block-device-mapping/ephemeral0 --> sdb
[ec2-user@ip-172-31-61-112 ~]$ ls -lrt /dev/sd*
lrwxrwxrwx 1 root root 4 Jun 24 01:06 /dev/sdb -> xvdb
lrwxrwxrwx 1 root root 4 Jun 24 01:07 /dev/sda -> xvda
lrwxrwxrwx 1 root root 5 Jun 24 01:07 /dev/sda1 -> xvda1
lrwxrwxrwx 1 root root 4 Jun 24 02:09 /dev/sdf -> xvdf
[ec2-user@ip-172-31-61-112 ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 8G 0 disk
└─xvda1 202:1 0 8G 0 part /
xvdb 202:16 0 30G 0 disk [SWAP]
答案2
要求 http://169.254.169.254/latest/meta-data/block-device-mapping/ephemeral0 返回 sdj,但没有 /dev/sdj,所以似乎没用...还有更好的吗?
以上是您的最佳选择。您看不到设备的原因sdj
是由于 AWS 引用它们附加到您的实例的设备的方式与您的操作系统命名这些设备的方式不一致。亚马逊说它是sdj
,而您的情况下,实际上是/dev/xvdj
。