Outils personnels

KVM Installation

De wikiGite

Révision datée du 26 avril 2011 à 12:47 par Frank (discussion | contributions) (a déplacé Installation vers KVM Installation)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

Installation sur Debian SQUEEZE

Note sur l'install de test : le système est installé sur un volume logique LVM de 10G (/boot 150M en primaire-ext3 + swap en logique + le reste en LVM, 1 Volum Group, 1 premier Volum Logic pour /).

Ainsi, si on manque de place sur /, on pourra toujours l'étendre par l'agrandissement du volume logique (ça obligera à booter sur un CD live, mais au moins on ne sera pas bloqué).

Les VM seront gérées dans des LV aussi.

Vérifier les possibilités de virtualisation du processeur :

egrep '(vmx|svm)' --color=always /proc/cpuinfo

Note : sur un DELL R310, il a fallu activer la virtaulisation dans le BIOS (CPU parameters/Virtualization technology) sinon kvm ne se chargeait pas, même si "vmx" apparaissait dans la commande ci-dessus.

Installer KVM. On installe aussi libvirt, librairie + outils permettant de gérer KVM en ligne de commande et à distance (il en existe d'autres, Proxmox utilise son propre outils "qm" par exemple).

apt-get install qemu-kvm libvirt-bin bridge-utils screen console-data console-tools debconf

Par sécurité il est conseillé de stopper la fonctionnalité de swapper la mémoire "sous-utilisée" (sinon risque de surcharge avec kvm)

sysctl vm.swappiness=0
echo "vm.swappiness=0" >> /etc/sysctl.conf

Modifier les interfaces réseau pour le bridge (les VMs passeront par ce bridge pour accéder au réseau). Dans /etc/network/interfaces :

...
#allow-hotplug eth0
#iface eth0 inet dhcp
# The primary network interface
auto eth0
iface eth0 inet manual

# Network bridge
auto br0
iface br0 inet static
address 192.168.1.110
network 192.168.1.0
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.254
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0

Editer /etc/hosts pour mettre l'adresse 192.168.1.110 en face du hostname, puis

reboot

virt-manager

Sur un poste de travail (Ubuntu par ex.) installer virt-manager (partie client de la librairie libvirt). Echanger les clés avec le serveur pour avoir une connexion sans mot de passe, lancer virt-manager et créer une connexion "QEMU/KVM" sur "Tunnel SSH".

Création des VMs

Chargement d'un iso pour l'installation du guest

cd /var/lib/libvirt/images/
wget http://cdimage.debian.org/debian-cd/6.0.0/multi-arch/iso-cd/debian-6.0.0-amd64-i386-netinst.iso

Test d'une VM en fichier (on verra LVM plus tard):

  • A la main : PROCEDURE NON TESTEE - A VALIDER

1. création du fichier

kvm-img create -f qcow2 /var/lib/libvirt/images/vdisk.img 4G 

2. Boot et install OS :

kvm -hda /var/lib/libvirt/images/vdisk.img -cdrom /var/lib/libvirt/images/debian-6.0.0-amd64-i386-netinst.iso -boot d -m 512
  • Par virt-manager : clic-droit sur le nom du host, nouveau, et se laisser guider (attention à DECOCHER "allouer la totalité du disque maintenant" pour créer un disque qcow2, et pour le réseau indiquer "br0" comme périphérique partagé)

Gestion des VMs

Sur l'hôte, on peut utiliser virsh pour interagir avec les VM

virsh list
virsh start my-guest-vm
virsh shutdown my-guest-vm

Note : pour lancer/arrêter un système invité avec virsh il faut que acpid et acpi-support soient installés sur l'invité (pour qu'il détecte la demande d'arrêt comme si on appuyait sur le bouton OFF)

Pour forcer l'arrêt d'une VM (arrêt brutal au bouton) utiliser

virsh destroy my-guest-vm