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:
libvirtd
a été démarré (sinon, regardé dans :/etc/default/libvirt-bin
)- le module
kvm
( etkvm-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
: le clavier est “Qwerty” !!!!