Solutions de virtualisation sur les systèmes Linux – KVM et VirtualBox

Les packages de virtualisation sont des moyens pour les utilisateurs d’exécuter divers systèmes d’exploitation sans matériel « bare-metal » – fondamentalement, vous pouvez exécuter plus d’un système d’exploitation sur un seul ordinateur sans double démarrage ou approches similaires. Un logiciel de virtualisation émule une vraie machine et « trompe » le système d’exploitation invité en pensant qu’il fonctionne sur un vrai ordinateur. Outre les avantages les plus évidents, les machines virtuelles contribuent à créer un environnement informatique plus écologique et plus facile à administrer. En regardant les tendances de l’industrie informatique, la virtualisation a connu un essor considérable ces dernières années, car elle correspond aux concepts d’informatique utilitaire et / ou de logiciel en tant que service. La virtualisation peut vous être utile si vous êtes un architecte d’entreprise, un développeur, un utilisateur à domicile ou tout le reste. Nous commencerons par une courte introduction sur la virtualisation en général, puis nous traiterons spécifiquement VirtualBox et KVM car ils semblent être les solutions de virtualisation complète open source les plus populaires. Vous êtes censé connaître votre chemin autour des systèmes Linux, comment installer une distribution Linux et comment installer un logiciel dessus, bien que nous vous montrerons comment installer les deux packages de virtualisation susmentionnés sur certaines des distributions Linux populaires.

Il existe deux types de virtualisation : une qui peut exécuter le système invité tel quel (tel quel, non modifié) et une autre qui demande un noyau modifié du côté de l’invité pour s’exécuter. La première catégorie est nommée virtualisation complète, car elle émule un environnement matériel complet, la seconde est nommée paravirtualisation, car elle n’émule pas de matériel et nécessite donc des modifications spéciales au niveau des invités, un bon exemple de ce type de virtualisation étant Xen. Ceux-ci font partie d’une catégorie plus vaste nommée virtualisation matérielle, mais il existe également d’autres types de virtualisation (logiciel, réseau ou stockage, entre autres), que nous ne détaillerons pas ici. Les deux logiciels dont nous parlerons entrent dans la catégorie de virtualisation complète. D’autres technologies de virtualisation matérielle populaires incluent QEMU, Bochs, VMware, Parallels, HyperV ou OpenVZ.

ABONNEZ-vous à LA NEWSLETTER & RSS
Abonnez-vous au RSS et à la NEWSLETTER et recevez les dernières actualités Linux, offres d’emploi, conseils de carrière et tutoriels.

Quand la virtualisation est-elle utile ?

Distributions Linux

Le monde Linux regorge d’offres intéressantes et alléchantes. Il y en a plus de 600 (!) Distributions Linux à choisir, ce qui rend difficile pour une personne qui n’a qu’un seul ordinateur de les essayer toutes, ou juste quelques-unes même. Les LiveCDs ne sont pas toujours utiles, il peut donc être nécessaire de les installer pour en comprendre l’essentiel. Chaque version de la distribution Linux apporte de nouvelles fonctionnalités intéressantes, et vous pouvez ressentir le frisson et l’impulsion de l’installer et de la tester. Entrez virtualisation. Vous téléchargez l’ISO, installez la distribution dans un environnement virtuel et vous êtes prêt à partir, le tout en peu de temps. Vous ne l’aimez pas, vous le supprimez. Surtout quand vous êtes un peu nouveau dans le monde Linux et que vous pourriez être confus par le grand nombre de distributions disponibles, c’est peut-être ce dont vous avez besoin. De plus, si vous êtes un développeur et que vous devez exécuter la branche de développement de votre distribution (pensez à Fedora Rawhide ou Debian Sid) mais que celle-ci est trop instable pour un usage quotidien, installez-la dans une machine virtuelle et commencez à développer.

Autres systèmes d’exploitation

Cela s’étend à d’autres systèmes d’exploitation dont vous pourriez avoir besoin: peut-être avez-vous un propgram qui fonctionne uniquement sur Windows et vous ne voulez pas installer Windows uniquement pour ce programme. Peut-être que vous voulez apprendre Solaris mais que vous manquez de matériel. À condition de disposer de la configuration informatique appropriée prenant en charge la virtualisation, vous pouvez maintenant le faire.

