Миграция виртуальных машин из VMware в Proxmox

19/02/2021


Популярность системы виртуализации Proxmox-VE растет с каждым днем во многом благодаря ее разносторонним возможностям. Иногда возникает необходимость в перемещении ряда гостевых машин из одной среды виртуализации в другую. Как переместить KVM виртуальную машину с диском формата qcow2 я показывал ранее в статье — Импорт kvm виртуалок в Proxmox. Теперь хотелось бы рассказать как осуществить аналогичный процесс из среды vSphere. Не часто, но такая необходимость может возникнуть у любого системного администратора. Сама миграция в целом технически не сложная, однако требует знания определенных нюансов, для получения нужного результата. Как учесть эти тонкости и по шагам провести процесс транзита виртуальных машин из VMware в Proxmox показано далее в статье.

Процесс миграции

Из имеющихся возможных вариантов проведения перевода виртуальной машины из среды vSphere в среду Proxmox покажу простейший и как мне кажется наиболее прямолинейный способ.

Во-первых, с помощью веб интерфейса клиента vSphere проводим экспорт виртуальной машины в виде OVF темплейта. Для этого в контекстном меню данной виртуальной машины выбираем Template -> Export OVF Template. Перед выполнением данного действия необходимо убедиться, что сама ВМ находится в выключенном состоянии. В результате выполнения операции экспорта на рабочий компьютер загрузится несколько файлов данной ВМ (ovf, vmdk, nvram, mf).

Во-вторых, загружаем все файлы, полученные в результате предыдущей операции, на сервер Proxmox. Это можно сделать с помощью команды scp в Linux/MacOS или pscp в Windows.

В-третьих, когда все файлы будут загружены, можно начать импорт этих файлов в Proxmox-VE. Пример команды в CLI для импорта ВМ приведен ниже.

# qm importovf 101 /install/andreyus-test-vm.ovf local-lvm

Так 101 — это номер создаваемой виртуалки в Proxmox, a local-lvm — датастор, на котором будут находиться файлы данной ВМ. После того, как импорт будет полностью завершен, рекомендую выполнить следующие действия со вновь созданной виртуалкой:

  • Установить в настройках жестких дисках параметр discard=on.
  • Добавить необходимые сетевые адаптеры.
  • Выставить параметр QEMU guest agent в Enabled.
  • Отредактировать название ВМ в случае необходимости.

В-четвертых, пришло время запускать импортированную нами виртуальную машину. Так как в средах vSphere и Proxmox наименование сетевых адаптеров различается, необходимо через VNC консоль гипервизора произвести их переконфигурацию. После этого должна появиться связь с виртуальной машиной из сети. Соответсвенно можно будет заходить на нее удаленно и выполнять дальнешие действия через SSH или RDP. В ряде случаев для нормального функционирования определенных сервисов потребуется перезагрузка гостевой машины.

В-пятых, нам необходимо отключить vmware-tools, и включить qemu agent. Так, например, в случае с использованием Ubuntu Linux в качестве гостевой ОС, нам нужно выполнить две команды в шелле виртуальной машины.

# sudo apt remove open-vm-tools
# sudo apt install qemu-guest-agent

В-шестых, после процедуры импорта, все диски гостевой машины в Proxmox будут занимать полное место на датасторе, вне зависиомсти от использования функионала Thin Provisioning. Если мы используем данную технологию, то необходимо в шелле гостевой машины выполнить следующую команду, чтобы освободить на датасторе неиспользуемое место.

# fstrim -av

В-седьмых, после того, как все необходимые действия по переносу будут выполнены, рекомендую удалить полностью первоначальную ВМ из среды vSphere. Кроме этого удаляем все ненужные файлы, которые создавались или копировались в процессе проведения работ по миграции. На этом операцию по миграции можно считать успешно выполненной и полностью завершенной.

Резюме

Алогиртм, расписанный в этой статье, сам по себе не сложный и позволяет в случае необходимости плавно перенести нужное количество гостевых машин из среды VMware в среду Proxmox-VE. Однако, надо понимать, что большая часть задач требует ручного выполнения и отнимает определенное время. В остальном, процесс миграции не должен вызвать затруднений у читателей моего блога.



Автор Andrey UseinovОпубликовано Рубрики InfrastructureМетки Linux, Proxmox, Virtualization, VMware

как портировать виртуалку с VirtualBox

Предисловие

На создание записи подтолкнуло, отсутствие материала и проблемы появившиеся при решении задачи

Дано

