Назад | Перейти на главную страницу

Как я могу настроить образ Xen для работы на EC2 с разными именами дисков?

Я сейчас создаю несколько образов машин Amazon (AMI), которые будут загружены и запущены на основе наших образов Xen. Однако у меня возникают проблемы с некоторыми платформами, где имена дисков, назначаемые при работе на EC2, отличаются от того, что Xen называет им при локальном запуске образов.

Например, при локальном запуске SUSE мы видим следующее:

brw-rw ---- 1 корневой диск 202, 1 января 30 07:49 xvda1
brw-rw ---- 1 корневой диск 202, 2 января 30 07:49 xvda2
brw-rw ---- 1 корневой диск 202, 3 января 30 07:49 xvda3

Хотя предоставленные Amazon изображения сообщают следующее при работе на t1.micro:

brw-rw ---- 1 корневой диск 8, 1 30 января 13:18 sda1

Как я могу подготовить свои изображения Xen, чтобы при их объединении с помощью ec2-связка-изображение правильное имя диска будет выбрано автоматически?

Наилучший подход - ссылаться на диски не по фактическим именам, а по UUID файловой системы или меткам. Они представлены в /dev/disk/by-uuid и /dev/disk/by-label соответственно, и может быть указано в /etc/fstab с UUID= или LABEL= синтаксис:

UUID=e6c4e981-ce1d-423e-9f23-167f8b370021   /   ext4    defaults    0   0

Это также принято для root= Параметр ядра настроен в загрузчике, поэтому, например, с помощью GRUB1:

kernel  /vmlinuz-3.2.0-31-virtual root=UUID=e6c4e981-ce1d-423e-9f23-167f8b370021 ro

GRUB2 и некоторые исправленные версии GRUB1 поддерживают UUID для поиска раздела, содержащего /boot. Однако это не должно быть проблемой, поскольку загрузчики не называют виртуальные диски по-разному.