Ce dont vous aurez besoin

Les processeurs modernes ont des instructions CPU spéciales pour l’émulation matérielle. Vous pouvez vivre sans, mais vous ne le voulez vraiment pas, car le système d’exploitation hôte devra émuler l’instruction de virtualisation manquante, ce qui ralentira considérablement vos invités. Nous supposons que votre système d’exploitation hôte a installé Linux et que votre processeur dispose des capacités de virtualisation nécessaires. Le moyen le plus simple de vérifier si votre CPU a ce qu’il faut, faites

 $ egrep '(vmx|svm)' /proc/cpuinfo 

et si cela renvoie soit vmx (processeurs Intel) ou svm (processeurs AMD), vous êtes prêt à partir. Mais ce n’est bien sûr pas la seule demande du côté matériel. Vérifiez la page Web du système que vous souhaitez installer en tant qu’invité pour vérifier si vous répondez à ses exigences matérielles. Nous recommandons au moins 20 Go gratuits dans votre répertoire personnel et un minimum de 2 Go de mémoire sur l’hôte, vous pouvez donc allouer une quantité moyenne de 768 Mo à l’invité pour des performances optimales. Bien sûr, si vous souhaitez exécuter plusieurs machines virtuelles (peut-être en parallèle), ces exigences augmentent considérablement.

KVM ou VirtualBox ?

Tout d’abord, pourquoi vous proposerions-nous deux packages de virtualisation ? Pourquoi pas un pour tous vos besoins? Eh bien, nous croyons au concept du « bon outil pour le travail ». KVM offre certaines fonctionnalités que VirtualBox ne propose pas et inversement. Il n’existe pas d’outil universel dans le monde informatique, il est donc important d’utiliser quelque chose qui correspond à vos besoins. L’idée de base est : si vous souhaitez installer une distribution Linux binaire en tant qu’invité, utilisez KVM. C’est plus rapide et ses pilotes sont inclus dans l’arborescence officielle du noyau. Si votre invité implique beaucoup de compilation et a besoin de fonctionnalités plus avancées, et / ou n’est pas un système Linux, mieux vaut opter pour VirtualBox.

Les raisons techniques sont assez simples : KVM est mieux intégré à Linux, il est plus petit et plus rapide, et bien que vous puissiez l’utiliser avec d’autres invités que Linux, nous avons trouvé l’expérience assez gênante : Les BSD ont tendance à avoir des E / S lentes et Solaris (OpenIndiana, pour être exact) a tendance à paniquer immédiatement après le démarrage de l’ISO d’installation. Étant donné que nous utilisons les versions ACTUELLES de BSD (et compilons / mettons souvent à jour le système à partir des sources) et que nous avons également besoin de Solaris, nous avons trouvé que VirtualBox était une meilleure option.

Un autre avantage pour Oracle VirtualBox est le fait qu’il prend en charge suspend, c’est-à-dire que vous pouvez enregistrer l’état de la machine sur le disque dur de l’hôte et fermer VirtualBox et lors du (re)démarrage, le système reprendra là où il est parti. C’est pourquoi nous avons fait référence à la compilation des sources : si vous avez une machine bruyante, vous ne voulez pas rester allumé du jour au lendemain, mais votre machine virtuelle Gentoo compile simplement une nouvelle version de gcc, suspend l’état de la machine, arrête l’hôte et continue demain.

Ce que vous apprendrez

Nous allons vous montrer comment installer KVM et VirtualBox et comment installer et configurer un invité Linux sur un hôte Linux. Les exemples avec d’autres Unices sont très similaires, nous ne voyons donc pas la nécessité de nous répéter.

Installation