Proxmox Virtual Environment (Proxmox VE) — система виртуализации с открытым исходным кодом, основанная на Debian, у меня версия 4. 2
LXC (англ. Linux Containers) — система виртуализации на уровне операционной системы для запуска нескольких изолированных экземпляров операционной системы Linux на одном узле. LXC не использует виртуальные машины,
а создает виртуальное окружение с собственным пространством процессов и
сетевым стеком. Все экземпляры LXC используют один экземпляр ядра
операционной системы. У нас на ней будет одна виртуалка для бекапов
VirtualBox у нас версия 4.2.24r92790 под управлением vboxmanage(только консоль, только хардкор)
 

 

Начало

Суть проблемы в следующем:

1) Виртуал бокс хранить диски виртуальных машин в формате VDI — собственный формат, может работать и с OVF, но к себе сохранит в него

2) С VDI не работает ProxMox, может c RAW(не сжатый образ) VMDK(от VMware) qcow2(от QEMU свой собственный формат, с ним позже поговорим, есть свои плюшки).

Копирывание

1) Берем из папки где хранятся SnapShots нужный архив и разархивируем

    Я сначала качал на проксмокс и уже там в папке извлекал

    А) cd /mnt/voip/images/

    Б) tar -xvzf 2018_02_07_vbox-test. tgz

         увидим: tmp/vbox/test.vdi

 2) Идем в: 

           /mnt/voip/images/tmp/vbox/

     И конфертируем:

                                  qemu-img convert -f vdi -O raw test.vdi test.raw

З.Ы.

QEMU — свободная программа с открытым исходным кодом для эмуляции аппаратного обеспечения различных платформ и в довесок умеет конвертить образы -а это нам сейчас очень поможет

 З.Ы.2

В качестве гипервизоров ProxMox использует KVM и LXC(тоже сегодня понадобится, но позже), а KVM это — программное решение, обеспечивающее виртуализацию в среде Linux, состоящее из:

А) загружаемого модуля ядра                              Б) Компонентов пользовательского режима

    (называемого kvm.ko),                                               (модифицированного QEMU )

    предоставляющего базовый                                   отсюда он и есть у нас в арсенале

    сервис виртуализации

Создаем Виртуальную машину

(Внимание финт ушами 🙂 ) 

1) Идем в Веб и задаем параметры:

Все тривиально
Выбор ОС весьма богат

               

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

                                           

Вот здесь и выбираем из какого формата образ у нас будет

Все остальные настройки можно в принципе просто прощелкать

2) Вот тут нюанс :
                

Жесткий диск у нас на сервере и не в lvm

А бекапится у нас в lvm и там у нас стоят бекапы в vma. lzo
(меньше места и резервирование на дисковом массиве)

3) Вот тут нюанс, зачем мы так долго шли. Виртуалка создана с RAW диском, и этот диск мы можем заменить(конвертировали), а на том что мы подсуним ей уже будет операционка со всеми настройками и ПО.

Иддем в консоль:

root@proxmox:/mnt/voip/images/tmp/vbox# mv test.raw ../../[№-виртуалки]/vm-[№-виртуалки]-disk-1.raw

4) Идем в Backup и выбираем Suspend, если выбрать Snapshots, то запустит после бекапа, а так как мы переносим виртуалки, то будет конфликт с рабочей на VirtualBox.

                                

5) И тут он нам восстановил виртуалку уже с диском из ВБ со всеми плюшками, можно ещё поправить сетевые настройки(мне надо чтобы при запуске не был подсоединен кабели и тегировать VLAN).

