ReLoad

Thierry Jaouen ~ WikiBlog
"Rien à foutre d'être lu, tant que je peux me relire."

Outils pour utilisateurs

Outils du site


blog:2013:05:17:premiers_pas_avec_kvm

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:

  • libvirtd a été démarré (sinon, regardé dans : /etc/default/libvirt-bin )
  • le module kvm ( et kvm-intel ) était chargé.

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 :

  • les exporter en XML
  • eventuellement on peut les modifier
  • les (re)importer a partir du XML

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:

  • faire un backup
  • modifier la conf
  • copier vers un autre serveur

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:

  • Arreter la machine virtuelle
  • creer un disk “Virtio Disk”
  • Ajouter ce disk dans la conf de la machine virtuelle (même pas besoin de formatter)
  • Demarrer la machine virtuelle

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” !!!!

blog/2013/05/17/premiers_pas_avec_kvm.txt · Dernière modification : 2013/05/17 21:53 de thierry