Bien que KVM annonce Solaris, BSD, ReactOS, Windows et d’autres comme invités pris en charge, nos expériences ont été moins que fructueuses. Ce n’est pas une critique, car nous n’avons pas, en toute honnêteté, trop examiné la question. Mais ce n’est pas par paresse: après avoir parlé avec d’autres personnes sur le Net, nous avons constaté que nous ne sommes pas les seuls à avoir des problèmes concernant les invités Unix (de type) en dehors de Linux, nous sommes donc allés avec VirtualBox pour ceux-ci. Comme toujours, votre kilométrage peut varier: nous aussi, nous voudrions utiliser KVM exclusivement parce que c’est plus « gratuit », mais à cause des problèmes susmentionnés, qui pourraient bien sûr être spécifiques à notre configuration, nous avons dû utiliser VirtualBox. À l’heure actuelle, KVM est développé par Red Hat et est facilement installable sur la plupart des distributions Linux. Comme nous l’avons fait auparavant, nous ne décrirons que les procédures d’installation relatives aux principales distributions Linux.

Fedora

Depuis que Red Hat, le sponsor de Fedora, développe maintenant KVM, Fedora propose une pléthore d’outils de virtualisation. La documentation officielle, bien qu’elle concerne Fedora 13, est applicable aux versions ultérieures. Vous pouvez simplement installer KVM avec

 # yum install kvm 

pour passer par la ligne de commande, ou vous pouvez installer des outils graphiques pour vous aider à gérer vos installations virtuelles :

 # yum install virt-manager libvirt libvirt-python python-virtinst 

Vous n’aurez pas besoin d’exécuter d’autres commandes car le processus d’installation sur Fedora marquera le module kvm pour le chargement automatique. Si vous ne souhaitez pas redémarrer, utilisez modprobe pour charger le module en place.

Debian

Le wiki de Debian vient encore une fois à la rescousse, et si on suit les instructions, on aura KVM installé et prêt à fonctionner en un rien de temps. Il s’agit de

 # apt-get install qemu-kvm libvirt-bin 

pour installer, configurer et charger le module kvm- (amd|intel) au démarrage.

Slackware

Slackbuild pour KVM que vous pouvez utiliser selon ce guide. Si vous avez un noyau modifié ou si vous voulez simplement vous assurer que votre noyau a KVM activé, tapez

 $ cat /boot/config |grep -i kvm 

et vérifiez également /etc/rc.d / rc.modules pour voir si le module kvm est configuré pour être chargé au démarrage.

Arch

Le wiki Arch Linux est un bon guide pour tout ce qui concerne KVM. Comme Arch, comme Slackware, est une distribution DYI, vous devrez peut-être prendre quelques mesures supplémentaires pour commencer à utiliser KVM. L’installation est aussi simple que

 # pacman -S qemu-kvm 

Les mêmes étapes sont à suivre ici que sur une machine Slackware : ajoutez votre utilisateur, vérifiez que votre CPU prend en charge la virtualisation et que KVM est activé dans votre noyau.

VirtualBox

Fedora

Le site VirtualBox propose un fichier de dépôt à ajouter dans /etc/yum.repos.d / puis effectuez un

 # yum update

pour informer yum de votre nouveau dépôt et l’indexer. Ensuite, effectuez un

 # yum install VirtualBox-4.0 dkms gcc
 # /etc/init.d/vboxdrv setup 
 # usermod -G vboxusers -a username 

et vous devriez être prêt.

Debian

Nous ne voulons pas prendre parti ici, mais il semble que la documentation de Debian soit meilleure et plus complète. Pour installer, tapez simplement

 # apt-get install linux-headers-$version virtualbox-ose 

qui installera tous les paquets nécessaires, compilera le module du noyau pour vous et le configurera pour qu’il se charge au démarrage.

Slackware

SlackBuilds.org a une entrée VirtualBox (l’édition Open Source, qui est la seule dont nous parlerons ici). Pour un HOWTO sur l’utilisation de slackbuilds, allez ici. Des informations supplémentaires peuvent être trouvées sur linuxquestions.org, des informations que vous pourriez trouver utiles surtout si vous êtes sur une machine 64 bits Slackware 13.37. N’oubliez pas de lire le README du slackbuild et ça devrait aller.

Arch

La documentation d’Arch est utile et complète, à égalité avec celle de Debian, vous ne devriez donc avoir aucun problème à trouver les informations dont vous avez besoin. Tout ce que vous devez faire au niveau de l’installation est

 # pacman -S virtualbox qt 