Преобразование виртуальной машины VirtualBox в ProxMox VE

  1. На хосте VirtualBox запустите VirtualBox
  2. Щелкните правой кнопкой мыши виртуальную машину для преобразования > Настройки
  3. Выберите Хранилище в левой панели навигации
  4. Щелкните виртуальный жесткий диск и скопируйте значение Location для полного пути к диску в буфер обмена
  5. Щелкните правой кнопкой мыши меню «Пуск» > «Выполнить» > введите cmd. exe > нажмите «Ввод».
  6. Введите следующие команды в командной строке

    # сменить каталог на установку VirtualBox
    компакт-диск %programfiles%\Oracle\VirtualBox
    # преобразовать .vdi в необработанный .img
    VBoxManage clonehd —format RAW «вставлено\полный\путь\к.vdi» «вставлено\полный\путь\к.raw»

  7. После завершения преобразования .vdi в .raw откройте веб-браузер и перейдите к веб-интерфейсу ProxMox https://ProxMoxDNSorIP:8006/
  8. .

  9. Нажмите кнопку «Создать виртуальную машину» в правом верхнем углу
  10. На вкладке «Общие» введите имя виртуальной машины и запишите сгенерированный идентификатор виртуальной машины > нажмите «Далее».
  11. На вкладке ОС выберите Не использовать носитель и установите гостевую ОС > нажмите Далее
  12. На вкладке «Система» нажмите «Далее»
  13. На вкладке «Жесткий диск» установите для параметра «Размер диска» значение 0,001 > нажмите «Далее».
  14. На вкладке ЦП установите количество ЦП > нажмите Далее
  15. На вкладке «Память» установите объем выделяемой памяти в МиБ > нажмите «Далее»
  16. На вкладке Сеть нажмите Далее
  17. На вкладке «Подтверждение» проверьте настройки и нажмите «Готово».
  18. Выберите только что созданную виртуальную машину на левой навигационной панели > Оборудование
  19. Нажмите на жесткий диск, чтобы выбрать его
  20. Нажмите кнопку «Отключить», чтобы отсоединить жесткий диск от виртуальной машины.
  21. Щелкните Неиспользуемый диск
  22. Нажмите кнопку «Удалить», чтобы окончательно удалить его
  23. Загрузить WinSCP Загрузить
  24. Извлеките WinSCP и запустите исполняемый файл
  25. Подключиться к IP-серверу ProxMox через WinSCP
  26. Скопируйте созданный VirtualBox файл .raw в место на сервере ProxMox, где достаточно свободного места на диске, например, /root
  27. Вернувшись в браузер, откройте оболочку хоста ProxMox.
  28. Выполните следующую команду, чтобы импортировать необработанный диск, измените имя файла .raw и идентификатор виртуальной машины, указанные ранее.

    # импортируем необработанный диск
    # использование:
    # qm importdisk <ИД ВМ> /root/<файл исходного диска>. raw <имя целевого пула хранения>
    qm importdisk 100 vbox.raw HDD_500GB —format qcow2

  29. После завершения импорта диска выберите целевую виртуальную машину в меню навигации слева > Оборудование
  30. Дважды щелкните неиспользуемый диск > нажмите кнопку «Добавить»
  31. Выберите «Параметры» в левом подменю навигации
  32. Двойной щелчок Порядок загрузки
  33. Установите флажок Включено рядом с жестким диском
  34. Перетащите жесткий диск вверх в порядке загрузки, как правило, под устройством CD-ROM
  35. Нажмите OK
  36. Нажмите кнопку «Пуск» в правом верхнем углу экрана
  37. Нажмите ссылку Консоль, чтобы посмотреть процесс загрузки

Перемещение виртуальной машины с VirtualBox на Proxmox – Calidade Systems

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

В этом случае у нас есть любимая виртуальная машина Centos 7, и нам нужно перейти с VirtualBox 6 на Proxmox 6, процесс прост, но необходимое время зависит от размера и скорости жесткого диска.

Шаг 1. Удалите гостевые дополнения Virtual Box, если они были установлены

Просто вставьте гостевые дополнения Virtual Box в виртуальную машину,

смонтируйте гостевые дополнения

смонтировать /dev/sr0 /mnt
 

перейти к гостевым дополнениям


кд/мнт

 

и запустите деинсталлятор


./autorun.sh удалить

 

Шаг 2. Экспортируйте виртуальную машину в ova

Выключите виртуальную машину и экспортируйте ее

Отметьте свою виртуальную машину

File-> Export Appliance

и следуйте шагам мастера

4 90 на proxmox

с помощью sftp или winscp вы можете загрузить свое изображение в место, где достаточно свободного места, обычно я предпочитаю /var/lib/vz direcory

Шаг 4. Распаковать OVA

По сути, образ ova представляет собой tar-файл, который включает в себя дамп жестких дисков в формате vmdk и xml-файл ovf, описывающий виртуальную машину.


компакт-диск /var/lib/vz

tar xvf yourvmfile.ova

 

Шаг 5. Создайте новую виртуальную машину

, если вы запустите cat /var/lib/vz/yourvm.ovf, вы получите все параметры, которые вам нужно установить, сетевой MAC-адрес, оперативную память, количество процессоров…. просто интерфейс proxmox для завершения всех данных, создать один жесткий диск 1gb.

После создания виртуальной машины удалите жесткий диск объемом 1 ГБ

Шаг 6 — Импортируйте жесткий диск ova

просто запустите эту команду для каждого диска


qm importdisk  номер_диска.vmdk имя_хранилища -format 

 

например, я хочу импортировать файл test-disk002.vmdk в виртуальную машину 905, используя хранилище new_disk, поддерживающее qcow2

qm importdisk 905 test-disk002.