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. Однако, надо понимать, что большая часть задач требует ручного выполнения и отнимает определенное время. В остальном, процесс миграции не должен вызвать затруднений у читателей моего блога.
Превосходный алгоритм. Спасибо.
Отличная статья, спасибо!
Ещё бы пример, как перенести к примеру Windows 2019 c VMware на Proxmox.
По сценарию выше не видит загрузчик…
Спасибо! С переносом Windows виртуалок не приходилось сталкиваться. Возможно, надо посмотреть на параметры BIOS/UEFI в настройках ВМ Proxmox.
Прекрасный алгоритм, всё чудесно до того момента, пока не дошли до скиньте в линукс машину. Как? Уже бьюсь 4 день. Всё больше понимаю, насколько туп и неповоротлив линукс, если даже ftp сервер в нем поставился, но работать отказался.
используйте WinSCP для переноса файлов между хостами
привет, а есть разница в переносе vmdk и flat.vmdk и .ovf ?