6 technologies de virtualisation open source à connaître en 2020

Virtualization Tools, plus connu sous le nom de Virt Tools, est une collection de six outils de virtualisation open source créés par divers contributeurs pour rendre le monde de la virtualisation meilleur.

Certains de ces outils, comme KVM et QEMU, pourraient être familiers aux amateurs de Linux, mais des outils comme libvirt et libguestfs le sont probablement moins.

Au cas où vous préférez apprendre en regardant des vidéos plutôt qu’en lisant, j’ai créé une version vidéo de cet article, à laquelle vous pouvez accéder sur YouTube.

Avant de parcourir les outils, il est bon de connaître la terminologie essentielle de la virtualisation. J’ai dérivé beaucoup de ces définitions de Wikipédia, avec des pages liées dans le tableau.

Terme Définition
Virtualisation En informatique, la virtualisation fait référence à l’acte de créer une version virtuelle (plutôt que physique) de quelque chose, y compris des plates-formes matérielles informatiques, des périphériques de stockage et des ressources de réseau informatique virtuels.
Emulateur Un émulateur est un matériel ou un logiciel qui permet à un système informatique (appelé hôte) de se comporter comme un autre système informatique (appelé invité).
Machine virtuelle (VM) Aussi appelée « machine invitée », ce sont des émulations d’ordinateurs matériels réels et physiques.
Hôtes Dans la virtualisation matérielle, un ordinateur sur lequel un hyperviseur exécute une ou plusieurs VM.
Hyperviseur C’est un logiciel, un micrologiciel ou un matériel informatique qui crée et exécute une VM.
Kernel C’est un programme informatique au cœur du système d’exploitation d’un ordinateur avec un contrôle complet sur tout ce qui se trouve dans le système.
Daemon C’est un programme informatique qui s’exécute en tant que processus d’arrière-plan, plutôt que sous le contrôle direct d’un utilisateur interactif.

Ce tableau résume chaque outil Virt, y compris les informations de licence et les liens vers le site Web et le code source de chaque outil. La plupart de ces informations proviennent du site Web de Virt Tools et du site de chaque outil.

Nom Ce que c’est Licence Code source
Machine virtuelle à base de noyau (KVM).based Virtual Machine (KVM) Module de virtualisation dans le noyau Linux qui permet au noyau de fonctionner comme un hyperviseur GNU GPL ou LGPL Code source
Quick. Emulator (QEMU) Un émulateur de machine et un virtualiseur génériques et open source GPLv2 Code source
Libvirt Une bibliothèque et un démon fournissant une stable, stable et open source pour la gestion des hôtes de virtualisation GNU Code source
Libguestfs Un ensemble d’outils pour accéder et modifier les images disques des VM LGPL, GPL Code source
Virt-manager Une interface utilisateur de bureau pour gérer les VM via libvirt GPLv2+ Code source
Libosinfo Fournit une base de données de informations sur les versions des systèmes d’exploitation pour aider à configurer le matériel de manière optimale lors du déploiement de VM LGPLv2+ Code source

Kernel-(KVM)

2_kvm.jpg

Site web de KVM

(Bryant Son, CC BY-SA 4.0)

KVM est une solution de virtualisation complète pour Linux sur du matériel contenant des extensions de virtualisation. KVM fournit la virtualisation matérielle pour une grande variété de systèmes d’exploitation invités, notamment Linux, Windows, macOS, ReactOS et Haiku. Grâce à KVM, vous pouvez exécuter plusieurs VM sur des images Linux ou Windows non modifiées. Chaque VM possède un matériel virtualisé privé : une carte réseau, un disque, un adaptateur graphique, etc.

La plupart du temps, vous n’interagirez pas directement avec KVM. Au lieu de cela, vous devez utiliser QEMU, virt-manager, ou un autre outil de gestion de la virtualisation pour tirer parti de KVM.

Vous pouvez trouver une documentation complète sur le site Web de KVM, ainsi qu’accéder à son code source.

Quick Emulator (QEMU)

3_qemu.jpg

Site web de QEMU

(Bryant Son, CC BY-SA 4.0)

