Содержание

как портировать виртуалку с 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 в KVM

webmaster С.
24.08.2020
0 Comments

Сегодня рассмотрим пример переноса виртуальной машины с VirtualBox в KVM виртуализацию. Возможно, у вас есть несколько важных гостевых машин на VirtualBox. Вместо создания новых гостей KVM с такой же конфигурацией, вы можете легко перенести существующие виртуалки Virtualbox на KVM, как описано в это мануале.

1.
Перенос виртуальных машин Virtualbox на виртуальные машины KVM на Linux

2.
Готовим систему Windows к переносу.

3.
Готовим систему Linux к переносу.

Перенос виртуальных машин Virtualbox на виртуальные машины KVM на Linux

Отключите все виртуальные машины, размещенные на KVM и VirtualBox.

Далее необходимо зайти на VirtualBox и посмотреть какой диск использовался для хранения нашей виртуальной машины. Если динамический, то надо сделать его копию в статический vdi (я использую этот формат). Это можно сделать либо в графической морде VirtualBox, либо в командной строке:

VBoxManage clonehd dynamic.vdi static. vdi --format VDI --variant Fixed

Формат образа диска по умолчанию у виртуальной машины Virtualbox — VDI.

Мы можем найти список образов виртуальных дисков и их расположение с помощью команды:

vboxmanage list hdds

или,

VBoxManage list hdds

Пример вывода:

UUID:           8345103c-5113-8399-4517-681002110040
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       /home/user/VirtualBox VMs/ubnsrv20.04/ubnsrv 20.04.vdi
Storage format: VDI
Capacity:       10240 MBytes
Encryption:     disabled

Как видно из вывода у меня она виртуальная машина Virtualbox, расположенная по пути /home/user/VirtualBox VMs/ubnsrv_20.04/ubnsrv_20.04.vdi.

Теперь можно пойти двумя путями. Первый путь актуален для Windows виртуальных машин. Второй в большей степени для Linux:

Готовим систему Windows к переносу.

Выше я описывал как преобразовать диск из динамического в статический, назовем его static. vdi. Примонтируем его вместо динамического и удаляем VirtualBox Guest Tools.

Для успешной работы Windows необходимо иметь в наличии драйвера VirtIO для KVM. Скачиваем нужные с офф. сайта вот ссылка.

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

Готовим систему Linux к переносу.

Преобразуем образа ubnsrv 20.04.vdi в формат необработанного диска с помощью команды «vboxmanage»:

vboxmanage clonehd --format RAW "/home/user/VirtualBox VMs/ubnsrv_20.04/ubnsrv_20.04.vdi" ubnsrv_20.04.raw

Пример вывода:

0%...10%...20%...30%...40%...50%...60%...70%...80%.. .90%...100%
Clone medium created in format 'RAW'. UUID: 8345103c-5113-8399-4517-681002110040

Т.к. образ RAW является необработанным форматом диска (не сжатым), то он занимает много свободного пространства на вашем HDD/SSD.

Давайте преобразуем формат образа RAW в формат диска KVM qcow2 со сжитием , с помощью команды qemu-img:

qemu-img convert -f raw ubnsrv_20.04.raw -O qcow2 ubnsrv_20.04.qcow2

Можете попробовать преобразовать формат VDI сразу в формат qcow2

qemu-img convert -f vdi ubnsrv_20.04.vdi -O qcow2 ubnsrv_20.04.qcow2

Мы конвертировали нашу виртуальную машину из формата VDI, т.е. образа диска Virtualbox в формат образа KVM — qcow2.

Теперь вы можете импортировать образ диска на существующий компьютер KVM или создать новый экземпляр с этим вновь преобразованным образом диска KVM из командной строки или с помощью любых графических приложений управления KVM, таких как Virt-manager или веб-консоль Cockpit.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.


5
1
голос

Рейтинг статьи

Импорт виртуальных машин VirtualBox и Virt Manager в Proxmox

Распространение любви

Если вы похожи на меня, то до использования Proxmox у вас были виртуальные машины, работающие в чем-то вроде VirtualBox или Virt Manager. Возможно, вы потратили много времени на настройку этих виртуальных машин, и теперь, когда вы переходите на Proxmox, вы действительно не хотите начинать с нуля на этих существующих виртуальных машинах. К счастью, вы можете импортировать их в Proxmox, и я покажу вам, как это сделать здесь, так что давайте начнем.

