Premiers tests de linux KVM sous Lucid Lynx
mars 9th, 2010 Posté dans Administration, Virtualisation
Introduction
Comme vous le savez peut-être, la prochaine version d’Ubuntu estampillée 10.04 LTS alias Lucid Lynx est annoncée pour le 29 Avril 2010. (Vous trouverez d’ailleurs plus de détail sur le site d’Ubuntu ici.) Cette version dite LTS (Long Term Support) est traditionnellement une déclinaison « stable » à utiliser pour les serveurs ou du poste de travail à longue durée de vie. Il sort une version LTS tous les deux ans environ et ces distributions spécifiques d’Ubuntu sont maintenues 5 ans au lieu des 18 mois habituels. Vous comprenez bien que réinstaller ses serveurs tous les 18 mois n’est pas toujours possible…
Pour cette nouvelle déclinaison, mise à part les sempiternelles promesses d’accélération du démarrage (pour un serveur la lenteur du démarrage est plus liée au démarrage des cartes RAID ou des cartes réseau que l’OS lui-même) et un nouveau thème (que je trouve pas du tout pratique, mais c’est mon avis et sur un thème de surcroit non terminé à l’heure où j’écris), bref, la vraie promesse c’est le Cloud Computing et surtout son indispensable corollaire : la virtualisation. Pour avoir testé et utilisé l’hyperviseur Xen, je me suis attelé au test de KVM, LE système de virtualisation du noyau linux. Après avoir recherché et trouvé assez facilement des tutoriaux de mise en route pour les versions antérieures de Ubuntu (Vous trouverez un exemple ici pour la Ubuntu 9.10) je le suis risqué à tenter l’expérience sur la future plateforme Lucid Lynx LTS en 64 bits et là, surprise, c’est tout bonnement sensationnel !
Pré-requis technique
Comme tous les systèmes utilisant la parvirtualisation, il est indispensable d’utiliser une machine disposant d’un processeur du jeu d’instructions processeur spécifique : Intel-VT ou AMD-V. Pour ma part, j’ai utilisé un serveur bi-Intel Xeon E5530 d’intel avec 16 Go de RAM. L’installation sur la machine n’a posé aucun souci (contrôleur RAID SAS 6i/R inclus) sauf un léger bug pour la carte graphique corrigé après le passage des mises à jour .
Pour le partitionnement, il est conseillé d’utiliser des volumes logiques d’un LVM. J’ai donc partitionné le disque en conséquence pour pouvoir créer un ou plusieurs volumes logiques par machine virtuelle :

Après l’installation des différents outils j’ai commencé à faire quelques tests mais la ligne commande pour lancer une machine virtuelle se révèle très lourde. Dans un environnement de production, il nous faut un minimum de confort d’autant plus lorsque l’on cherche à diffuser largement cette solution. Lorsque j’avais testé l’hyperviseur Xen, j’avais été amené à utilisé sous SuSE Server l’outil virt-manager de Red Hat. A tout hasard je tente l’installation sous Ubuntu et ô miracle l’outil est bien présent dans la liste des paquetage et dans une version très récente (en date de décembre 2009) qui intègre naturellement la gestion de KVM !

Utilisation de virt-manager
Virt-manager se révèle à l’usage véloce et largement abouti pour un travail d’administration quotidien dans de bonnes conditions. Son interface est simple et bien pensée. Elle n’est d’ailleurs pas sa rappeler certaines solutions propriétaires. On pourrait seulement reprocher la relative lenteur de l’interface graphique sous VNC mais l’outil en lui-même n’y est pour rien. Après avoir créé plusieurs machines virtuelles linux (Ubuntu principalement), je me suis risqué à tenter l’installation du côté obscur de la force : les systèmes d’exploitation de Microsoft ! L’assistant très bien fait de création de machine m’a permis très rapidement d’avoir une configuration avec la compatibilité optimale. L’ensemble de la liste des systèmes d’exploitation de Microsoft les plus récents sont tous présents :

Je suis même parvenu à faire fonctionner un Windows 7 sans accrocs ! Je vous livre ici un exemple de la configuration de virt-manager pour une machine sous Windows 7 Ultimate 64 bits :
Bref, une première impression plutôt très très positive !
Quelques petites remarques
- Sur le hardware émulé tout d’abord : Je vous le dit tout de suite : nous ne disposons pas de carte graphique accélératrice (!). Mais bon, je ne pense pas que se soit vital pour une exploitation de la virtualisation classique plutôt tournée vers le monde du serveur. Toutefois, on constate rapidement que le hardware émulé par KVM se cantonne à des cartes assez anciennes : cartes sons, carte réseau ou carte graphique. Il est parfois acrobatique de trouver un pilote sur certains OS un peu trop récents et encore plus difficile en 64 bits ! Au cours de mes tests, mon Windows 7 64 bits restera donc muet !
- Je trouve la console graphique VNC d’une très grande lenteur. Heureusement tous les OS modernes proposent un bureau à distance nettement plus véloce que ce pauvre VNC !
- La gestion des ressources est très parcellaire : pas de pool de ressources permettant de protéger les ressources d’une série de machine d’un autre hôte trop boulimique.
- La gestion des réseau proposée par défaut est un réseau de type NAT ou le bridge (après installation et configuration d’une carte bridgée) Il aurait été souhaitable de disposer d’un switch virtuel pour pouvoir avoir un maximum de souplesse ou pour exploiter des VLANs. En plus, les solutions libres existent déjà.
Conclusion
Avec l’arrivée d’une interface aboutie comme virt-manager et l’implémentation efficace et très légère de la paravirtualisation dans le noyau linux avec KVM, l’OS au pinguin devient de plus en plus une vraie alternative crédible. Il me resterai à faire encore quelques tests de performances mais avec un Windows 7 x64 Ultimate édition qui démarre en moins de 20 secondes, je ne me suis même pas encore posé la question.

















