Table of Contents

QEMU/KVM: Mise en oeuvre d'un Hyperviseur sous Centos

:

KVM (Kernel-based Virtual Machine) est un hyperviseur libre de type I pour Linux. KVM est intégré dans le noyau Linux depuis la version 2.6.201.

Il fonctionne originellement sur les processeurs à architectures x86 disposant des instructions de Virtualisation Intel VT ou AMD-V.

libvirt est une bibliothèque, une API, un daemon et des outils en logiciel libre de gestion de la virtualisation utilisée par KVM

WebVirtMgr ce présente sous la forme d'une interface web développée en bootstrap. Elle utilise l'API libvirt pour la gestion du ou des hyperviseurs, des réseaux, des interfaces, des stockages et des VMs. L'accès aux VMs ce fait via une console en VNC (novnc) ou html5 “spice”.

OpenvSwitch, ou OVS, est un logiciel de commutation virtuelle utilisé principalement pour les environnements de machines virtuelles de machines virtuelles en tant que commutateur virtuel.

OpenvSwitch est principalement composé de :
- Ovs-vswitchd: démon, implémente la commutation et implémente des flux d'échange basés sur des flux basés sur des modules compatibles avec le noyau Linux Commutation.
- Ovsdb-server: service de base de données léger, qui enregistre principalement les informations de configuration de l'ensemble du système OVS, y compris l'interface, le contenu d'échange, le réseau local virtuel (Ovs-vswitchd fonctionne en fonction des informations de configuration de la base de données.)
- Ovs-dpctl: Un outil pour configurer le module du noyau du commutateur afin de contrôler les règles de transmission.
- Ovs-vsctl: principalement pour obtenir ou modifier les informations de configuration d'ovs-vswitchd, cet outil mettra à jour le numéro dans ovsdb-server.
- Ovs-appctl: principalement pour envoyer des commandes au démon OVS, généralement pas utilisé.
- Ovsdbmonitor: outil graphique permettant d’afficher des informations sur les données dans ovsdb-server.
- Ovs-controller: un simple contrôleur OpenFlow
- Ovs-ofctl: utilisé pour contrôler le contenu de la table de flux lorsque OVS fonctionne comme un commutateur OpenFlow.

Virualisation

Un hyperviseur de type 2 est un logiciel qui s’installe et s’exécute sur un système d’exploitation déjà en place. De ce fait, plus de ressources sont utilisées étant donné qu’on fait tourner l’hyperviseur et le système d’exploitation qui le supporte, il y a donc moins de ressources disponible pour les machines virtuelles. L’intérêt qu’on peut trouver c’est le fait de pouvoir exécuter plusieurs hyperviseurs simultanément vu qu’ils ne sont pas liés à la couche matérielle.

QEMU est une solution d'émulation complète dite « hyperviseur de type 2 ». Le matériel vu par le système d'exploitation invité est émulé, et le processeur lui-même peut être émulé.

Host User space | Qemu Guest Host Kernel Space Harware

Hyperviseur de Type 1

Un hyperviseur de type 1 est un système qui s’installe directement sur la couche matérielle du serveur. Ces systèmes sont allégés de manière à se « concentrer » sur la gestion des systèmes d’exploitation invités c'est-à-dire ceux utilisés par les machines virtuelles qu’ils contiennent. Ceci permet de libérer le plus de ressources possible pour les machines virtuelles. Toutefois, il est possible d’exécuter uniquement un hyperviseur à la fois sur un serveur.

KVM convertit Linux en un hyperviseur de type 1 (système nu). Pour exécuter des machines virtuelles, tous les hyperviseurs ont besoin de certains composants au niveau du système d'exploitation : gestionnaire de mémoire, planificateur de processus, pile d'entrées/sorties (E/S), pilotes de périphériques, gestionnaire de la sécurité, pile réseau, etc. La technologie KVM comprend tous ces composants, car elle est intégrée au noyau Linux. Chaque machine virtuelle est mise en œuvre en tant que processus Linux standard. Elle est gérée par le planificateur Linux standard et dispose de matériel de virtualisation dédié (carte réseau, carte graphique, un ou plusieurs processeurs, mémoire, disques).

Linux User space Webbvirtmgr Libvirt ovsdb-server ovs-vswitchd libvirtd Linux Kernel Space port port | | KVM vhost-net Kernel Drivers Guest virtual drivers ovs kernel fwd panel Harware | | |

WebVirtMgr

WebVirtMgr est une interface Web basée sur libvirt pour la gestion des machines virtuelles. Il permet de créer et de configurer de nouveaux domaines, et d'ajuster l'allocation des ressources d'un domaine. Une visionneuse VNC sur un tunnel SSH présente une console graphique complet du domaine invité. KVM est actuellement le seul hyperviseur pris en charge

Open vSwitch

OpenvSwitch est un logiciel de switch virtuel conçu pour relier entre elles des machines virtuelles tel que le ferait un switch physique entre plusieurs machine.

Open vSwitch permet de créer autant de bridge que l'on veut et autant de VLAN sur chaque bridge. Cette aspect permet de facilement isoler chaque client en lui attribuant un bridge dédié, on évite ainsi les problèmes de hack ou de fort trafic généré par le rejet de paquets marqués.

Prérequis de l'installation