Миграция виртуальной машины VMware ESXI -> QEMU-KVM

Переносить будем виртуалку с гостевой операционной системой (ОС) семейства Windows. Перед началом необходимо провести несколько подготовительных мероприятий внутри гостевой ОС.

Подготовка гостевой ОС к миграции

Удаление VMware tools

Деинсталлируем VMware tools через Панель управления Windows (требуется перезагрузка гостевой ОС).

Включение IDE

  • Поддержка IDE необходима для KVM, поэтому вносим изменения в реестр гостевой ОС из файла mergeide.zip. Перезагружаем гостевую ОС.
  • Убедитесь, что файлы Atapi.sys, Intelide.sys, Pciide.sys и Pciidex.sys есть в каталоге %SystemRoot%\System32\Drivers гостевой ОС. Если какие-то из этих файлов отсутствуют, то можно скопировать их из архива %SystemRoot%\Driver Cache\I386\Driver.cab (открывается как каталог в Проводнике Windows).
  • Выключаем гостевую ОС.

 

Архивирование виртуального диска

Установка 7zip на VMware ESXI

  • Копируем каталог bin из архива p7zip_9.20.1_x86_linux_bin.tar.gz на хост-машину с VMware ESXI. Это можно сделать либо по ssh, либо через Проводник, встроенный в vSphere Client.
  • Делаем исполняемыми скопированные файлы:
    ~ # cd /tmp/bin
    /tmp/bin # ls -al 7z*
    -rw-r--r--    1 root     root        562104 Mar 13  2011 7z
    -rw-r--r--    1 root     root       2860260 Mar 13  2011 7z.so
    -rw-r--r--    1 root     root        486328 Mar 13  2011 7zCon.sfx
    -rw-r--r--    1 root     root       1432128 Mar 13  2011 7za
    -rw-r--r--    1 root     root        953920 Mar 13  2011 7zr
    /tmp/bin # chmod 755 7z 7za 7zr
    

Создание архива

Подключаемся по ssh к host-машине с VMware ESXI и затем выполняем команды:

# переходим в каталог с виртуальной машиной
cd /vmfs/volumes/datastore[1]/[win7]

# создаём архив всего каталога
# (степень сжатия=3, кол-во потоков=8, алгоритм сжатия=LZMA2, непрерывный (solid) архив)
/tmp/bin/7z a -mx3 -mmt=8 -m0=LZMA2 -ms=on ../[win7.7z]

Если QEMU на целевом сервере ещё не установлен, то самое время его установить.

 

Копирование архива на сервер с QEMU

В консоли хост-сервера VMware ESXI выполняем команду (нужно указать пользователя и адрес сервера с QEMU):

scp /vmfs/volumes/datastore[1]/[win7.7z] [user]@[qemu-host]:/var/lib/libvirt/images

 

Распаковка архива на целевом сервере QEMU

Если на сервере QEMU отсутствует 7zip, то ставим:

sudo apt-get install p7zip-full

В консоли хост-сервера QEMU выполняем команду:

7z e /var/lib/libvirt/images/[win7.7z]

 

Конвертация vmdk->qcow2

cd /var/lib/libvirt/images
qemu-img convert -f vmdk [win7.vmdk] -O qcow2 [win7.qcow2]

 

Создание виртуальной машины в QEMU

  • Создаём новую виртуалку на целевом сервере. Я рекомендую для этой цели воспользоваться графическим менеджером virt-manager.
  • Подключаем к созданной машине наш диск [win7.qcow2] как IDE-устройство.
  • Запускаем виртуалку.

На этом миграция завершена.

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