La virtualisation sans Virtualbox

Installer les outils :
aptitude install kvm libvirt-bin virtinst bridge-utils

Pour faire des machines virtuelles en mode serveur, il faut faire un pont.
Editer le fichier
/etc/network/interfaces

Mettre en commentaire :
allow-hotplug eth0

Et ajouter les lignes suivantes (mettre autant de ethx que vous avez d'interfaces réseaux physique:
auto br0
iface br0 inet dhcp
# Liste des interfaces qui participent au bridge
# ATTENTION :
# Il faut mettre l'interface dont la MAC est la plus petite d'abord !
# Sinon, cela peut perturber les outils de surveillance du réseau.
bridge_ports eth0 eth1 eth2
# Je désactive le Spanning tree
bridge_stp off
# Temps en secondes entre "learning state" et "forwarding state"
bridge_fd 2
# Temps maximum en secondes où le script de lancement du bridge
# attendra lors du démarrage que le bridge passe en mode "forwarding
# state" pour passer la main et laisser les autres services démarrer.
bridge_maxwait 0

Source : http://geekfault.org/2011/03/24/devbox-kvmlibvirt-perfect-setup/

Redémarrer les interfaces
/etc/init.d/networking restart

Modifier les paramètres noyaux en ajoutant les lignes suivantes au fichier /etc/sysctl.conf
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0

Charger les paramètres par :
sysctl -p /etc/sysctl.conf


Ces paramètres permettent de désactiver le contrôle d'iptable sur le pont, et donc que les VM ne soient touchées par la configuration iptable de la machine hôte.

Maintenant que nous avons notre configuration réseau effective, on va installer notre VM, debian-test :
typeset NAME=debian-test

Créer un disque de 5Go :
virsh vol-create-as default ${NAME}.img 5G --format raw

Pour installer une nouvelle machine :
virt-install --connect qemu:///system -n ${NAME} -r 512 --vcpus=2 --disk path=/var/lib/libvirt/images/${NAME}.img,size=12 -c /var/lib/libvirt/iso/debian-6.0.0-amd64-custom.iso --vnc --noautoconsole --os-type linux --os-variant debiansqueeze --accelerate --network=bridge:br0 --hvm



Exemple d'installation pour une debian

virt-install -n ${NAME} -r 256 --vcpus 1 --description "ma vm debian de test" --os-type linux
--os-variant debiansqueeze --disk vol=default/${NAME}.img,bus=virtio,cache=none --network
bridge=br0,model=virtio --hvm --virt-type kvm --accelerate --vnc --noautoconsole
--location http://localhost/repertoire/contenant/noyaudeboot
--extra-args "auto=true interface=eth0 hostname=${NAME} domain=kywyxy.net url=http://localhost/preseed/squeeze.cfg"

Exemple : installer une Fedora 16 sans télécharger d'iso, mais directement à partir d'Internet :

NAME=fedora16
virt-install --connect qemu:///system -n ${NAME} -r 512 --vcpus 1 --description "Fedora par le web"
--os-type linux --os-variant fedora16 --disk vol=default/${NAME}.img,bus=virtio,cache=none
--network bridge=br0,model=virtio --hvm --accelerate --vnc --noautoconsole
--location ftp://ftp.proxad.net/mirrors/fedora.redhat.com/fedora/linux/releases/16/Fedora/i386/os/
--extra-args "auto=true interface=eth0 hostname=${NAME} domain=kywyxy.net"


La ligne '--extra-args' permet de passer au noyau des éléments. Utile par exemple lorsque l'on utilise un fichier de paramétrage automatique d'une installation et que l'on veux faire passer uniquement certains paramètres dynamiques.
Quelques commandes utiles
* Lorsque la machine est installée il suffit de la démarrer :
virsh --connect qemu:///system start fedora16

* Afficher toutes les vm disponibles :
virsh --connect qemu:///system list --all

storage pool
* liste des pools de stockage de données disponible :
virsh --connect qemu:///system pool-list --all

Connexion vnc à une machine virtuelle kvm
* se connecter en ssh
virt-viewer -c qemu+ssh://monuser@systeme_hote_distant system nom_de_la_machine_virtuelle

* se connecter localement
virt-viewer -c qemu://system nom_de_la_machine_virtuelle


Liste des VM disponibles
alexandre@desktop ~ $ virsh --connect qemu:///system list --all
Id Name State
----------------------------------
2 debian-test running
- bodhi shut off
- debian shut off
- freebsd shut off
- test shut off
- vm10 shut off

Vus : 407
Publié par Alexandre LUCAZEAU : 35