Самостоятельная миграция с помощью virt-v2v
Описание
В руководстве показан один из способов самостоятельной миграции виртуальной
машины с VMware ESXi 6.7 в SIM-Cloud. Утилита virt-v2v преобразует системный
диск и добавляет VirtIO-драйверы, необходимые гостевой ОС Windows для работы на
KVM. Дополнительные диски с данными переносятся без такой обработки.
Используйте готовый образ SIM-V2V или разверните собственный сервер Linux с
virt-v2v. Операция требует навыков администрирования Linux, Windows, VMware
и SIM-Cloud.
Предупреждение
Перед миграцией создайте проверенную резервную копию исходной машины.
Команды dd записывают данные непосредственно на блочное устройство;
ошибка в имени диска необратимо уничтожит его содержимое.
Подготовка к миграции
Для системного диска Windows:
Удалите VMware Tools из гостевой ОС.
Корректно выключите виртуальную машину. Копирование работающей машины может привести к несогласованному состоянию данных.
Убедитесь, что на ESXi разрешён доступ для выбранной учётной записи и что сервер миграции может подключиться к нему по сети.
Linux обычно не требует внедрения VirtIO-драйверов. Для дополнительного диска
с данными также достаточно получить образ raw и записать его на облачный
диск подходящего размера.
Ознакомьтесь с разделами Быстрый старт, Подключение диска и Отключение диска.
Запуск SIM-V2V
Создайте инстанс из образа
SIM-V2V. Рекомендуется конфигурация не менее 2 vCPU и 4 ГБ RAM. Данные для первого входа в исходный подготовленный образ: пользовательroot, парольsim-v2v.Сразу после входа замените пароль.
Создайте и подключите дополнительный диск типа
gs1для рабочих файлов. Его объём должен включать исходные и преобразованные образы. Для образа 200 ГБ предусмотрите около 500 ГБ рабочего пространства.Создайте файловую систему и смонтируйте диск в
/dataпо инструкции Подключение дополнительного диска.
Копирование дисков из VMware ESXi
Перейдите в рабочий каталог:
cd /data
Скопируйте выключенную виртуальную машину:
virt-v2v-copy-to-local -ic esx://user_esxi@esxi.example.net VM_NAME
При запросе введите пароль пользователя ESXi. Для подробной диагностики
добавьте параметры -v -x.
Если ESXi использует недоверенный самоподписанный сертификат, после проверки адреса сервера можно явно отключить проверку для этой операции:
virt-v2v-copy-to-local -ic 'esx://user_esxi@esxi.example.net/?no_verify=1' VM_NAME -v -x
Предупреждение
no_verify=1 отключает проверку подлинности сервера и повышает риск атаки
посредника. Используйте его только в доверенной сети и после независимой
проверки адреса ESXi.
Проверьте полученные файлы:
ls -lh /data
qemu-img info /data/VM_NAME-disk1
В примере virt-v2v-copy-to-local создаёт образы дисков в формате raw и
XML-описание виртуальной машины. Время копирования зависит от размера дисков и
пропускной способности соединения.
Конвертация системного диска
Для Windows преобразуйте только системный диск:
virt-v2v -i disk /data/VM_NAME-disk1 -o local -os /data
Утилита определит версию Windows, установит подходящие VirtIO-драйверы и создаст
новый файл, например VM_NAME-disk1-sda. Проверьте его:
ls -lh /data/VM_NAME-disk1-sda
qemu-img info /data/VM_NAME-disk1-sda
Предупреждение об отсутствии драйвера QXL допустимо: система будет использовать базовый VGA-драйвер. Не устанавливайте QXL из старого комплекта образа, если он вызывает перевёрнутое или зеркальное изображение консоли.
Дополнительные диски уже имеют формат raw и не требуют запуска
virt-v2v.
Копирование образов на облачные диски
Для каждого образа создайте пустой диск SIM-Cloud. Его размер должен быть не меньше значения
virtual sizeизqemu-img info.Подключите диск к инстансу SIM-V2V и определите имя нового устройства:
fdisk -l
Ещё раз сопоставьте размер и имя. Запишите системный образ, например, на
/dev/vdc:dd if=/data/VM_NAME-disk1-sda of=/dev/vdc bs=32M status=progress conv=fsync
Для дополнительного диска используйте исходный
raw-файл:dd if=/data/VM_NAME-disk2 of=/dev/vdd bs=32M status=progress conv=fsync
После завершения выполните
sync, отключите диски средствами SIM-Cloud и пометьте системный диск как Bootable через OpenStack CLI:openstack volume set --bootable <SYSTEM_VOLUME_ID>
Запуск перенесённого инстанса
Запустите новый инстанс из подготовленного системного диска.
Выберите подходящий тип, сеть и группы безопасности.
После успешной загрузки подключите перенесённые диски с данными.
Проверьте IP-адреса, маршруты, DNS, системное время, службы, приложения и лицензии. Сетевые параметры в SIM-Cloud отличаются от исходной среды.
Установка драйверов в Windows
После первого запуска откройте Device Manager. Для устройств без драйверов выберите Update driver → Browse my computer for drivers → Let me pick from a list и установите соответствующий драйвер из стабильного комплекта VirtIO.
Для сетевого контроллера выберите Red Hat VirtIO Ethernet Adapter.
Подтвердите доверие программному обеспечению Red Hat и завершите установку.
Аналогично установите VirtIO Balloon Driver для PCI-устройства.
После установки драйверов установите QEMU Guest Agent
(qemu-ga-x64.msi из каталога guest-agent официального стабильного
образа VirtIO). Перезагрузите Windows и убедитесь, что в диспетчере устройств
нет неизвестных устройств.
Создание собственного сервера миграции
Вместо SIM-V2V можно использовать совместимый сервер Linux. Для старого
окружения CentOS 7 последовательность установки выглядела так:
yum update -y
yum install virt-v2v xorriso -y
wget https://fedorapeople.org/groups/virt/virtio-win/virtio-win.repo -O /etc/yum.repos.d/virtio-win.repo
yum install virtio-win -y
Проверьте версии пакетов и источник репозитория перед использованием: CentOS 7 и приведённый комплект драйверов устарели. Для новой миграции предпочтительнее актуальный поддерживаемый дистрибутив и стабильный VirtIO ISO из официального репозитория Fedora.
Если конкретные драйверы QXL вызывают проблемы с консолью, создайте копию ISO
без каталогов qxl и qxldod и укажите её virt-v2v. Не изменяйте
единственный исходный образ драйверов и документируйте версию использованного
комплекта.
После переноса выполните полный функциональный тест сервера: загрузку ОС, доступность дисков, сеть, службы, приложения, резервное копирование и лицензии. Переключайте рабочую нагрузку только после успешной проверки.