GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So migrieren Sie Virtualbox-VMs in KVM-VMs unter Linux

Haben Sie sich entschieden, von Oracle VirtualBox auf eine Kernel-basierte virtuelle Maschine umzusteigen? Toll! Diese Schritt-für-Schritt-Anleitung erklärt, wie Sie Virtualbox-VMs in KVM-VMs unter Linux migrieren.

Möglicherweise haben Sie einige wichtige Gastcomputer auf VirtualBox ausgeführt. Anstatt neue KVM-Gäste mit derselben Konfiguration zu erstellen, können Sie die vorhandenen Virtualbox-Maschinen ganz einfach wie hier beschrieben auf KVM umstellen.

Virtualbox-VMs in KVM-VMs unter Linux migrieren

Schalten Sie zuerst alle laufenden virtuellen Maschinen in VirtualBox aus.

Für die Zwecke dieses Leitfadens verwende ich CentOS und FreeBSD virtuelle Maschinen, die in VirtualBox gehostet werden.

Wie Sie vielleicht bereits wissen, ist das Standard-Disk-Image-Format einer virtuellen KVM-Maschine .qcow2 und Virtualbox VM ist .vdi .

Wir können eine VDI-Disk-Image-Datei auf zwei Arten in qcow2 konvertieren. Wir können das vdi direkt konvertieren Bild nach qcow2 Format.

Wenn es aus irgendeinem Grund nicht funktioniert, können wir zuerst die vdi konvertieren Format in das Rohformat und konvertieren Sie dann das Rohformat in qcow2 .

1. Konvertieren Sie das vdi-Bildformat in das qcow2-Bildformat

Lassen Sie mich Ihnen den Disk-Image-Typ meiner CentOS-VM zeigen, die mit VirtualBox erstellt wurde.

$ ls CentOS\ 8\ Server/

Beispielausgabe:

CentOS 8 Server.vbox CentOS 8 Server.vbox-prev CentOS 8 Server.vdi Logs

Wie Sie vielleicht bemerkt haben, ist der Dateityp des CentOS-VM-Festplatten-Images .vdi . Für diejenigen, die sich fragen, VDI ist das native Format von VirtualBox. VirtualBox verwendet dieses Format standardmäßig, wenn wir eine neue virtuelle Maschine erstellen.

Und hier ist der Dateityp des FreeBSD-Disk-Images:

$ ls FreeBSD\ 12/
FreeBSD-12.0-RELEASE-amd64.vhd freebsd12.qcow2 FreeBSD 12.vbox FreeBSD 12.vbox-prev Logs

Hier ist der Freebsd Disk Image Dateityp .vhd . VHD ist das native Format von Microsoft Virtual PC.

Ich habe beide virtuellen Maschinen in VirtualBox erstellt. Aber Virtualbox verwendete .vdi Format für CentOS und .vhd Format für FreeBSD.

Sowohl VDI- als auch VHD-Formate werden von VirtualBox sehr gut unterstützt. Und beide Bildtypen können einfach in das qcow2-Format konvertiert werden.

Kommen wir nun zurück zum Thema – wie man die Disk-Images der Virtualbox-Maschine mit "qemu-img" in den KVM-unterstützten Disk-Image-Typ konvertiert Befehl?

Nun, es ist einfach! Das qemu-img Der Befehl wird verwendet, um Festplatten-Images virtueller Maschinen in verschiedene Formate zu konvertieren, einschließlich qcow2 , raw , vdi , vhd und vmdk .

Zum Konvertieren eines vdi Bild nach qcow2 Bild mit qemu-img Befehl, führe aus:

$ qemu-img convert CentOS\ 8\ Server/CentOS\ 8\ Server.vdi -O qcow2 centos8.qcow2

Der obige Befehl konvertiert den angegebenen vdi Datei nach qcow2 formatieren.

Hier haben wir -O qcow2 verwendet um das Ausgabeformat explizit anzugeben. Natürlich müssen Sie das Ausgabeformat nicht explizit angeben und geben einfach das Eingabe- und Ausgabeformat wie folgt an:

$ qemu-img convert CentOS\ 8\ Server/CentOS\ 8\ Server.vdi centos8.qcow2

Es wird jedoch ein größeres Bild erstellt.

Ebenso können Sie die vhd konvertieren Bilddatei nach qcow2 Bild mit dem folgenden Befehl:

$ qemu-img convert FreeBSD\ 12/FreeBSD-12.0-RELEASE-amd64.vhd -O qcow2 freebsd12.qcow2

So migrieren wir virtuelle Virtualbox-Maschinen zu virtuellen KVM-Maschinen.

Gehen Sie nun zu "Erstellen einer virtuellen KVM-Maschine aus einem Qcow2-Image " Abschnitt unten, um zu erfahren, wie man eine neue virtuelle KVM-Maschine mit den Qcow2-Images erstellt.

Falls die obige Methode nicht funktioniert (was sehr unwahrscheinlich ist), können Sie die folgende Methode verwenden, um vdi zu konvertieren Bilder nach qcow2 Bilder.