QEMU est un émulateur et un virtualiseur de machine générique et open source. Lorsqu’il est utilisé comme émulateur, QEMU peut exécuter des systèmes d’exploitation et des programmes faits pour une machine (par exemple, une carte ARM) sur une autre machine (par exemple, votre propre PC x86_64). Lorsqu’il est utilisé comme virtualiseur, QEMU atteint des performances quasi-natives en exécutant le code invité directement sur le CPU hôte à l’aide de KVM.

QEMU est pris en charge par plusieurs systèmes d’exploitation, et son processus d’installation est aussi simple que l’exécution de quelques commandes simples ; ici, vous pouvez voir comment installer QEMU sur macOS avec Homebrew.

3_1_qemuinstall.jpg

Info d'installation de QEMU sur macOS

(Bryant Son, CC BY-SA 4.0)

Après l’installation, apprenez à l’utiliser en lisant sa documentation, et vous pouvez également accéder à son code source.

Libvirt

4_libvirt.jpg

Site web de Libvirt

(Bryant Son, CC BY-SA 4.0)

Libvirt est une bibliothèque et un démon qui fournit une API open source stable pour gérer les hôtes de virtualisation. Il cible plusieurs hyperviseurs, notamment QEMU, KVM, LXC, Xen, OpenVZ, VMWare ESX, VirtualBox, et plus encore.

Une autre chose intéressante à propos de libvirt est que KubeVirt, un projet open source pour créer et gérer des VM à l’intérieur de la plateforme Kubernetes, utilise largement Libvirt. (Je couvrirai KubeVirt dans un prochain article.) Libvirt est un projet intéressant à explorer, et vous pouvez trouver une pléthore d’informations sur son site officiel ainsi que télécharger son code source.

Libguestfs

5_libguestfs.jpg

Site web de Libguestfs

(Bryant Son, CC BY-SA 4.0)

Libguestfs est un ensemble d’outils permettant d’accéder et de modifier des images de disques VM. Vous pouvez l’utiliser pour visualiser et modifier des fichiers à l’intérieur des invités ; pour écrire des scripts de modification des VM ; pour surveiller les statistiques de disque utilisé/libre ; pour créer des invités, des machines physiques vers virtuelles (P2V) ou virtuelles vers virtuelles (V2V) ; pour effectuer des sauvegardes ; pour cloner des VM ; pour construire des VM ; pour formater des disques ; pour redimensionner des disques ; et bien plus encore. Je l’ai utilisé récemment en travaillant sur un projet basé sur KubeVirt appelé OpenShift Virtualization, sur lequel vous pouvez en apprendre davantage dans mon tutoriel vidéo.

Le site officiel de Libguestfs contient une documentation complète sur la façon d’utiliser chaque commande, et vous pouvez également télécharger son code source sur GitHub.

Virt-manager

6_virtualmanager.jpg

Site web de Virt-manager

(Bryant Son, CC BY-SA 4.0)

Virt-manager est une interface utilisateur de bureau pour gérer les VM via libvirt. Elle cible principalement les VMs KVM mais gère également Xen et LXC. Il inclut également l’outil de provisionnement en ligne de commande virt-install. Considérez virt-manager comme un outil de gestion facile à utiliser pour vos VM. Par exemple, vous pouvez utiliser virt-manager pour exécuter un environnement Microsoft Windows sur un poste de travail Linux ou vice versa.

Le code source de virt-manager est disponible sur GitHub et la documentation se trouve sur son site Web. Pour le moment, virt-manager n’est disponible que pour les plateformes Linux.

Libosinfo

7_libosinfo.jpg

Site web de Libosinfo

(Bryant Son, CC BY-SA 4.0)

Libosinfo fournit une base de données d’informations sur les versions des systèmes d’exploitation pour aider à la configuration du matériel lors du déploiement des VM. Elle inclut une bibliothèque C pour interroger les informations de la base de données, qui est également accessible depuis n’importe quel langage supporté par l’introspection GObject. Comme vous pouvez le deviner, libosinfo est plus un bloc de construction pour activer les fonctionnalités d’un système d’exploitation – mais un bloc assez important.

Le code source de libosinfo est disponible sur GitLab, et sa documentation peut être trouvée sur son site web.

Conclusion

.

Laisser un commentaire

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