13 octobre 2007

Debian et machine virtuelle KVM

Tags : , , ,

posté dans Outils Unix |

Ayant dernièrement acheté une nouvelle configuration (Intel Core2Quad Q6600 sur ASRock 4CoreDual-SATA2) j'ai, bien entendu, décidé d'enfin jouer un peu avec la virtualisation et Xen 3.1. Malheureusement le kernel Xen basé sur un 2.6.18 n'intègre pas de support pour le contrôleur IDE de la carte mère (VIA vt8237s). On remarquera que le support existe dans des nouveau kernel mais ainsi qu'un hack pour le 2.6.18. Ubuntu dispose également d'un 2.6.22 "xenifié" sous forme de paquet .deb.

Ceci étant, plutôt que de le lancer dans d'immondes bidouilles j'ai tourné mon regard vers KVM, le support de virtualisation intégré au kernel. El là, suprise ! C'est convi, rapide et simple.

Installation des outils userspace :

%  apt-get install kvm qemu

Chargement du module pour le support VT Intel :

% modprobe kvm-intel

Création d'une image disque de 5 giga en CoW (Copy on Write) pour économiser de la place (les 5Go ne sont pas réellement utilisés mais uniquement l'espace effectivement occupé par les données de l'image disque):

% qemu-img create disk.cow 5G

Lancement de kvm avec utilisation de l'image ISO d'installation de Debian 4.0 (avec 512Mo de mémoire pour le système) :

% kvm -hda disk.cow -cdrom /path/debian-40r1-i386-businesscard.iso -boot d -m 512

Installation classique minimale Debian... et enfin utilisation du système via :

%  kvm -hda disk.cow -m 512

La configuration par défaut est entièrement automatique. Le système hébergé reçoit une adresse IP via DHCP et le routage est automatique. Ainsi la distribution Debian peut directement être mise à jour. C'est le système de routage userspace de KVM/QEMU. Ceci n'est pas très satisfaisant à mon goût.

Ne disposant que d'une seule interface ethernet matérielle dans le système hôte (nommée eth1 en raison d'un problème udev dont je parlerai pas ailleurs) l'idée de base est de créer un bridge ethernet reliant eth1 et une interface TUN/TAP.

Phase 1, on installe le paquet uml-utilities contenant l'utilitaire tunctl :

% apt-get install uml-utilities

On descend ensuite le réseau façon Debian :

% /etc/init.d/network stop

Puis on change /etc/network/interfaces comme ceci :

auto lo eth1 tap10 br0

iface lo inet loopback

iface tap10 inet manual
  pre-up tunctl -b -u denis -t tap10
  pre-up ifconfig tap10 up
  post-down tunctl -d tap10

iface br0 inet static
  bridge_ports eth1 tap10
  bridge_maxwait 0
  address 192.168.0.1
  netmask 255.255.255.0
  network 192.168.0.0
  broadcast 192.168.0.255
  gateway 192.168.0.10

iface eth1 inet manual

Dans l'ordre, on configure le loopback puis eth1. On créé ensuite tap10 (tap0 est utilisé par ailleurs avec OpenVPN) et on bridge eth1 et tap10 en donnant une adresse au bridge. eth1 et tap10 sont donc maintenant physiquement connecté au même hub virtuel. tap10 est "le bout de câble" connecté à notre eth0 dans le système Debian tournant dans la KVM. On démarre celui-ci avec :

% kvm -hda disk.cow -m 512 -net nic -net tap,ifname=tap10

Dans le /etc/network/interfaces du système on trouve :

iface eth0 inet static
  address 192.168.0.200
  netmask 255.255.255.0
  network 192.168.0.0
  broadcast 192.168.0.255
  gateway 192.168.0.10

Et voilà, le tour est joué. Le système KVM est accessible depuis le système hôte via 192.168.0.200 comme s'il était sur le réseau (en fait, il l'est via le bridge).

Article posté on Samedi, 13 octobre 2007 à 12:02 dans Outils Unix. Vous pouvez suivre les commentaires sur cet article via un feed RSS 2.0. Vous pouvez laisser un commentaire. Le Ping n'est actuellement pas autorisé.

Il y a actuellement 6 réponses pour “Debian et machine virtuelle KVM”

  1. 1 Le 14 octobre 2007, fo0 à écrit :

    As-tu fait tourner un *Bsd dans une kvm ? Je m’explique, Sysinstall gambade joyeusement jusqu’au mur au fond du jardin, là où y a taggé ftp mirror, et c’est le drame !
    Pourtant il resolve bien les hosts de ftp mais laaag et stop.
    Une idée ?

  2. 2 Le 14 octobre 2007, Lefinnois à écrit :

    Oui. J’ai un Freebsd 6.2 qui tourne dans une kvm depuis cette nuit. Tout c’est passé sans problème. Sauf que le dépot FTP principal ne répondait pas. Je me suis simplement replié sur le premier miroir français et zou…

  3. 3 Le 15 octobre 2007, etre à écrit :

    Super ! Vive kvm. Où as tu trouvé l’info pour les options de kvm -hda disk.cow -m 512 -net nic -net tap,ifname=tap10 ?

  4. 4 Le 15 octobre 2007, Lefinnois à écrit :

    Heu… bin… kvm -h et le wiki kvm.

  5. 5 Le 18 octobre 2007, KmiKze à écrit :

    Ici, même souci que fo0, impossible de passer l’etape du mirroir.
    Ce n’est pas un probleme de réseau, resolv bien se connecte, et BooM, c’est le drame !

  6. 6 Le 3 novembre 2007, fo0 à écrit :

    KmKze vérifie que tu as opté pour Passive http://ftp. Je m’en slap encore l’haricot là !!

Laisser un commentaire

Anti-Spam Image