GNU/Linux >> Tutoriels Linux >  >> Linux

Comment migrer des machines virtuelles Virtualbox vers des machines virtuelles KVM sous Linux

Êtes-vous décidé à passer d'Oracle VirtualBox à une machine virtuelle basée sur le noyau ? Génial! Ce guide étape par étape explique comment migrer des machines virtuelles Virtualbox vers des machines virtuelles KVM sous Linux.

Vous avez peut-être exécuté des machines invitées importantes sur VirtualBox. Au lieu de créer de nouveaux invités KVM avec la même configuration, vous pouvez facilement convertir les machines Virtualbox existantes en KVM comme décrit ici.

Migrer des VM Virtualbox vers des VM KVM sous Linux

Tout d'abord, éteignez toutes les machines virtuelles en cours d'exécution dans VirtualBox.

Pour les besoins de ce guide, j'utiliserai CentOS et FreeBSD machines virtuelles hébergées dans VirtualBox.

Comme vous le savez peut-être déjà, le format d'image disque par défaut d'une machine virtuelle KVM est .qcow2 et la machine virtuelle Virtualbox est .vdi .

Nous pouvons convertir un fichier image disque vdi en qcow2 de deux manières. Nous pouvons directement convertir le vdi image en qcow2 format.

Si cela ne fonctionne pas pour une raison quelconque, nous pouvons d'abord convertir le vdi formater au format brut puis convertir le format brut en qcow2 .

1. Convertir le format d'image vdi au format d'image qcow2

Laissez-moi vous montrer le type d'image disque de ma machine virtuelle CentOS créée à l'aide de VirtualBox.

$ ls CentOS\ 8\ Server/

Exemple de résultat :

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

Comme vous l'avez peut-être remarqué, le type de fichier de l'image disque CentOS VM est .vdi . Pour ceux qui se demandent, VDI est le format natif de VirtualBox. VirtualBox utilise ce format par défaut lorsque nous créons une nouvelle machine virtuelle.

Et voici le type de fichier de l'image disque FreeBSD :

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

Ici, le type de fichier image disque freebsd est .vhd . VHD est le format natif de Microsoft Virtual PC.

J'ai créé les deux machines virtuelles dans VirtualBox. Mais Virtualbox a utilisé .vdi format pour CentOS et .vhd format pour FreeBSD.

Les formats VDI et VHD sont très bien pris en charge par VirtualBox. Et les deux types d'images peuvent être facilement convertis au format qcow2.

Revenons maintenant au sujet :comment convertir les images de disque de la machine Virtualbox en type d'image de disque pris en charge par KVM à l'aide de "qemu-img" commande?

Eh bien, c'est facile ! Le qemu-img La commande est utilisée pour convertir les images de disque de la machine virtuelle en différents formats, y compris qcow2 , raw , vdi , vhd , et vmdk .

Pour convertir un vdi image en qcow2 image en utilisant qemu-img commande, exécutez :

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

La commande ci-dessus convertira le vdi donné fichier vers qcow2 formater.

Ici, nous avons utilisé -O qcow2 pour spécifier explicitement le format de sortie. Bien sûr, vous n'avez pas à spécifier explicitement le format de sortie et spécifiez simplement le format d'entrée et de sortie comme ci-dessous :

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

Mais cela créera une image de plus grande taille.

De même, vous pouvez convertir le vhd fichier image vers qcow2 image en utilisant la commande suivante :

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

C'est ainsi que nous migrons les machines virtuelles Virtualbox vers les machines virtuelles KVM.

Rendez-vous maintenant sur "Créer une machine virtuelle KVM à partir d'une image Qcow2 " ci-dessous pour savoir comment créer une nouvelle machine virtuelle KVM à l'aide des images Qcow2.

Juste au cas où la méthode ci-dessus ne fonctionnerait pas (ce qui est très peu probable), vous pouvez utiliser la méthode suivante pour convertir vdi images en qcow2 images.

2. Convertissez vdi au format d'image brut, puis au format d'image qcow2

Tout d'abord, recherchez la liste des images de disque VirtualBox disponibles et leur emplacement à l'aide de la commande :

$ vboxmanage list hdds

Ou,

$ VBoxManage list hdds

Exemple de résultat :

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

Comme vous pouvez le voir, j'ai deux machines virtuelles virtualbox.

Maintenant, je vais convertir l'image disque des machines CentOS 8 en un format de disque brut en utilisant vboxmanage commande :

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

Ou,

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

Exemple de résultat :

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

L'image RAW est trop grande utiliser. Dans mon cas, l'image RAW est dix fois plus grande que l'image Qcow2.

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

Convertissons donc le format d'image RAW au format de disque KVM, c'est-à-dire qcow2 compressé à l'aide de la commande qemu-img :

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

Fait! Nous avons converti le format d'image disque Virtualbox VDI en format d'image KVM qcow2.

Vérifiez la taille de l'image Qcow2 :

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

Voir? Qcow2 est beaucoup plus petit que l'image RAW.

3. Créer une machine virtuelle KVM à partir de l'image Qcow2

Vous pouvez maintenant créer une nouvelle instance KVM en important le fichier image du disque virtuel à partir de la ligne de commande ou en utilisant n'importe quelle application graphique de gestion KVM comme Virt-manager ou Cockpit console Web.

Reportez-vous au guide suivant pour plus de détails :

  • Comment créer une machine virtuelle KVM à l'aide de l'image Qcow2

Dépannage

Parfois, vous avez peut-être supprimé le disque virtuel sans le libérer correctement du gestionnaire de médias Virtualbox.

Lorsque vous essayez de créer une nouvelle image RAM à partir du même fichier VDI, vous obtenez une erreur du type - "hard disk with UUID already exists" .

Pour résoudre ce problème, vous devez libérer le disque virtuel de la Virtualbox et réessayer de convertir l'image. Reportez-vous au guide suivant pour savoir comment procéder :

  • Résoudre le problème "le disque dur avec UUID existe déjà" dans VirtualBox

Conclusion

Dans ce guide, nous avons vu comment migrer des VM Virtualbox vers des VM KVM sous Linux. Nous avons également examiné comment créer une nouvelle instance KVM en important le fichier image Qcow2.


Linux
  1. Comment partitionner et formater un disque sous Linux

  2. Comment formater des partitions de disque sous Linux

  3. Comment créer une image Kali Linux au format QCOW2 pour OpenStack ?

  4. Comment migrer de CentOS 8 vers Rocky Linux 8

  5. Linux KVM sur une Virtualbox

Comment installer VirtualBox dans différentes distributions Linux

Comment convertir xlsx au format CSV sous Linux

Comment migrer des machines virtuelles Virtualbox vers des machines virtuelles KVM sous Linux

Comment formater des partitions de disque sous Linux

Comment utiliser les machines virtuelles Virtualbox sur KVM dans le système Linux

Comment installer Linux Mint dans VirtualBox