Opération multiplication des pains

Posted on mar. 22 septembre 2009 in Linux

Juste un petit post rapide en version pense bête pour créer des machines virtuelles avec KVM.

Pour faire comme les grands j'utilise LVM et j'ai gardé un pool de quelques Go sur mon VG (ici vg0) afin de pouvoir créer des machines virtuelles à la volée.

Comme je suis un fainéant notoire, j'utilise libvirt pour faciliter toute l'administration de KVM.

Première étape : installation des packages

aptitude install kvm libvirt

Deuxième étape : configuration du réseau :

16:51 root@zone0 ~# cat /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
allow-hotplug eth0
iface eth0 inet manual

auto br0
iface br0 inet static
        address 192.168.0.60
        netmask 255.255.255.0
        network 192.168.0.0
        gateway 192.168.0.1
        broadcast 192.168.0.255
        bridge_ports eth0
        bridge_fd 9
        bridge_hello 2
        bridge_maxage 12
        bridge_stp off

Un bridge tout classique avec quelques paramètres pour désactiver le stp.

Troisième étape : Création d'un volume logique pour accueillir la machine virtuelle (vmTest au moment de ce post) :

16:52 root@zone0 ~# lvcreate -L5G -n vmTest vg0

Quatrième étape : Création de la machine à proprement parlé :

16:56 root@zone0 ~# virt-install --connect qemu:///system -n vmTest -r 256 --disk path=/dev/vg0/vmTest -c /root/Iso/debian-501-amd64-netinst.iso -k fr --vnc --noautoconsole --os-type linux --os-variant debianlenny --accelerate --network=bridge:br0 --hvm

A noter :

  • le nom de la machine : -n vmTest
  • l'utilisation de la partition LVM : --disk path=/dev/vg0/vmTest
  • le total de ram alloué : -r 256
  • l'image du cd de boot : -c /root/Iso/debian-501-amd64-netinst.iso (bah oui, je les ranges où je veux..)
  • le layout du clavier (très important pour virt-manager) : -k fr
  • le bridge à utiliser : --network=bridge:br0

Voila, y a plus qu'à se connecter à la machine en utilisant par exemple virt-manager pour faire l'installation comme si tu étais devant ton serveur alors que tu es devant la télé.

UPDATE : Y'a aussi la méthode plus roots et un peu moins convie (mais avec beacoup moins de dépendances) :

16:52 root@zone0 ~# virt-viewer --connect qemu+ssh://root@ip_du_host/system nom_de_la_vm