Créer une machine virtuelle avec KVM sous Linux Ubuntu
Prendre la pilule bleue pour le monde virtuel
OpenVZ n'est pas le seul système de virtualisation Open-Source. KVM - Kernel Virtual Machine - est la solution de virtualisation officielle de la distribution Ubuntu 9.10
Ces solutions ont leurs avantages et leurs inconvénients. KVM et LVM représente un bon compromis de performance / simplicité pour une virtualisation complète.
Cet article vous présente comment créer une machine virtuelle kvm sur un volume logique lvm
KVM versus OpenVZ versus Xen
OpenVZ est basé sur le partage du noyau de la machine host et des ressources qu'il gère - disques, mémoires, réseau... - avec les machines virtuelles guest qu'il héberge. Ces VPS sont construites à partir de snapshot d'OS prêt à l'emploi.
KVM est basé sur l'isolation complète des machines virtuelles et l'émulation des périphériques. Les VPS sont installées comme un OS ordinaire.
Sans rentrer dans les détails, Xen fonctionne sur le même principe que KVM.
Pour une configuration identique, OpenVZ est donc plus rapide et beaucoup moins gourmand. Les machines virtuelles sont plus simples à créer mais il n'est pas possible de virtualiser des OS incompatibles avec le noyau de l'hôte.
KVM est plus simple à utiliser car pré-installé dans les distributions Linux récentes. Il permet de créer des VPS avec des OS aliens type Microsoft, FreeDos, Android, ChromeOS... mais les performances sont moins bonnes que pour OpenVZ.
Xen dispose de plus de fonctionnalités et d'un paramétrage plus fin que KVM mais il est moins performant qu'OpenVZ et plus complexe à mettre en service que KVM. Leader de la virtualisation open-source professionnelle en 2006, il est à mon avis sur le déclin.
Pourquoi KVM ?
Pour une configuration musclée, KVM offre une isolation complète, la possibilité de virtualiser n'importe quel OS x86 et il est intégré de base dans les distributions Linux récentes.
Si votre PC intègre la gestion de la virtualisation matérielle, les performances de KVM sont acceptables. Sinon, son usage est à réserver au test ponctuel ou aux traitements asynchrones.
Pour vérifier si votre configuration gère la virtualisation hard, exécutez en ligne de commande :
# egrep '^flags.*(vmx|svm)' /proc/cpuinfo
Si vous n'avez aucun retour, la virtualisation matérielle n'est pas supportée et les machines virtuelles kvm seront lentes. Les opérations les plus couteuses sont les I/O disques.
Installer kvm
Pour installer kvm, exécutez la commande :
# aptitude install kvm
Créer un volume logique dédié pour un VPS KVM
Les VPS KVM sont stockés dans une image. Cette image peut prendre la forme d'un fichier dans un filesystem.
Cependant, je vous conseille d'utiliser un volume logique dédié pour la stocker. Vous évitez ainsi la sur-couche de la gestion du filesystem. Les IO sont plus rapide. Et vous isolez complétement le VPS du reste de vos données.
Pour créer un volume logique de 4Go sur le volume group nomé vg :
# lvcreate -L 4G -n lv_kvm1 vg
Logical volume "lv_kvm1" created
Affichez votre volume logique :
# lvdisplay
--- Logical volume ---
LV Name /dev/vg/lv_kvm1
VG Name vg
LV UUID C6nVLb-dWQA-dleZ-xygq-vDdg-uVwo-TsfMeb
LV Write Access read/write
LV Status available
# open 0
LV Size 4,00 GB
Current LE 1024
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:3
Créer une machine virtuelle KVM sur un volume logique
Téléchargez ou récupérez un CDROM d'installation de l'OS que vous voulez virtualiser. La commande suivante initialise une machine virtuelle de 256Mo qui va démarrer à partir d'une image de l'OS Debian 5 et qui va stocker son image sur le volume lv_kvm1 :
# kvm -m 256 -cdrom ./debian-503-i386-businesscard.iso -boot d /dev/vg/lv_kvm1
Puis déroulez l'installation de votre machine virtuelle.
Si vous souhaitez installer un OS Microsoft ou un FreeDos, insérez le CDROM d'installation dans votre lecteur, lancez la commande suivante et déroulez l'installation :
# kvm -m 256 -cdrom /dev/dvd -boot d /dev/vg/lv_kvm1
Suivant votre configuration, le nom du périphérique /dev/dvd peut changer.
Pour démarrez votre nouveau VPS, lancez la commande :
# kvm -m 256 /dev/vg/lv_kvm1
Bienvenu dans le monde virtuel !

