Запуск аплайнса Avaya Meetings (Equinox) Management Server 9.1 в среде Hyper-V и исправление ошибки загрузки RHEL "Warning dracut-initqueue timeout - starting timeout scripts"

Avaya Meetings (Equinox) Management Server 9.1 in Hyper-V environment and fixing RHEL boot error "Warning dracut-initqueue timeout - starting timeout scripts"Виртуальный аплайнс Avaya Meetings (Equinox) Management Server 9.1 из состава программно-аппаратного комплекса Avaya Aura, поставляется в виде образа OVA и в случае, если попытаться  запустить этот аплайнс на платформе виртуализации Hyper-V, можно столкнуться с проблемой невозможности загрузки гостевой ОС Red Hat Enterprise Linux (RHEL). Посмотрим как можно решить эту проблему.

Итак, получив образ аплайнса в формате OVA, по уже имеющемуся опыту, распакуем его и применим утилиту qemu-img для конвертации виртуального диска формата VMDK в формат VHDX командой типа:

qemu-img convert -O vhdx -o subformat=dynamic "ApplicationServer_9.1.11.0.70-disk1.vmdk" "ApplicationServer_9.1.11.0.70-disk1.vhdx"

Нам известно, что загрузчик аплайнса собран в формате Legacy BIOS, поэтому в среде виртуализации Hyper-V нам потребуется создать новую виртуальную машину поколения Gen1 и присоединить к ней получившийся в результате конвертации VHDX файл. При попытке загрузки такой виртуальной машины мы столкнёмся с сообщениями вида "Warning dracut-initqueue timeout - starting timeout scripts" и гостевая ОС вывалится в Dracut Emergency Shell: Avaya Meetings Equinox in Hyper-V environment and RHEL boot error "Warning dracut-initqueue timeout - starting timeout scripts"

Причиной этого может являться то, что загрузочный образ initramfs в гостевой ОС аплайнса был создан тогда, когда исходная виртуальная машина была запущена на платформе виртуализации VMWare, и при генерации этого образа не была включена опция добавления поддержки полного комплекта драйверов. То есть, предположительно, в этот образ не попали драйверы поддержки дисковой подсистемы, необходимые для работы гостевой ОС в среде виртуализации Hyper-V.

Чтобы решить эту проблему, мы попробуем пересобрать образ initramfs, запустив ОС в Rescue Mode.

Нам известно, что на аплайнс построен на базе RHEL 7.6, поэтому возьмём ISO образ стандартного инсталляционного диска RHEL 7.6 и настроим в свойствах ВМ загрузку с этого диска. Запустим ВМ и в ходе загрузки выберем пункт Troubleshooting.

RHEL 7.6 Boot in Troubleshooting Mode

В меню Troubleshooting выберем пункт Rescue a Red Hat Enterprise Linux system.

RHEL 7.6 Boot in Troubleshooting - Rescue a Red Hat Enterprise Linux system

В меню Rescue выберем пункт "1", чтобы система, расположенная на диске виртуальной машины, была смонтирована в каталог /mnt/sysimage.

RHEL 7.6 Boot in Troubleshooting - Rescue a Red Hat Enterprise Linux system

Запустится режим Rescue Mount и мы получим приглашение командной строки.

RHEL 7.6 Boot in Troubleshooting - Rescue a Red Hat Enterprise Linux system - Rescue Mount

Выполним следующую последовательность команд, чтобы перейти в chroot-окружение ОС, ранее смонтированной в /mnt/sysimage:

# mount --bind /proc /mnt/sysimage/proc
# mount --bind /dev /mnt/sysimage/dev
# mount --bind /sys /mnt/sysimage/sys
# mount --bind /run /mnt/sysimage/run
# chroot /mnt/sysimage

Затем посмотрим, какие есть загрузочные образы initramfs в составе ОС:

# ls -la /boot/*.img

Run chroot in RHEL 7.6 and list initramfs images

Нас интересует образ последней версии, которая будет использоваться для загрузки гостевой ОС. В нашем случае это образ версии 3.10.0-1160.15.2.el7.x86_64. Его мы и будем пересобирать.

На всякий случай сохраним копию загрузочного образа, который будем переписывать

# cp -p /boot/initramfs-3.10.0-1160.15.2.el7.x86_64.img /boot/initramfs-3.10.0-1160.15.2.el7.x86_64.img.vmware

Сгенерируем новый образ с учётом поддержки дисковой подсистемы, которая была обнаружена при текущей загрузке инсталляционного диска RHEL.
Так как в нашем случае есть несколько ядер, укажем конкретную версию образа, который мы хотим сгенерировать. Указанный нами img файл будет перезаписан.

# dracut -f /boot/initramfs-3.10.0-1160.15.2.el7.x86_64.img 3.10.0-1160.15.2.el7.x86_64

После этого выходим из chroot-окружения и выключаем ВМ:

# cd /
# sync
# exit
# poweroff

Save and exit from chroot in RHEL 7.6

В свойствах ВМ извлекаем инсталляционный ISO образ RHEL и меняем порядок загрузки на загрузку с диска. Включаем ВМ и проверяем результат. Система должна успешно загрузиться и мы попадём в меню первичной настройки аплайнса.

Avaya Meetings (Equinox) Management Server First Start Menu

В качестве заключительного шага из гостевой системы можно удалить сохранённый ранее загрузочный образ initramfs а также компоненты интеграции VMWare, которые в среде виртуализации Hyper-V не нужны:

# rm /boot/initramfs-3.10.0-1160.15.2.el7.x86_64.img.vmware
# yum remove open-vm-tools

Описанная здесь проблема загрузки гостевой ОС из-за загрузочного образа initramfs, в котором отсутствуют нужные драйверы, не относится исключительно к аплайнсу Avaya Meetings (previously Equinox) Management Server 9.1. Эта проблема может проявится на любом другом аплайнсе, построенном на базе RHEL при условии, что аплайнс собирался под одной средой виртуализации, а запускается в другой среде виртуализации. Проблема может проявляться даже на физическом железе при переносе диска с ранее развёрнутой RHEL-системой на новое железо. Чтобы избежать этой проблемы, рекомендуется на этапе подготовки аплайнса (или перед переносом диска на другое железо) выполнять команду регенерации образа initramfs с включением в образ полного комплекта драйверов:

# dracut --force --no-hostonly

Добавить комментарий