KVM (suite)

Portrait de furet

Après m'être battu avec virt-manager pour gérer mes vms sous gentoo, j'ai décidé de retenter le coup avec debian. La dernière version de virt-manager (0.8.0) semble boguée, impossible de créer des images disque de plus de 1 Giga ; du coup j'ai même pas cherché à tester la conf du réseau avec.
À la place j'utilise la version 0.7 qui fonctionne sans problèmes (ou alors je les ai pas encore eus). Le plus dur a été de mettre en place le bridge réseau pour les vms.

Les manipulations suivantes ont été testées sous debian squeeze

Pour pouvoir lancer des vms avec kvm + virt-manager il faut déjà disposer d'un processeur avec le jeu d'instruction vt (flag vmx pour les intel, smd pour les amd) :
cat /proc/cpuinfo |grep vmx
et pas mal de ram (4Go représentent un bon début si on compte 512Mo de ram/vm)

Voici les paquets à installer (liste rapide, j'en loupe peut être un) :

apt-get install virt-manager kvm qemu

Normalement virt-manager dépend des paquets indispensables pour gérer les vms. On n'oublie surtout pas d'installer kvm et qemu car il possible d'utiliser virt-manager pour gérer un parc de vm depuis le réseau (mais ça c'est une autre paire de manches).

Je me suis bien inspiré de [1] pour commencer rapidement. Par contre pour le bridge réseau c'était pas vraiment ce que je cherchais. Du coup je suis allé lire la doc de libvirt [2].
Note : apparament il n'est pas possible d'utiliser en même temps network-manager et le bridge réseau, il est nécessaire de désactiver network-manager pour mettre en place le bridge. Je ne peux pas confirmer, je n'utilise pas network-manager sur ma machine de test.

Voici donc à quoi ressemble mon /etc/network/interfaces :

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
 
# The loopback network interface
auto lo
iface lo inet loopback
 
# The primary network interface
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_maxwait 5

Il faut ensuite configurer les vms pour utiliser le réseau bridge :

voilà ce qu'on obtient après un peu d'efforts :

Voici ce qui a marché du premier coup :
Lancement des vms avec kvm seul
Lancement des vms avec virt-manager en NAT
L'intégration du pointeur de la souris sous OpenSolaris et Windows XP (comme avec virtualbox)

Voici ce qui marche après configuration :
Lancement des vms avec virt-manager sur un bridge
Les drivers virtio avec debian

Voici ce que je n'arrive toujours pas à faire :
drivers virtio pour le disque et le réseau sur certaine distributions linux (ubuntu)

Les choses que je n'ai pas testées :
Migration de vms
Snapshots
fichier de swap pour les vms (comme avec Xen)
Connexion depuis une autre machine avec virt-manager

Les petits trucs qu'il faudrait pouvoir changer :
Le chargement du bridge au boot ralentit bien le temps de démarrage de ma machine (+10s ~).
Ce n'est pas dramatique, mais ça peut devenir gênant. Enfin sur un serveur de prod qui n'est pas sensé être arrêté c'est pas un problème.

Au passage je me suis également servi des sites suivants :
http://en.gentoo-wiki.com/wiki/KVM
http://www.linux-france.org/prj/inetdoc/articles/vm/index.html#vm.legal....
https://help.ubuntu.com/community/KVM/Directly
https://help.ubuntu.com/community/KVM/Managing

[1] http://www.vogelweith.com/debian_server/14_kvm.php
[2] http://wiki.libvirt.org/page/Networking

Fichier attachéTaille
Icône image setup.png39.75 Ko
Icône image osol.png268.94 Ko
Icône image bubu.png271.47 Ko
Icône image win.png289.86 Ko