Виртуальный аплайнс 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:
Причиной этого может являться то, что загрузочный образ initramfs в гостевой ОС аплайнса был создан тогда, когда исходная виртуальная машина была запущена на платформе виртуализации VMWare, и при генерации этого образа не была включена опция добавления поддержки полного комплекта драйверов. То есть, предположительно, в этот образ не попали драйверы поддержки дисковой подсистемы, необходимые для работы гостевой ОС в среде виртуализации Hyper-V.
Чтобы решить эту проблему, мы попробуем пересобрать образ initramfs, запустив ОС в Rescue Mode.
Нам известно, что на аплайнс построен на базе RHEL 7.6, поэтому возьмём ISO образ стандартного инсталляционного диска RHEL 7.6 и настроим в свойствах ВМ загрузку с этого диска. Запустим ВМ и в ходе загрузки выберем пункт Troubleshooting.
В меню Troubleshooting выберем пункт Rescue a Red Hat Enterprise Linux system.
В меню Rescue выберем пункт "1", чтобы система, расположенная на диске виртуальной машины, была смонтирована в каталог /mnt/sysimage.
Запустится режим 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
Нас интересует образ последней версии, которая будет использоваться для загрузки гостевой ОС. В нашем случае это образ версии 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
В свойствах ВМ извлекаем инсталляционный ISO образ RHEL и меняем порядок загрузки на загрузку с диска. Включаем ВМ и проверяем результат. Система должна успешно загрузиться и мы попадём в меню первичной настройки аплайнса.
В качестве заключительного шага из гостевой системы можно удалить сохранённый ранее загрузочный образ 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
Добавить комментарий