Содержание
Миграция виртуальных машин из 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
- На хосте VirtualBox запустите VirtualBox
- Щелкните правой кнопкой мыши виртуальную машину для преобразования > Настройки
- Выберите Хранилище в левой панели навигации
- Щелкните виртуальный жесткий диск и скопируйте значение Location для полного пути к диску в буфер обмена
- Щелкните правой кнопкой мыши меню «Пуск» > «Выполнить» > введите cmd. exe > нажмите «Ввод».
- Введите следующие команды в командной строке
# сменить каталог на установку VirtualBox
компакт-диск %programfiles%\Oracle\VirtualBox
# преобразовать .vdi в необработанный .img
VBoxManage clonehd —format RAW «вставлено\полный\путь\к.vdi» «вставлено\полный\путь\к.raw» - После завершения преобразования .vdi в .raw откройте веб-браузер и перейдите к веб-интерфейсу ProxMox https://ProxMoxDNSorIP:8006/
- Нажмите кнопку «Создать виртуальную машину» в правом верхнем углу
- На вкладке «Общие» введите имя виртуальной машины и запишите сгенерированный идентификатор виртуальной машины > нажмите «Далее».
- На вкладке ОС выберите Не использовать носитель и установите гостевую ОС > нажмите Далее
- На вкладке «Система» нажмите «Далее»
- На вкладке «Жесткий диск» установите для параметра «Размер диска» значение 0,001 > нажмите «Далее».
- На вкладке ЦП установите количество ЦП > нажмите Далее
- На вкладке «Память» установите объем выделяемой памяти в МиБ > нажмите «Далее»
- На вкладке Сеть нажмите Далее
- На вкладке «Подтверждение» проверьте настройки и нажмите «Готово».
- Выберите только что созданную виртуальную машину на левой навигационной панели > Оборудование
- Нажмите на жесткий диск, чтобы выбрать его
- Нажмите кнопку «Отключить», чтобы отсоединить жесткий диск от виртуальной машины.
- Щелкните Неиспользуемый диск
- Нажмите кнопку «Удалить», чтобы окончательно удалить его
- Загрузить WinSCP Загрузить
- Извлеките WinSCP и запустите исполняемый файл
- Подключиться к IP-серверу ProxMox через WinSCP
- Скопируйте созданный VirtualBox файл .raw в место на сервере ProxMox, где достаточно свободного места на диске, например, /root
- Вернувшись в браузер, откройте оболочку хоста ProxMox.
- Выполните следующую команду, чтобы импортировать необработанный диск, измените имя файла .raw и идентификатор виртуальной машины, указанные ранее.
# импортируем необработанный диск
# использование:
# qm importdisk <ИД ВМ> /root/<файл исходного диска>. raw <имя целевого пула хранения>
qm importdisk 100 vbox.raw HDD_500GB —format qcow2 - После завершения импорта диска выберите целевую виртуальную машину в меню навигации слева > Оборудование
- Дважды щелкните неиспользуемый диск > нажмите кнопку «Добавить»
- Выберите «Параметры» в левом подменю навигации
- Двойной щелчок Порядок загрузки
- Установите флажок Включено рядом с жестким диском
- Перетащите жесткий диск вверх в порядке загрузки, как правило, под устройством CD-ROM
- Нажмите OK
- Нажмите кнопку «Пуск» в правом верхнем углу экрана
- Нажмите ссылку Консоль, чтобы посмотреть процесс загрузки
.
Перемещение виртуальной машины с 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.