Historique : Virtualisation avec KVM

Virtualisation avec KVM

KVM utilise VT sur les derniers processeurs, pour voir si cela est compatible il faut chercher "vmx" et "svm" en faisant un cat /proc/cpu par exemple ou bien en utilisant cette option

egrep '^flags.*(vmx|svm)' /proc/cpuinfo

Ensuite vous devrez installer les packages suivant via apt pour debian/ubuntu

apt-get install kvm et qemu bridge-utils libvirt-bin

En fonction du processeur vous devrez faire un modprobe

pour amd : sudo modprobe kvm-amd
pour intel : sudo modprobe kvm-intel ( Pour intel ajouter aussi ceci dans /etc/modules kvm-intel)

ensuite il faut ajouter votre user au groupe kvm via par exemple : sudo adduser $USER kvm il faudra ajouter aussi a libvirt

Utilisation de kvm creation d'une image disque

creation d'un fichier image via qemu-img create -f qcow2 emplacement/du/fichier_image.img 6G

Ensuite installation de votre systeme en utilisant cette image :

kvm -m 256 -cdrom /dev/cdrom -boot d emplacement/du/fichier_image.img

ou en utilisant une image iso pour le cdrom

kvm -m 256 -cdrom emplacement/de/l_image.iso -boot d emplacement/du/fichier_image.img

Pour lancer l'image kvm une fois l'installation terminé

kvm -m 256 emplacement/du/fichier_image.img

Pour activer le son et l'usb on lancera ceci :

kvm -m 386 -std-vga -cdrom /dev/cdrom emplacement/du/fichier_image.img -soundhw all -usb

Network and Libvirt

Pour le reseau il faudra créer un bridge dans /etc/network/interfaces

auto lo br0
iface lo inet loopback
# The primary network interface
iface br0 inet static
       address 192.168.0.80
       netmask 255.255.255.0
       gateway 192.168.0.252
       broadcast 192.168.0.255
       network 192.168.0.0
       bridge_ports eth0
       bridge_fd 9
       bridge_hello 2
       bridge_maxage 12
       bridge_stp off

on remplace eth0 par br0

Creation d'image avec libvirt

virt-install --ram=1024 --name=lenny --file=/mnt/vms/lenny/disk0.qcow2 --cdrom=/isos/debian-500-amd64-netinst.iso --hvm --vnc --noautoconsole --accelerate --network=bridge:br0

Management des VM

En méthode manuelle

kvm -hda vdisk.img -m 384

On peut aussi installer des managers graphiques en faisant :

apt-get install virt-manager virt-viewer

List of commands lines for kvm with virsh

 $ virsh list --all
Id Name                 State

 2 Mails        running
 4 Backups      running
 6 Web          running
virsh start vm_name
virsh shutdown vm_name
virsh destroy vm_name
virsh suspend vm_name
virsh resume vm_name

For deleting a vm

virsh undefine vm_name

For Save and Restore a vm

save vm_name vm_name.dump
virsh restore vm_name.dump

Migrate a disk image to another format for example

qemu-img convert -O raw test.qcow2 test.raw
(1) VBoxManage convertdd test.raw test.vdi
VBoxManage modifyvdi /full/path/to/test.vdi compact