Как я могу перечислить фактические имена блочных устройств временного хранилища, доступные в моем экземпляре EC2?
После некоторых проб и ошибок он появляется что такие устройства подключаются как /dev/xvdn
(и /dev/xvdm
если их два) - есть ли способ надежно перечислить их изнутри экземпляра?
fdisk -l
перечисляет все устройства - без каких-либо явных отличий /dev/xvdn
. То же самое касается вывода lsblk
. (Мы не используем собственные AMI-инстансы Amazon, поэтому нет -p
флаг для lsblk
...)
Запрос http://169.254.169.254/latest/meta-data/block-device-mapping/ephemeral0
возвращается sdj
, но нет /dev/sdj
, так что это кажется бесполезным ... Есть что-нибудь лучше?
Второстепенный номер устройства вроде 208 - можно ли на это рассчитывать?
У меня нет настройки, чтобы проверить, характерно ли это для AMI Amazon Linux, но в моей настройке здесь /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]
Запрос http://169.254.169.254/latest/meta-data/block-device-mapping/ephemeral0 возвращает sdj, но нет / dev / sdj, так что это кажется бесполезным ... Есть что-нибудь лучше?
Вышеуказанное - ваш лучший выбор. Причина, по которой вы не видите sdj
device возникает из-за несоответствия между тем, как AWS относится к устройствам, которые они подключают к вашему экземпляру, и тем, как ваша ОС называет эти устройства. Amazon говорит, что это sdj
, что в вашем случае на самом деле /dev/xvdj
.