Table des matières

Virtualiser avec KVM

KVM (Kernel-based Virtual Machine) apporte de meilleurs performances que Virtualbox du fait qu'il intervient un plus bas niveau.

Installation

 apt-get install qemu-kvm bridge-utils virt-manager libvirt-daemon-system

On autorise le droit d'utiliser KVM :

usermod -aG libvirt mon-utilisateur

Puis gérer les machines depuis l'interface graphique :

virt-manage &

Commandes disponible

Configuration matériel

qemu-system-x86_64 -hda debian_squeeze_amd64_standard.qcow2 -boot d -m 256
qemu-img create debian.img 2G
qemu -hda debian.img -cdrom debian-testing-amd64-netinst.iso -boot d -m 256

Convertion d'image

qemu-img convert disk0.qcow2 -O raw disk0.raw
qemu-img convert disk0.raw -O qcow2 disk.qcow2

Configuration réseau

qemu-system-x86_64 -hda debian_squeeze_amd64_standard.qcow2 -boot d -m 256 -redir tcp:2222::22

Sur l'hôte :

sudo qemu-system-x86_64 -hda debian_squeeze_amd64_standard.qcow2 -boot d -m 256 -net nic -net tap,ifname=tap0
ip addr add 10.0.0.1/24 dev tap0
ifup tap0

Sur la VM :

ip addr add 10.0.0.2/24 dev eth0
ifup eth0

Manager KVM avec Virsh

Cet utilitaire permet de manager les machines virtuelles sur la machine en local et à distance. En oûtre, il remplace le logiciel virt-manager.

Pour s'y connecter à distance :

VIRSH_DEFAULT_CONNECT_URI=qemu+ssh://user@kvm-dev/system virsh

Ou pour exécuter des commandes à distances :

VIRSH_DEFAULT_CONNECT_URI=qemu+ssh://user@kvm-dev/system virsh <commandes>

Voici la liste d'exemple de commandes :

virsh list --all
virsh start <vm>
virsh shutdown <vm>
virsh destroy <vm>
virsh edit <vm>
virsh edit <vm>
virsh --connect qemu+ssh://btatu@kvm-dev/system undefine --domain vm-a-clone
virt-clone --connect qemu+ssh://user@kvm-dev/system -o vm1 -n vm-a-clone -f /home/user/clone.qcow2
virsh --connect qemu+ssh://user@kvm-dev/system migrate --live vm-a-clone qemu+ssh://user@bruno-tatu.com/system
virsh pool-list --all
virsh pool-list <pool>
virsh iface-list -all
virsh net-list -all
virsh detail-interface

Astuces

La paravirtualisation

Pour améliorer les performances on peut utiliser des périférique virtuel basé sur virtio.

qemu-system-x86_64 -drive file=debian_squeeze_amd64_standard.qcow2,index=0,media=disk,if=virtio -boot d -m 256 -net tap -net nic,macaddr=00:16:35:AF:94:4B,model=virtio,name=ncard1