et vous êtes prêt. Vous aurez besoin de Qt pour l’interface graphique, si vous avez juste besoin de CLI, ne l’installez pas.Le reste des étapes de configuration ressemblent à celles de Fedora, utilisez donc la documentation pour pouvoir commencer.

ABONNEZ-vous à LA NEWSLETTER & RSS
Abonnez-vous au RSS et à la NEWSLETTER et recevez les dernières actualités Linux, offres d’emploi, conseils de carrière et tutoriels.

Utilisation

Comme vous l’avez peut-être remarqué, nous sommes contre la copie aveugle d’une page de manuel et d’essayer de remplacer ledit manuel. Nous décrirons les options générales et habituelles et les indicateurs de ligne de commande (oui, nous recommandons l’utilisation de CLI lorsque vous travaillez avec KVM et GUI lorsque vous travaillez avec VirtualBox), mais la lecture de la page de manuel est essentielle, surtout lorsqu’il s’agit d’un logiciel un peu complexe comme celui-ci.

Stockage

Nous vous recommandons de créer un répertoire séparé dans lequel vous stockerez les images du disque virtuel et un autre répertoire séparé contenant les fichiers ISO utilisés pour l’installation. En fin de compte, vous seul savez le mieux comment organiser vos fichiers, mais cette configuration, nous pensons, vous facilitera la vie. Par exemple, disons que nous voulons installer Fedora. Nous avons remarqué lors de l’utilisation de KVM une bande passante un peu plus petite que celle disponible auprès de notre FAI, un problème que VirtualBox ne semble pas avoir. Donc, nous installons à partir d’un DVD :

 $ cd ~ && mkdir iso && cd iso/ 
 $ wget -c ftp://ftp.heanet.ie/mirrors/fedora/linux/releases/15/Fedora/\x86_64/iso/Fedora-15-x86_64-DVD.iso 

Bien sûr, si vous préférez curl, kget ou un autre gestionnaire de téléchargement, utilisez-le. Il en va de même pour le miroir: utilisez-en un près de chez vous pour un téléchargement plus rapide. Maintenant, pour configurer notre environnement de disque (s) virtuel(s) :

 $ cd ~ && mkdir kvmhdd && cd kvmhdd 
 $ kvm-img create fedora15.img 15G 

Avant d’aller plus loin, nous vous recommandons d’exécuter kvm-img sans arguments pour voir ses principales options et formats de disque. Ce que fait la deuxième ligne ci-dessus: elle crée un fichier de disque virtuel (format img) nommé fedora15 et d’une taille de 15 gigaoctets.

Installation

Maintenant, nous sommes prêts à commencer l’installation de Fedora 15 sur notre disque nouvellement créé :

 $ kvm -m 768 -boot d -cdrom ~/iso/Fedora-15-x86_64-DVD.iso -hda fedora15.img & 

Ce que nous venons de faire : – m représente la taille en mégaoctets de mémoire allouée, – boot indique à kvm le périphérique de démarrage principal (pensez aux lettres de lecteur Windows), – le cdrom est évident, – hda est le premier disque dur (vous pouvez utiliser plus d’un disque, si vous avez l’espace, avec -hdb étant le deuxième disque, et ainsi de suite), et nous avons utilisé l’esperluette à la fin de la ligne de commande pour reprendre le contrôle du terminal. Ctrl + Alt donnera / prendra le contrôle de / vers la machine virtuelle en termes de capture de la souris.

Utilisation de la machine virtuelle

 $ kvm -m 768 -boot c -hda fedora15.img & 

Suggestion: créez un fichier dans le kvmhdd (ou le nom que vous avez choisi pour le répertoire de travail) nommé fedora15.sh cela contiendra la ligne ci-dessus, la rendra exécutable et, lorsque vous en aurez besoin, exécutez-la simplement :

 $ cd ~/kvmhdd && echo "kvm -m 768 -boot c -hda fedora15.img &" > fedora15.sh && \
chmod +x fedora15.sh && ./fedora15.sh

C’est à peu près tout. Si vous avez besoin de plus d’options, reportez-vous à la page de manuel kvm car elle est bien écrite et vous aidera à coup sûr.

VirtualBox

Création d’une machine virtuelle

L’interface graphique de VirtualBox adopte l’approche de l’assistant afin de vous aider à créer une nouvelle machine virtuelle et nous voyons l’interface comme un logiciel assez intelligent. Appuyez sur Ctrl + N pour créer une nouvelle machine virtuelle, puis entrez le nom que vous souhaitez lui donner (utilisez quelque chose de suggestif, comme « Fedora15x86_64 ». Sur la base de cette dénomination, VirtualBox déterminera automatiquement le type de système que vous souhaitez configurer et s’ajustera automatiquement.

Ensuite, choisissez la quantité de mémoire que vous souhaitez que Fedora dispose, et VirtualBox essaie de suggérer une valeur en fonction du système d’exploitation et de l’architecture. Nous vous recommandons de ne pas descendre beaucoup plus bas, car votre machine virtuelle pourrait se figer à cause de problèmes de mémoire insuffisante (au fait, Anaconda refusera de démarrer l’installation en mode graphique avec moins de 768 Mo). Ensuite, créez le disque dur et entrez sa taille (la recommandation liée aux suggestions s’applique également ici), en l’allouant dynamiquement (pas un gros problème si vous ne le faites pas, juste que nous avons trouvé cette méthode un peu plus rapide en termes d’E / S) et vous êtes prêt. Dans la fenêtre principale de VirtualBox, vous verrez votre nouvelle machine virtuelle répertoriée et à droite, ses paramètres. Changez-les comme bon vous semble et faites attention à démarrer à partir d’un DVD. De plus, si vous avez plusieurs cœurs et que vous souhaitez les utiliser, la section Système est l’endroit où aller.

Exécution d’une machine virtuelle

Après l’installation, arrêtez la machine virtuelle et modifiez l’ordre de démarrage pour pouvoir démarrer à partir du disque dur, puis commencez par un clic droit sur l’entrée à gauche et, bien sûr, « Démarrer ». Si tout va bien, vous allez maintenant démarrer Fedora 15 dans un environnement VirtualBox. Nous avons dit plus tôt que le système d’exploitation invité sur KVM et VBOX n’a pas besoin de modifications. Bien que nous ayons raison, l’expérience des invités peut être améliorée dans VirtualBox avec des éléments tels que la vue en plein écran ou les dossiers partagés en installant les ajouts d’invités VirtualBox. Il s’agit essentiellement d’un module noyau et de quelques pilotes Xorg pour l’invité, que vous pouvez installer sur votre nouveau Fedora en suivant les étapes suivantes :

 # yum update kernel && yum install kernel-devel kernel-headers dkms gcc gcc-c++ 

Redémarrez la machine virtuelle après l’installation, puis allez dans le menu Périphériques, sélectionnez « Installer les ajouts Invités », qui montera l’image ISO des ajouts Invités existants sur l’invité (on / media), et, en tant que root, faites simplement

 # cd /media/VBOXADD$version && sh ./VBoxLinuxAdditions.run 

Ensuite, redémarrez à nouveau et vous aurez des fonctionnalités avancées de VirtualBox à votre disposition.

Conclusion

Lorsqu’il s’agit de choisir des solutions de virtualisation, comme c’est le cas pour les éditeurs, les environnements de bureau ou même les systèmes d’exploitation, chacun a une opinion personnelle basée sur l’expérience, la lecture et ce que ses amis utilisent. C’est notre expérience, et nous vous invitons à expérimenter et à peaufiner jusqu’à ce que vous trouviez le meilleur chemin à suivre. Il existe bien sûr d’autres logiciels de virtualisation, mais l’espace limité ne nous permettrait pas d’écrire sur tous. Ce sont les solutions les plus appropriées pour un utilisateur domestique (Open Source, c’est-à-dire), mais cela ne signifie pas qu’elles ne sont pas non plus utilisées au niveau de l’entreprise. Nous espérons juste que cela vous aidera à commencer.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.