Содержание

  • Импорт виртуальной машины VirtualBox в Proxmox
    • Шаг 1: Запустите VirtualBox
    • Шаг 2: Загрузите OVA VirtualBox в Proxmox
    • Шаг 3: Подготовьте файл OVA в Proxmox
    • Шаг 4. Создайте базовую виртуальную машину
    • Шаг 5: Импортируйте VMDK в новую виртуальную машину Proxmox
    • Шаг 6: Включите диск в Proxmox
    • Шаг 7. Загрузите виртуальную машину
  • Импорт виртуальной машины Virt Manager в Proxmox
    • Шаг 1: Запустите Virt Manager
    • Шаг 2: (необязательно) Отключите предварительное выделение диска
    • Шаг 3: Загрузите файл QCOW2 в Proxmox
    • Шаг 4. Создайте базовую виртуальную машину
    • Шаг 5. Импортируйте диск QCOW2 в новую виртуальную машину
    • Шаг 6: Включите диск в Proxmox
    • Шаг 7. Загрузите виртуальную машину
  • Заключение

Импорт виртуальной машины VirtualBox в Proxmox

Шаг 1: Запустите VirtualBox

Открыв VirtualBox, найдите виртуальную машину, которую вы хотите перенести в Proxmox, и щелкните ее правой кнопкой мыши. В меню выберите «Экспорт в OCI»

На следующем экране можно оставить значения по умолчанию. Просто убедитесь, что для параметра «Формат» установлено значение «Открытый формат виртуализации». Обратите внимание на расположение файла, так как мы будем копировать этот файл на наш сервер Proxmox. Идите вперед и нажмите «Далее», а затем «Готово».

Теперь должен начаться экспорт виртуальной машины, который займет несколько минут.

Шаг 2: Загрузите OVA VirtualBox в Proxmox

После завершения экспорта вы должны найти файл OVA в месте, указанном выше. Теперь вам нужно загрузить этот файл OVA на ваш сервер Proxmox. Вы можете сделать это любым удобным для вас способом, я обычно использую SFTP для загрузки файла.

Шаг 3: Подготовьте OVA-файл в Proxmox

Для этой части вам нужно либо подключиться к серверу Proxmox по SSH, либо использовать встроенную консоль/оболочку.

Перейдите в сеансе оболочки туда, куда вы загрузили файл OVA, и выполните следующую команду, чтобы извлечь OVA. Это даст нам файл vmdk, представляющий жесткий диск виртуальной машины VirtualBox, которую мы пытаемся импортировать.

После извлечения файла OVA у вас будет несколько файлов. Нам нужен файл vmdk, который мы будем использовать для создания виртуальной машины в Proxmox.

Шаг 4: Создание базовой виртуальной машины

Теперь, когда у нас есть файл vmdk, нам нужно создать базовую виртуальную машину в Proxmox. Настройте сеть, ЦП и ОЗУ по своему усмотрению. Как только вы создадите новую виртуальную машину, мы отсоединим и удалим жесткий диск, который был создан вместе с этой виртуальной машиной. Мы заменим этот жесткий диск на диск от VirtualBox.

Чтобы удалить текущий жесткий диск новой ВМ, перейдите к аппаратному обеспечению ВМ и выделите Жесткий диск. Затем в верхнем меню выберите отсоединить. После того, как он будет отсоединен, он появится как «Неиспользуемый», снова выделите его и выберите «Удалить».

Шаг 5: Импортируйте VMDK в новую виртуальную машину Proxmox

Прежде чем мы импортируем диск, запишите идентификатор вашей новой виртуальной машины в Proxmox и хранилище, в котором вы хотите разместить жесткий диск. Импортировать. В моем случае идентификатор виртуальной машины — 104, а хранилище, которое мне нужно, — vm-storage1. Ваше хранилище и идентификатор будут другими.

Вернувшись в приглашение оболочки, убедитесь, что вы все еще находитесь в папке, в которую вы извлекли файл vmdk. Затем выполните следующую команду. Замените vmid, filename.vmdk и storage_name своими значениями.

Вы должны увидеть начало процесса импорта.

Шаг 6: Включите диск в Proxmox

Если вы вернетесь к виртуальной машине в Proxmox, вы увидите, что ваш диск указан как «Неиспользуемый». Чтобы включить диск, выделите его и нажмите «Изменить». Настройте любые параметры, которые могут вам понадобиться, такие как «Отменить» и «Эмуляция SSD» (только если базовым диском является SSD), затем нажмите «Добавить», чтобы сделать диск активным.

Последнее, что нам нужно сделать, это изменить порядок загрузки, чтобы наша виртуальная машина загружалась с этого нового диска. В меню «Параметры» виртуальной машины перейдите в порядок загрузки, установите флажок рядом с вашим новым жестким диском и переместите его вверх по порядку. В моем примере я переместил его чуть ниже дисковода для компакт-дисков, так как к нему не подключен ISO.

Шаг 7: Загрузите вашу виртуальную машину

Теперь вы готовы к первой загрузке вашей виртуальной машины на Proxmox. После того, как вы подтвердите, что он работает, вы можете удалить загруженные и извлеченные файлы OVA, так как они больше не нужны.

Импорт виртуальной машины Virt Manager в Proxmox

Шаг 1: Запустите Virt Manager

