Конвертация виртуальной машины Xen в VMware
Кому предназначено это руководство
Администраторам виртуальной инфраструктуры и инженерам, которые знакомы с Xen, RHEL/Fedora/CentOS и VMware. Предполагается опыт работы с ядрами Linux, управлением пакетами и консольными инструментами.
Основные варианты задачи
- конвертация Xen PV/HVM гостя в образ VMDK для VMware;
- подготовка гостя к полной виртуализации (замена паравиртуальных драйверов);
- адаптация диска и загрузчика для ESX/ESXi.
Важно: перед началом создайте полную резервную копию виртуальной машины и снимите контрольную точку гипервизора.
Быстрая схема действий
- Подготовка — установите и загрузите стандартный (generic) ядро в госте Xen.
- Диск — с помощью qemu-img конвертируйте Xen-диск в VMDK.
- Проверка — запустите получённый VMDK в VMware Server/Workstation.
- ESX — измените контроллер SCSI на LSI, создайте initrd и поправьте fstab/grub, затем загрузитесь в ESX/ESXi.
Требования и подготовка
- qemu (qemu-img)
- VMware Server 1.xx или VMware Workstation для теста
- VMware Converter для перехода в ESXi/ESX
- Knoppix LiveCD или дистрибутивный первый CD для chroot/восстановления
- Доступ к ISO/репозиторию с generic-ядром соответствующей версии и архитектуры
Перед началом:
- резервная копия диска и конфигурации;
- снимок/контрольная точка виртуальной машины;
- записать текущую конфигурацию сети и fstab на бумаге или в текстовом файле.
Подготовка ядра (Kernel Step)
Кратко: гостю нужен стандартный (non-Xen) kernel, который поддерживает полную виртуализацию.
СДЕЛАЙТЕ БЭКАП: крайне рискованная операция — сначала сделайте резервную копию виртуальной машины.
Скачайте generic-ядро той же версии и архитектуры, что и текущее Xen-ядро. Подойдёт дистрибутивный CD/DVD или репозиторий.
Установите пакет ядра через RPM/пакетный менеджер вашей системы.
Измените /etc/modprobe.conf, чтобы заменить паравиртуальные драйверы на стандартные SCSI/сетевые:
alias eth0 xennet
alias scsi_hostadapter xenblk замените на:
alias eth0 pcnet32
alias scsi_hostadapter mptbase
alias scsi_hostadapter1 mptspi
alias scsi_hostadapter2 ata_piix - Отредактируйте /etc/inittab: раскомментируйте getty для tty1..6 и закомментируйте строку с консолью Xen. Пример:
1:2345:respawn:/sbin/mingetty --noclear tty1
2:2345:respawn:/sbin/mingetty
3:2345:respawn:/sbin/mingetty
4:2345:respawn:/sbin/mingetty
5:2345:respawn:/sbin/mingetty
6:2345:respawn:/sbin/mingettyВажно: это однонаправленное действие. После замены модулей машина не сможет корректно запуститься на Xen-ядре; ожидается, что она будет загружаться в среде полной виртуализации.
Примечание: если вы хотите минимизировать риск, делайте эти изменения на копии диска или в тестовой гостевой ОС, а не на продовой машине.
Конвертация диска — qemu-img (Disk Step)
QEMU (qemu-img) используется для преобразования образа диска Xen в формат VMDK, принимаемый VMware.
- Установите qemu-img. Для RHEL5/Fedora/CentOS5 можно взять пакет из DAG-репозитория:
http://dag.wieers.com/rpm/packages/qemu/
- Выполните конвертацию:
qemu-img convert -O vmdk Создайте новую виртуальную машину в VMware Server / Workstation и подключите созданный VMDK (выбирайте «использовать существующий диск»).
Запустите машину в VMware Server, чтобы она автоматически подтянула инициализацию устройств и прошла первичную конфигурацию. Это также позволит сформировать .VMX файл автоматически.
Перенесите виртуальную машину на рабочую станцию Windows с установленным VMware Converter и используйте Converter для трансформации виртуальной машины в формат ESXi/ESX, если требуется.
Совет: выполняйте конвертацию и проверку в изолированной тестовой среде перед переносом в прод.
Подготовка к ESX/ESXi (ESX Step)
Перед установкой в ESX/ESXi нужно убедиться, что загрузчик и initrd соответствуют окружению хоста.
В настройках виртуальной машины установите загрузку с CD-ROM первым устройством.
Измените тип контроллера SCSI с BUS Logic на LSI Logic: Virtual Machine Settings > SCSI Controller 0 > Change type > LSI Logic.
Загрузитесь с Knoppix LiveCD или с первого CD дистрибутива для доступа к файловой системе гостя.
Смонтируйте диск и выполните chroot в систему гостя.
Определите архитектуру диска и разделы командой fdisk -l и отредактируйте /etc/fstab согласно разметке.
Постройте новый initrd (initramfs). Узнайте версию текущего ядра и выполните, например:
# mkinitrd -v -f /boot/initrd-2.6.18-1234.img 2.6.18-1234Отредактируйте /boot/grub/menu.lst так, чтобы загрузчик использовал созданный initrd и правильный kernel.
Перезагрузите систему и проверьте логи загрузки. После успешной загрузки не забудьте перенастроить сетевые интерфейсы.
Ключевая проверка: убедитесь, что сетевой интерфейс использует правильный драйвер (pcnet32 или e1000) и что MAC-адрес/конфигурация IP корректно настроены для новой среды.
Проверка и отладка
- Просмотрите /var/log/messages и dmesg на предмет ошибок драйверов;
- Убедитесь, что fstab не содержит ссылок на устройства, которые поменяли имена;
- Если система не грузится — используйте LiveCD и chroot для восстановления grub/initrd.
Критерии приёмки
- VM загружается до уровня multiuser без паник ядра;
- Сетевые интерфейсы подняты и доступны согласно ранее задокументированной конфигурации;
- Доступ к приложению/сервисам подтверждён тестовым запросом;
- Бэкап целостности и снапшоты сохранены.
Риски и способы смягчения
| Риск | Вероятность | Влияние | Митигирующие меры |
|---|---|---|---|
| Потеря данных при модификации ядра | Средняя | Высокое | Делать бэкап и работать с копией диска |
| Невозможность загрузки после смены модулей | Средняя | Высокое | Тестировать на VM-копии, иметь LiveCD для восстановления |
| Несовместимость драйверов SCSI/сетевых | Средняя | Среднее | Использовать LSI Logic и общепринятые драйверы (pcnet32/e1000) |
Важно: не пытайтесь выполнять операции на продовой виртуальной машине без тестов и резервных копий.
Альтернативные подходы
- Миграция приложений: вместо конвертации всей VM, разверните новую VM в VMware и перенесите приложения/данные.
- Storage-based replication: реплицируйте диски на общий SAN и пересоздайте VM на стороне VMware.
- Использовать коммерческие решения миграции от вендоров, если требуется поддержка и гарантия.
Когда этот метод не подходит:
- Если гостевая система имеет специфичные паравиртуальные драйверы, тесно завязанные на Xen-API;
- Если приложение критично к простоям и у вас нет тестовой среды.
Чек-лист перед переходом
- Полный бэкап VM
- Снимок/контрольная точка гипервизора
- Доступ к generic-ядру и пакетам
- Установлен qemu-img на машине-конвертере
- Тестовая среда с VMware Server/Workstation
- План отката и контакты команды поддержки
Роль-плюс-задачи (кто что делает)
- Системный администратор: создание бэкапов, установка ядра, изменение конфигураций;
- Инфраструктурный инженер: конвертация диска qemu-img, создание VM в VMware;
- Сетевой инженер: проверка и перенастройка сетевых интерфейсов;
- Тестировщик: верификация сервисов и нагрузочное тестирование.
Короткая методология миграции
- Подготовить — сохранить состояние, снять снапшот.
- Протестировать — выполнить все изменения на копии.
- Конвертировать — qemu-img -> VMDK.
- Проверить — запустить в VMware Server.
- Адаптировать — переключить SCSI, создать initrd, поправить grub/fstab.
- Перенести — VMware Converter в ESXi.
- Верифицировать — мониторинг и приемочные тесты.
Короткий глоссарий (1 строка)
- Xen PV/HVM — режимы запуска гостя в Xen: паравиртуализация/гипервизорная виртуализация;
- VMDK — формат виртуального диска VMware;
- initrd/initramfs — начальный RAM-диск для загрузки ядра.
Отказ и откат
Если после миграции обнаружены критичные проблемы:
- Откатитесь к снимку (snapshot) гипервизора или восстановите бэкап диска;
- При невозможности загрузки используйте LiveCD и chroot для восстановления initrd/grub.
Тесты и критерии приёмки
- Система проходит загрузку в multiuser режиме;
- Все сетевые службы доступны и отвечают на тестовые запросы;
- Логи не содержат критических ошибок драйверов.
Внешние ссылки и дополнительные материалы
- Официальная документация и обсуждения по VMware:
http://communities.vmware.com/docs/DOC-8300
Краткое резюме
- Всегда начинайте с бэкапа и теста на копии диска.
- Процесс состоит из трёх ключевых шагов: ядро, диск, ESX-адаптация.
- qemu-img — основной инструмент для преобразования образа в VMDK.
- После конвертации обязательно проверяйте initrd, grub и конфигурацию сети.
Важно: каждый шаг может привести к некорректной загрузке, поэтому планируйте время и ресурсы на восстановление и тестирование.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента