90 lines
3.8 KiB
Markdown
Executable file
90 lines
3.8 KiB
Markdown
Executable file
<!-- title: Mon mémo pour la virtualisation -->
|
||
<!-- category: Virtualisation -->
|
||
<!-- tag: planet -->
|
||
|
||
Cet article est un mémo de toutes les commandes qui me sont régulièrement
|
||
utiles quand je manipule des machines virtuelles VirtualBox, VMware et KVM.<!-- more -->
|
||
L'utilitaire **qemu-img** du paquet qemu-utils (sous Debian) a bien évolué et
|
||
c'est l'outil de prédilection pour les conversions ; on peut se passer de
|
||
l'utilitaire *VBoxManage* (qui fait partie de VirtualBox).
|
||
|
||
### Convertir une machine virtuelle VirtualBox en KVM
|
||
|
||
La première approche c'est de créer une VM VirtualBox avec le type de disque
|
||
natif VDI et de convertir le disque au format QCOW2 avec *qemu-img* :
|
||
|
||
qemu-img convert -f vdi -O qcow2 vm-disk.vdi vm-disk.qcow2
|
||
|
||
Mais si la finalité c'est de mettre au point la VM sous VirtualBox avant de
|
||
l'installer sous KVM (dans un Proxmox par exemple), on peut plutôt créer une VM
|
||
VirtualBox directement avec le type de disque QEMU (QCOW) dans VirtualBox.
|
||
|
||

|
||
|
||
Ensuite, il reste à convertir le disque du format QCOW vers QCOW2 :
|
||
|
||
qemu-img convert -O qcow2 vm-disk.qcow vm-disk.qcow2
|
||
|
||
### Convertir un disque VMware en VirtualBox
|
||
|
||
Le format natif des disques VMware est VMDK. L'utilitaire *VBoxManage* permet
|
||
de convertir un fichier VMDK en VDI.
|
||
|
||
VBoxManage clonehd --format VDI vm-disk.vmdk vm-disk.vdi
|
||
|
||
Mais *qemu-img* reste la voie royale pour faire le même boulôt :
|
||
|
||
qemu-img convert -f vmdk -O vdi vm-disk.vmdk vm-disk.vdi
|
||
|
||
### Convertir une machine virtuelle VMware en KVM
|
||
|
||
D'abord exporter la machine au format OVF puis convertir le disque avec l'ami *qemu-img* :
|
||
|
||
qemu-img convert -f vmdk -O qcow2 vm-disk.vmdk vm-disk.qcow2
|
||
|
||
Ensuite, on peut créer une VM avec des caractéristiques semblables dans KVM et
|
||
attacher le disque.
|
||
|
||
### Retaper les interfaces réseau
|
||
|
||
Lorsque la machine virtuelle a été créée depuis une machine physique par le
|
||
tryptique : clonezilla / restauration virtualbox / conversion KVM, il se peut
|
||
que la configuration logique des interfaces réseaux (*/etc/network/interfaces*
|
||
sous Debian ou */etc/sysconfig/network-scripts/ifcfg-???* sous RedHat / CentOS)
|
||
ne correspondent plus aux interfaces physiques. Dans ce cas il faut adapter la
|
||
configuration UDEV qui s'occupe de réaliser cette correspondance sur la plupart
|
||
des distributions en éditant le fichier
|
||
*/etc/udev/rules.d/70-persistent-net.rules* :
|
||
|
||
# This file was automatically generated by the /lib/udev/write_net_rules
|
||
# program, run by the persistent-net-generator.rules rules file.
|
||
#
|
||
# You can modify it, as long as you keep each rule on a single
|
||
# line, and change only the value of the NAME= key.
|
||
|
||
# PCI device 0x8086:0x100e (e1000)
|
||
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="32:94:32:76:50:6d", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
|
||
|
||
# PCI device 0x8086:0x100e (e1000)
|
||
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="6a:79:37:a3:24:32", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
|
||
|
||
# PCI device 0x8086:0x100e (e1000)
|
||
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="fa:a8:8e:cc:fd:69", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"
|
||
|
||
# PCI device 0x8086:0x100e (e1000)
|
||
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="ce:1c:8c:c2:fd:f7", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"
|
||
|
||
# Compacter un disque
|
||
|
||
Il ne s'agit pas de modifier la taille du disque virtualisé mais de réduire son encombrement sur le disque hôte par du compactage.
|
||
|
||
Depuis le système GNU/Linux virtualisé, on nullifie (horrible ce mot) l'espace libre :
|
||
|
||
dd if=/dev/zero of=/bigemptyfile bs=4096k
|
||
rm -rf /bigemptyfile
|
||
|
||
On stoppe la VM et on utilise *vboxmanage* pour compacter le disque :
|
||
|
||
vboxmanage modifyhd disk.vdi --compact
|
||
|
||
Et pour Ms Windows ? je ne sais pas et ça ne m'intéresse pas (*troll inside*)
|