Table des matières

Premiers pas avec KVM

Sous Debian, Xen refusant de fonctionner dans un combo Kde+nvidia … je m'essaye a kvm.

kvm permet de créer simplement des machines virtuelles.

~~READMORE~~

pré-requis

# aptitude update
# aptitude install kvm qemu libvirt-bin

Perso, j'ai rebooté pour modifié le BIOS (car la “VanderPool Virtualization” n'était pas activé).

Et au reboot:

J'ajoute mon compte dans le group “kvm”.

# adduser thierry kvm

Bridge

# aptitude install bridge-utils

Transformer l'interface en bridge:

Pour l'instant, sans “brigde, ma configuration réseau dans /etc/network/interfaces est (extrait) :

auto eth0
iface eth0 inet static
      address 192.168.166.153
      netmask 255.255.255.0
      network 192.168.166.0
      broadcast 192.168.166.255
      gateway 192.168.166.254

Comme je suis en local (en non pas en remote via ssh par exemple), je peux provisoirement arrêter l'interface réseau avec un petit:

# ifdown eth0

Maintenant, je transforme ma configuration en :

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
  address 192.168.166.153
  netmask 255.255.255.0
  gateway 192.168.166.254
  bridge_ports eth0
  bridge_stp off
  bridge_maxwait 0

Et deux petits:

# ifup eth0
# ifup br0

Un lag de quelques secondes, et le réseau remonte.

interface avec virt-manager

Sur couche visuel pour manager les machines virtuelles:

# aptitude install virt-manager
# adduser thierry libvirt
$ virt-manager

Ensuite, on a une interface graphique qui permet de créer des machines virtuelles…

Exemple

J'ai pris un CD au pif (un CD “Yunohost” sur Linux Mag).

J'ai créé un volume logique avec LVM.

# lvcreate -L 10G -n kvm-test vg0

(Où “vg0” est le nom du mon “volume group” )

Et voila. La machine virtuelle boot sur le CD, et avec ”/dev/vg0/kvm-test” comme disk dur.

Evidement, grâce au bridge, cette machine a aussi du réseau.

Tips

Exporter configuration

Les configurations ne sont pas en fichier “texte”. Il faut :

listes des machines

Avec qemu et kvm (car beaucoup d'exemple parle de Xen) :

$ virsh --connect qemu:///system list --all
 Id Name                 State
----------------------------------
  - warez_proxy          shut off
  - wikileaks            shut off
  - multimerdia          shut off

Exporter

$ virsh --connect qemu:///system dumpxml multimerdia >multimerdia.kvm.xml

On peut alors:

Importer

$ virsh --connect qemu:///system define multimerdia.kvm.xml

S'il s'agit de l'importation d'une nouvelle machine, elle devrait maintenant apparaitre dans la liste des machines virtuelles disponible:

$ virsh --connect qemu:///system list --all
 Id Name                 State
----------------------------------
  - multimerdia          shut off

Windows XP

Mais sans doute d'autres Windows aussi…

Télécharger l'iso contenant les pilotes, là: http://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers

Par exemple: virtio-win-0.1-30.iso

Et demarrer le CDROM avec cette iso (ou charger l'iso à la volée) …

Pour le reseau, pas de problème particulier.

Pour le disk sur lequel le Windows boot, il faut utiliser une petite astuce:

Ensuite, Windows va réclamer le pilote: l'installer et verifier que ce périphérique (disque) est bien reconnu (fonctionne).

On peut maintenant retirer ce “fake” disque et transformer le disque de principal en “Virtio Disk”.

Remote

home$ ssh somewhere

somewhere$ virsh --connect qemu:///system list --all
 Id Name                 State
----------------------------------
  - winxp                shut off

Démarrer “winxp” :

somewhere$ virsh --connect qemu:///system start winxp

Quel est le “display” VNC utilisé ?

somewhere$ virsh --connect qemu:///system vncdisplay winxp
:8

Accès vnc :

home$ ssh -f -N -L 5950:localhost:5910 somewhere
home$ vncviewer localhost:50

FIXME: le clavier est “Qwerty” !!!!