2. Konvertieren Sie vdi in das RAW-Bildformat und dann in das qcow2-Bildformat

Suchen Sie zuerst die Liste der verfügbaren Virtualbox-Festplatten-Images und deren Speicherort mit dem Befehl:

$ vboxmanage list hdds

Oder,

$ VBoxManage list hdds

Beispielausgabe:

UUID:           ecfb6d5c-aa10-4ffc-b40c-b871f0404da8
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       /home/sk/VirtualBox VMs/CentOS 8 Server/CentOS 8 Server.vdi
Storage format: VDI
Capacity:       20480 MBytes
Encryption:     disabled

UUID:           34a5709f-188c-4040-98f9-6093628c3d88
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       /home/sk/VirtualBox VMs/Ubuntu 20.04 Server/Ubuntu 20.04 Server.vdi
Storage format: VDI
Capacity:       20480 MBytes
Encryption:     disabled

Wie Sie sehen können, habe ich zwei Virtualbox-VMs.

Jetzt werde ich das Disk-Image der CentOS 8-Maschinen mit vboxmanage in ein Raw-Disk-Format konvertieren Befehl:

$ vboxmanage clonehd --format RAW /home/sk/VirtualBox\ VMs/CentOS\ 8\ Server/CentOS\ 8\ Server.vdi CentOS_8_Server.img

Oder,

$ VBoxManage clonehd --format RAW /home/sk/VirtualBox\ VMs/CentOS\ 8\ Server/CentOS\ 8\ Server.vdi CentOS_8_Server.img

Beispielausgabe:

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone medium created in format 'RAW'. UUID: afff3db8-b460-4f68-9c02-0f5d0d766c8e

Das RAW-Bild ist zu groß benutzen. In meinem Fall ist das RAW-Bild zehnmal größer als das Qcow2-Bild.

$ du -h CentOS_8_Server.img 
21G CentOS_8_Server.img

Konvertieren wir also das RAW-Bildformat in das KVM-Festplattenformat, d. h. komprimiertes qcow2, mit dem Befehl qemu-img:

$ qemu-img convert -f raw CentOS_8_Server.img -O qcow2 CentOS_8_Server.qcow2

Erledigt! Wir haben das Virtualbox Disk-Image-Format VDI in das KVM-Image-Format qcow2 konvertiert.

Überprüfen Sie die Größe des Qcow2-Bildes:

$ du -h CentOS_8_Server.qcow2 
2.1G CentOS_8_Server.qcow2

Sehen? Qcow2 ist viel kleiner als das RAW-Bild.

3. Erstellen Sie eine virtuelle KVM-Maschine aus dem Qcow2-Image

Sie können jetzt eine neue KVM-Instanz erstellen, indem Sie die Image-Datei der virtuellen Festplatte über die Befehlszeile importieren oder eine beliebige grafische KVM-Verwaltungsanwendung wie Virt-manager verwenden oder Cockpit Web-Konsole.

Weitere Informationen finden Sie in der folgenden Anleitung:

  • So erstellen Sie eine virtuelle KVM-Maschine mit dem Qcow2-Image

Fehlerbehebung

Manchmal haben Sie die virtuelle Festplatte möglicherweise gelöscht, ohne sie ordnungsgemäß aus dem Virtualbox Media Manager freizugeben.

Wenn Sie versuchen, ein neues RAM-Image aus derselben VDI-Datei zu erstellen, erhalten Sie eine Fehlermeldung wie etwa - "hard disk with UUID already exists" .

Um dieses Problem zu beheben, müssen Sie die virtuelle Festplatte aus der Virtualbox freigeben und erneut versuchen, das Image zu konvertieren. Lesen Sie die folgende Anleitung, um zu erfahren, wie das geht:

  • Problem „Festplatte mit UUID existiert bereits“ in VirtualBox behoben

Schlussfolgerung

In diesem Handbuch haben wir gesehen, wie Sie Virtualbox-VMs in KVM-VMs unter Linux migrieren. Wir haben uns auch angesehen, wie man eine neue KVM-Instanz erstellt, indem man die Qcow2-Image-Datei importiert.


Linux
  1. So partitionieren und formatieren Sie ein Laufwerk unter Linux

  2. So formatieren Sie Festplattenpartitionen unter Linux

  3. Wie erstelle ich ein Kali-Linux-Image im QCOW2-Format für OpenStack?

  4. So migrieren Sie von CentOS 8 auf Rocky Linux 8

  5. Linux KVM auf einer Virtualbox

So installieren Sie VirtualBox in verschiedenen Linux-Distributionen

So konvertieren Sie xlsx in das CSV-Format unter Linux

So migrieren Sie Virtualbox-VMs in KVM-VMs unter Linux

So formatieren Sie Festplattenpartitionen unter Linux

So verwenden Sie Virtualbox-VMs auf KVM in einem Linux-System

So installieren Sie Linux Mint in VirtualBox