Я пытаюсь создать AMI из экземпляра, хранящегося в хранилище, но получаю сообщение об ошибке «Недопустимое имя устройства» в то время, когда я пытаюсь зарегистрировать AMI.
Я слежу за этим документом:
Это мое текущее состояние экземпляра:
[root@ip-172-29-1-29 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 500G 0 disk
└─xvda1 202:1 0 500G 0 part /
xvdb 202:16 0 745.2G 0 disk
└─xvdb1 202:17 0 745.2G 0 part /media/ephemeral0
xvdc 202:32 0 745.2G 0 disk
└─xvdc1 202:33 0 745.2G 0 part /media/ephemeral1
[root@ip-172-29-1-29 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 493G 4.9G 488G 1% /
devtmpfs 61G 108K 61G 1% /dev
tmpfs 61G 0 61G 0% /dev/shm
/dev/xvdb1 734G 69M 697G 1% /media/ephemeral0
/dev/xvdc1 734G 69M 697G 1% /media/ephemeral1
Вот мой fstab:
[root@ip-172-29-1-29 ~]# cat /etc/fstab
#
LABEL=/ / ext4 defaults,noatime 1 1
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/xvdb1 /media/ephemeral0 ext4 defaults,noatime,nodiratime,nofail 0 2
/dev/xvdc1 /media/ephemeral1 ext4 defaults,noatime,nodiratime,nofail 0 2
И вот файл манифеста, который я получаю:
<machine_configuration>
<architecture>x86_64</architecture>
<block_device_mapping>
<mapping>
<virtual>ami</virtual>
<device>xvda</device>
</mapping>
<mapping>
<virtual>ephemeral0</virtual>
<device>xvdb</device>
</mapping>
<mapping>
<virtual>ephemeral1</virtual>
<device>xvdc</device>
</mapping>
<mapping>
<virtual>root</virtual>
<device>/dev/xvda1</device>
</mapping>
</block_device_mapping>
</machine_configuration>
В конце, когда я пытаюсь зарегистрировать AMI, я получаю следующую ошибку:
An error occurred (InvalidManifest) when calling the RegisterImage operation: Invalid block device mapping: Invalid device name '/dev/xvda1'
Я также пробовал использовать "/ dev / xvda" или "xvda", но не уверен, какое имя устройства я должен использовать для root.
Как было предложено в комментариях к вопросу OP, корневое устройство либо /dev/sda1
или /dev/xvda
, и Документация по именованию устройств AWS укажите, какие имена можно использовать для других устройств.
Насколько я понимаю, именование больше связано с тем, как гипервизор видит устройство, чем с тем, как ОС видит устройство.