Перенос виртуальной машины VirtualBox в KVM

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






Перенос виртуальных машин 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.





2020-08-24T07:00:00
KVM