La Virtualisation avec KVM
La virtualisation est de plus en plus utilisée aujourd’hui dans le domaine des serveurs, puisqu’elle permet désormais de profiter au maximum de la puissance des processeurs actuels. Cependant, elle présente également des intérêts indéniables pour les particuliers, puisqu’elle nous permet de tester des systèmes d’exploitation sans prendre le risque de détruire son propre système. Ici je vais présenter rapidement l’utilisation de KVM, un outil de virtualisation intégré au noyau Linux s’utilisant en ligne de commande.
Création d’un support virtuel :
Avant de virtualiser quoi que ce soit, il peut être bon d’avoir sous la main un disque virtuel afin, d’y installer le système voulu. Pour cela QEMU (le projet sur lequel est basé KVM) intègre « qemu-img », un outil permettant d’en créer un très facilement.
Entrez tout simplement ceci dans votre terminal :
qemu-img create -f qcow2 fichier.qcow2 20G
où fichier.qcow2 est votre disque virtuel et où 20G représente sa taille.
Une autre méthode passe-partout est :
dd of=fichier.img bs=1 seek=20G count=0
où fichier.img est votre disque et où 20G représente sa taille.
Voyons maintenant les différentes options que l’on peut passer à KVM. Je partirai bien entendu du principe que vous avez déjà sous la main une iso prête à être utilisée.
Émuler une image ISO :
La manière la plus simple d’émuler une iso est d’entrer un commande semblable à celle-ci :
kvm file.iso
Ceci aura pour effet de lancer le système contenu dans l’iso spécifiée dans une nouvelle fenêtre, cependant cela risque d’être insuffisant dans la mesure où KVM n’alloue par défaut que 128Mb de RAM au système invité. Vous vous en doutez certainement, ceci est généralement bien trop peu.
Pour spécifier une valeur manuellement on utilise alors l’option -m, suivie d’une valeur indiquée en mégabytes (M), ou en gigabytes (G).
Ainsi pour relancer notre système avec 1G de RAM par exemple, nous utiliserons une syntaxe de ce type :
kvm -m 1024 file.iso
ou :
kvm -m 1G file.iso
Sélectionner un type de clavier :
Il se peut que votre système invité ait un clavier anglais (en-us) et qu’il ne propose pas d’options pour en obtenir un en Français. Dans ce cas vous pouvez forcer l’utilisation d’un clavier français lors de son démarrage avec l’option -k, suivie du clavier souhaité :
kvm -m 1024 -k fr file.iso
Le son :
Ce n’est pas un secret le son fonctionne assez rarement lors d’une émulation. Pour cela il faut préciser à KVM quelle est votre carte son. mais si vous ne le savez pas ce n’est pas grave. L’option -soundhw all activera toutes celles qui sont disponibles sur votre machine.
On en arrive donc à une commande de ce type :
kvm -m 1024 -k fr -soundhw all file.iso
No bootable device et ordre de boot :
Si par le plus grand des hasards KVM vous affirme après avoir cherché pendant un court moment qu’il n’y a pas de périphérique bootable (No bootable device.), c’est parce qu’il faut préciser que votre image iso est un cdrom avec l’option -cdrom :
kvm -m 1024 -k fr -soundhw all -cdrom file.iso
Cette option permet également de démarrez sur un vrai cdrom :
kvm -m 1024 -k fr -soundhw all -cdrom /dev/cdrom
Et enfin mais non des moindre, l’option permettant de spécifier un disque dur est -hda. On peut même en spécifier plusieurs avec -hdb, -hdc et -hdd. À noter qu’il est impossible d’utiliser -hdc avec -cdrom.
kvm -m 1024 -k fr -soundhw all -cdrom file.iso -hda fichier.img
Il faut alors préciser l’ordre de boot du système invité, histoire de ne pas démarrer sur un disque virtuel vide… ^^ Pour cela on utilise le paramètre -boot, suivi des lettres voulues : a et b pour les deux premières disquettes, c pour le disque, d pour le cdrom et n à p pour le réseau.
Par défaut le système boot sur le disque. Pour le booter sur le cdrom d’installation utilisez une commande de ce type :
kvm -m 1024 -k fr -soundhw all -cdrom file.iso -hda fichier.img -boot d
KVM permet également d’accéder aux périphériques USB, en rajoutant simplement l’option -usb.
Généralités :
À ma connaissance il n’y a pas besoin de préciser un ordre particulier pour les différentes options. Vous pouvez commencer par donner le cdrom, les options de clavier, de son, etc… Par défaut la machine virtuelle a également accès au réseau quand la machine hôte dispose d’une connexion internet.
KVM a bien entendu de nombreuses autres possibilités, comme celle de lancer une machine virtuelle distante par VNC, celle de configurer l’affichage, de configurer les périphériques plus finement, de configurer le noyau Linux à utiliser, ou encore de changer le nom de la machine virtuelle avec l’option -name.
Pour obtenir plus de renseignements vous pouvez regarder les pages d’ubuntu-fr.org sur QEMU et KVM, celles de debian-facile sur les mêmes sujets (QEMU, KVM), ainsi que le man kvm, qui vous donnera une liste détaillée des options disponibles.
Pour installer la bête, le plus simple reste de taper quelque chose du genre :
sudo apt-get install kvm
Faisant partie du noyau Linux, cette application n’est malheureusement pas disponible pour les utilisateurs tournant sous Windows… Si c’est votre cas vous pouvez vous tourner vers des alternatives graphiques telles que Virtualbox par exemple, qui seront certainement plus simples à prendre en main que KVM. Sachez juste qu’il est fortement déconseillé d’utiliser les deux à la fois…
Bonne virtualisation et n’hésitez pas à remonter vos bugs, qu’on trouve une solution et que je puisse mettre le tuto à jour ! ;)