4 réponses pour “Premiers tests de linux KVM sous Lucid Lynx”
Par brazz on avr 14, 2010
Après avoir installé sous lucid lynx la version des dépots (0.8.2), j’ai constaté quelques limitations en particulier au niveau de l’interface : impossibilité de redimmensinner, etc qui m’ont agacé. Même si le produit fonctionne très bien par ailleurs…
Aussi, j’ai désinstallé tous les paquets de virt-manager et ensuite je suis allé sur le site de Virtual Machine Manager (http://virt-manager.et.redhat.com) pour avoir les dernières versions du logiciel (celles de ubuntu, appuyées sur debian sid sont très en retard).
Ci dessous la présentation des nouvelles releases:
Current releases
virt-manager 0.8.4 Wednesday March 24, 2010
* Import install option: create a VM using an existing OS image
* Support multiple boot devices and boot order
* Watchdog device support
* Enable setting a human readable VM description.
* Option to manually specifying a bridge name, if bridge isn’t detected
virtinst 0.500.3 Wednesday March 24, 2010
* virt-install: New –watchdog option: configure a virtual watchdog dev
* virt-install: New –soundhw option: More flexible sound configuration deprecates –sound, though back compat is maintained
* virt-install: New –security option: configure VM security driver
* virt-install: New –description option: set a human readable desc
* Better OS defaults: Use VGA and AC97 if support
virt-viewer 0.2.0 Wednesday July 29th, 2009
* Switch UI over to use Glade
* Support graphical dialog for VNC and libvirt authentication
* Resize window to match VNC desktop size where possible
* Scale down VNC desktop if it cannot fit in host desktop space
* Allow user to resize window to arbitrary size, scaling VNC
* Fix blocking of accelerators
* Allow automatic reconnect to a VM via –reconnect
* Use libvirt events to detect when VM changes state
* Wait for VM to appear if it does not exist
* Fix plugin build with newer xulrunner
* Port & build for Mingw32 target
La mise en place est extrèmement simple. Elle consiste, pour virt-manager et virt-viewer à executer successivement la trilogie des commandes bien connues: ./configure, make, sudo make install et pour virtinst à executer un simple script python. C’est tout, aucun problème, aucune erreur, good !
Et à présent je dispose donc de la toute nouvelle version avec toutes les améliorations décrites !
Et en effet, comme l’explique très bien l’article, on se trouve avec une alternative tout à fait correcte aux Virtual Box et consort. C’est vraiment top et propre.
Les seuls manques, qui seraont probablement corrigés dans de prochaines releases, concernent la gestion de l’USB (tout comme la version libre de Virtual Box d’ailleurs, je pense qu’il doit y avoir peut être des problèmes de licences…) et aussi quelques goodies exotiques de VirtualBox comme les répertoires partagés, etc (mais ceci n’est ni standard ni très securitaire…ce qui explique que virt-manager destiné aussi aux serveurs ne l’implémente pas) ceci dit il y a différentes solutions pour contourner ce problème.
Vous avez raison en ce qui concerne l’utilisation de VNC, qui lui est toujours un peu lent. Sur un serveur, on préfèrera et de loin, l’utilisation de FreeNX qui est un bolide !
En tout cas, merci pour cet article qui donne vraiment envie (satisfaite) d’utiliser ce produit de virtualisation: tous les avantages de qemu et kde avec une interface sexy n’ayant rien à envier aux autres !
Par Evoliatis on avr 14, 2010
Juste quelques analyses ou questions pour faire suite à ton commentaire :
En tout cas merci pour ton commentaire. Je sais maintenant que je ne suis pas le seul à attendre fébrilement le Lynx Lucide !
Par brazz on avr 16, 2010
Non, malheureusement, pour la taille des colonnes c’est toujours pareil (et ni précis ni commode…).
Par ailleurs, je n’ai pas rencontré le bug de grub; j’ai fait les mises à jour au fur et à mesure. En fait c’est vrai que c’est le côté agaçant des beta: ça marche mieux avec certains matos que d’autres et on ne sait pas trop pourquoi…c’est la vie, mais quand même !
Au sujet de la gestion de l’USB, je ne la mentionnais que dans l’optique d’une comparaison avec Virtual Box, c’est à dire -pour cet aspect- une optique poste de travail local et non serveur. Juste pour dire que dans ce domaine aussi, le binome KVM+virtmanager était très efficace et rendait pratiquement les mêmes services. Mais c’est vrai que ce n’est pas une énorme prioritéquoique la virtualisation sur poste de travail peut rendre bien des services, soit à des fins de test ou autres, soit par exemple (ce que je fais souvent) pour avoir un VPN activé sur une machine virtuelle et rester en connexion « classique » sur la machine réelle; le beurre et l’argent du beurre, quoi !