Чтобы начать импорт виртуальной машины Virt Manager в Proxmox, вам необходимо выяснить, где в данный момент хранится диск виртуальной машины. Откройте Virt Manager, убедитесь, что виртуальная машина выключена, затем щелкните правой кнопкой мыши виртуальную машину, которую хотите использовать, и выберите «Открыть».

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

Шаг 2: (Необязательно) Отключите предварительное выделение диска

Этот шаг является необязательным, но по умолчанию Virt Manager создает образы полного размера диска. Чтобы сэкономить время при загрузке диска виртуальной машины в Proxmox, мы можем изменить текущий образ, чтобы предварительное выделение было отключено, что уменьшит размер файла образа диска.

Для начала скопируем диск ВМ на случай, если что-то пойдет не так. Я просто скопирую его в свою домашнюю папку. Обязательно замените расположение файла изображения ниже, чтобы оно соответствовало местоположению вашего файла изображения.

Примечание. Вам может понадобиться или не понадобиться использовать «sudo» для этой команды, в зависимости от того, где находится файл изображения.

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

Примечание. В зависимости от того, кому принадлежит файл образа в файловой системе Linux, вы можете либо изменить владельца файла с помощью «chmod», либо запустить команду с помощью «sudo».

Теперь у вас должно быть 2 файла qcow2, новый файл должен быть намного меньше исходного в зависимости от того, сколько места на диске фактически использовалось в исходном образе.

Шаг 3: Загрузите файл QCOW2 в Proxmox

Теперь нам нужно загрузить наш файл qcow2 в Proxmox. Вы можете сделать это, как хотите, но я буду загружать его через SFTP.

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

После того, как вы загрузили файл qcow2, нам нужно создать базовую виртуальную машину в Proxmox. Параметры, которые вы используете для создания ВМ, могут быть любыми, поэтому настройте ЦП, ОЗУ и сеть в соответствии со своими требованиями или потребностями. Жесткий диск, созданный во время этого процесса, не имеет значения, поскольку мы будем его удалять.

После создания виртуальной машины жесткий диск следует удалить. Чтобы удалить текущий жесткий диск новой виртуальной машины, перейдите к аппаратному обеспечению виртуальной машины и выделите жесткий диск. Затем в верхнем меню выберите отсоединить. После того, как он будет отсоединен, он будет отображаться как «Неиспользуемый», снова выделите его и выберите «Удалить».

Шаг 5: Импорт диска QCOW2 в новую виртуальную машину

Прежде чем мы импортируем диск, запишите идентификатор вашей новой виртуальной машины в Proxmox и хранилище, в котором вы хотите разместить жесткий диск, это понадобится вам для импорта . В моем случае идентификатор виртуальной машины — 104, а хранилище, которое мне нужно, — vm-storage1. Ваше хранилище и идентификатор будут другими.

Вернувшись в приглашение оболочки, убедитесь, что вы все еще находитесь в папке, в которую вы загрузили файл qcow2. Затем выполните следующую команду. Замените vmid, filename.qcow2 и storage_name своими значениями.

Вы должны увидеть начало процесса импорта.

Шаг 6: Включите диск в Proxmox

Если вы вернетесь к виртуальной машине в Proxmox, вы увидите, что ваш диск указан как «Неиспользуемый». Чтобы включить диск, выделите его и нажмите «Изменить». Настройте любые параметры, которые могут вам понадобиться, такие как «Отменить» и «Эмуляция SSD» (только если базовым диском является SSD), затем нажмите «Добавить», чтобы сделать диск активным.

Последнее, что нам нужно сделать, это изменить порядок загрузки, чтобы наша виртуальная машина загружалась с этого нового диска. В меню «Параметры» виртуальной машины перейдите в порядок загрузки, установите флажок рядом с вашим новым жестким диском и переместите его вверх по порядку. В моем примере я переместил его чуть ниже дисковода для компакт-дисков, так как к нему не подключен ISO.

Шаг 7: Загрузите вашу виртуальную машину

Теперь вы готовы к первой загрузке вашей виртуальной машины на Proxmox. Как только вы подтвердите, что он работает, вы можете удалить загруженный вами файл qcow2, так как он больше не нужен.

Заключение

Я надеюсь, что это руководство поможет вам в использовании Proxmox и виртуальных машин. Если у вас есть какие-либо вопросы, дайте мне знать ниже!

Адам

Я работаю в сфере информационных технологий почти 15 лет, в частности, в области разработки настольных компьютеров. У меня есть степень в области компьютерных наук, а также несколько отраслевых сертификатов от Microsoft. Вне работы я имею 21-летний опыт работы с различными языками программирования и люблю делать игрушечные проекты. Я также заядлый пользователь Linux, в настоящее время использую Manjaro в качестве основной ОС. Мне нравится писать о своем опыте программирования и работы с Linux.

Распространите любовь

Конвертируйте VirtualBox VM в 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 файл .