Vous êtes sur la page 1sur 22

OPTIMISATION DE LA DISPONIBILITE DES MACHINES VIRTUELLES SUR XENSERVER

I. LA VIRTUALISATION
GENERALITE

Depuis quelques années, le terme virtualisation est un sujet de discussion dans le domaine
de l’informatique et des entreprises. Beaucoup de projets des entreprises informatique se
tendent vers la virtualisation.

HISTORIQUE DE LA VIRTUALISATION

Historiquement une grande partie des travaux de recherche ont été fait par IBM dans les
années 1960 au centre de recherche de Grenoble aujourd’hui fermé. Ils développèrent un
système expérimental faisant partie du projet System/360 appelé VM/CMS (Virtual
Machine / Console Monitor System). CMS est le système d’utilisation qui s’appuie sur
VM. Une caractéristique de ce premier système de virtualisation était le fait que chaque
CMS était attribué à un seul utilisateur, sachant que plusieurs CMS fonctionnaient sur la
VM. Nous pouvons faire une analogie par rapport à la terminologie actuelle entre VM et
hyperviseur ainsi qu’entre CMS et environnement logiciel invité.

Le System /360 était déjà capable de gérer de la virtualisation récursive. La finalité de ce


produit d’IBM était de pouvoir consolider les postes de travail liés. La dernière
implémentation par IBM de VM est z/VM qui fonctionnait sur les zSeries.

Entre la fin des années 80 et le milieu des années 90 Commodore International


commercialise l’Amiga qui est ordinateur personnel très populaire à l’époque. Il était aussi
bien capable de lancer de lancer des pc X386, des Macintoshs 6800 et des solutions X11 en
multitâches.

Suite à l’Amiga, on trouve des systèmes Unix basés sur l’architecture NUMA, qui est une
architecture mémoire de systèmes multiprocesseurs. Cette architecture consiste à
cloisonner et partitionner la mémoire, les accès se faisant via de multiples bus, un par
processeur.

En 1999, VMware proposa un système propriétaire de virtualisation de systèmes x86 à


base de systèmes hôtes x86. D’autres projets libres ont suivi VMware, tels que QEMU,
Xen, Bochs, kvm, VirtualBox ainsi que des logiciels gratuits mais propriétaires tels que
VirtualPC, VMware Server, Virtual Server.
OPTIMISATION DE LA DISPONIBILITE DES MACHINES VIRTUELLES SUR XENSERVER

Dans les années 2000, afin d’améliorer les capacités des solutions de virtualisation. Enfin
dans l’année 2000, les fabricants de processeurs Intel et AMD ont implémenté des
fonctions de virtualisation dans leurs processeurs permettant la prise en charge de systèmes
d’exploitation non modifiés plus efficacement.

I.1 Caractéristiques
La définition "formelle" de la virtualisation fait référence à l’abstraction physique des
ressources informatiques. En d’autres termes, les ressources physiques allouées à une
machine virtuelle sont abstraites à partir de leurs équivalents physiques. Les disques
virtuels, interfaces réseau virtuelles, réseaux locaux virtuels, commutateurs virtuels,
processeurs virtuels et la mémoire virtuelle correspondent tous à des ressources physiques
sur des systèmes informatiques physiques. L’ordinateur hôte "voit" ses machines virtuelles
comme des applications auxquelles il dédie ou distribue ses ressources. (Source :
Introduction à la virtualisation et choix technologiques)

La virtualisation est le processus qui joue le rôle de faire fonctionner plusieurs systèmes,
serveurs et applications, sur un même serveur physique.

Une autre définition de la virtualisation est définie dans la bibliothèque informatique disant
que c’est l’ensemble des techniques matérielles et ou logiciels qui permettent de faire
fonctionner sur une seule machine plusieurs systèmes d’exploitation et ou plusieurs
applications, séparément les uns des autres, comme s’ils fonctionnaient sur des machines
physiques distinctes.

I.2 LES DIFFERENTS TYPES DE LA VIRTUALISATION


Quand on parle de virtualisation, nous faisons toujours référence aux termes suivants :

-La virtualisation de serveur

-La virtualisation d’application

-La virtualisation de postes de travails

-La virtualisation de stockage

-La virtualisation du réseau


OPTIMISATION DE LA DISPONIBILITE DES MACHINES VIRTUELLES SUR XENSERVER

I.2

I.3

La virtualisation de serveur :
La virtualisation de serveur sert à masquer les ressources du serveur. Cela consiste à
diviser un serveur physique en plusieurs environnements virtuels isolés et indépendants.

On peut appeler les environnements virtuels de plusieurs façons selon les technologies
utilisées mais les plus connus sont serveurs privés virtuels, hôtes, containeurs, émulations
ou encore instances.

La virtualisation d’application :
C’est une technologie logicielle qui permettra l’amélioration de la portabilité et la
compatibilité des applications en les isolants du système d’exploitation sur lequel elles sont
exécutées. La virtualisation d’application nécessite l’ajout d’une couche logicielle
supplémentaire entre un programme donné et le système d’exploitation. Le but de la
couche logicielle est d’intercepter les opérations d’accès ou de modification de fichier.

La virtualisation des postes de travail :


Grâce à la virtualisation des postes de travail les administrateurs systèmes et réseaux
peuvent gérer facilement les postes de travail et de répondre avec docilité aux requêtes des
utilisateurs.

Un poste de travail virtualisé peut être concentré soit directement sur l’ordinateur de
l’utilisateur soit sur un serveur dans le centre de données. La virtualisation des postes de
travail permet la mobilité des employés avec la disponibilité des ressources.
OPTIMISATION DE LA DISPONIBILITE DES MACHINES VIRTUELLES SUR XENSERVER

Figure I-1 : Interaction avec un poste de travail virtuel (Source : VMware View)

La virtualisation de stockage :
La virtualisation des stockages facilite la meilleure exploitation des ressources, et des
disques durs. C’est un procédé qui séparera la représentation logique et la réalité physique
de l’espace de stockage. Le but de la virtualisation de stockage est de faire abstraction des
périphériques de stockage utilisés et des interfaces qui leur sont associées (SATA, SCSI…)
pour limiter l’impact des modifications structurelles de l’architecture de stockage.

Elle fait appel à une application d’administration de volume logique (LVM, Logico Volume
Manager). La LVM est une couche logicielle qui sert à regrouper plusieurs espaces de
stockage (volumes physiques) pour créer une partition virtuelle (volumes logiques).

La virtualisation de stockage permet de regrouper des unités de disques durs de différentes


vitesses, de différentes tailles et de différents constructeurs et d’adjoindre un périphérique
de stockage supplémentaire sans interruption de service.
OPTIMISATION DE LA DISPONIBILITE DES MACHINES VIRTUELLES SUR XENSERVER

Figure I-2 : Symétrique ou In-Band (Source : Bonnes pratiques, planification et dimensionnement des
infrastructures de stockage et de serveur en environnement virtuel de Cédric Georgeot)

La virtualisation de réseau
Le principe de la virtualisation des réseaux est de partager une même infrastructure
physique au profit de plusieurs réseaux virtuels isolés. VLAN (Virtual Local Area
Network) est un réseau local regroupant un ensemble de machines de façon logique et non
physique. La création et la configuration sont réalisées de manière logicielle mais non
matérielle. Elle consiste améliore la gestion du réseau en apportant plus de souplesse dans son
administration
OPTIMISATION DE LA DISPONIBILITE DES MACHINES VIRTUELLES SUR XENSERVER

Les avantages de la virtualisation


- Réduction des couts matériels
Tout nouveau système à implémenter nécessite de l’investissement. Le système
d’information est souvent perçu conne un centre de cout pour les dirigeants d’une
entreprise. L’investissement massive sur l’achat des serveurs de type x86 est l’un des
raisons des pertes d’une société. L’apparition des serveurs multi-cœur de type 64 bits avec
les avantages qui vont avec nécessite un énorme investissement en plus pour les
entreprises. L’utilisation de ce nouveau type de serveur avec le modèle traditionnel, c’est-
à-dire un seul système d’exploitation est un gaspillage de ressource et d’investissement.
Tandis que ce nouveau concept supporte plusieurs dizaines système d’exploitation. La
virtualisation permet d’installer plusieurs système d’exploitation sur le même serveur
physique. Donc la virtualisation permet d’éviter à acheter du matériel a chaque
déploiement d’un nouveau système.

En tenant compte du fait que chaque serveur doit être dédié à une application ou service
distincte. La mise en place d’un autre service ne nécessite pas l’arrêt du serveur physique.

Pour démontrer que la virtualisation diminue les couts d’investissements et réduit le


nombre de serveur physique, nous allons prendre exemple deux serveurs et les comparer.
OPTIMISATION DE LA DISPONIBILITE DES MACHINES VIRTUELLES SUR XENSERVER

Prenons un serveur rack doté d’un processeur double-cœur, comportant 2go de RAM et un
disque dur d’une taille de 80 go. Le serveur est doté d’une technologie RAID (Redundant
Arrays of Inexpensive Disks), le RAID est un technique permettant de repartir des données
sur plusieurs disques durs afin d’améliorer soit la tolérance aux pannes, soit la sécurité, soit
les performances de l’ensemble, ou une répartition de tout cela. Ce serveur vaut environ 4
000 000 d’Ariary.

De l’autre côté, prenons un serveur lame destiné a la virtualisation, doté de deux


processeurs quadruple-cœur, comportant 32 go de RAM, de trois disques dur de 400 Go
montées en RAID 5, pour un prix de 8 000 000 d’Ariary.

Les tableau ci-dessous nous montrent le comparatif des deux serveurs en incluant le prix,
la consommation électrique et le nombre de système d’exploitation selon le besoin.

Spécification Serveur physique destiné a Serveur physique simple


la virtualisation
Cout 8 000 000 Ariary 4 000 000 Ariary
Nombre de serveur 1 1
Consommation 1570 670
Electrique(Watts)
Nombre OS 1 1
Si on reprend même exemple mais avec 10 système d’exploitation, qui nécessite l’ajout de
9 serveurs supplémentaires pour le Serveur physique simple

Spécification Serveur physique destiné à Serveur physique simple


la virtualisation
Cout 8 000 000 Ariary 40 000 000 Ariary
Nombre de serveur 1 10
Consommation 1570 6700
Electrique(Watts)
Nombre OS 10 10
Si on compare les deux tableaux, pour la ligne cout, l’ajout supplémentaire de serveur
marque l’augmentation de l’investissement de l’entreprise a chaque mise en service d’un
autre serveur. Par contre l’ajout d’un serveur virtuel au sein du serveur dédié à cela ne
nécessite aucun investissement de plus.

De plus la consommation électrique lors des ajouts de nouveau serveur physique n’est
moindre par rapport à l’utilisation des machines virtuelles qui n’ont pas besoins
OPTIMISATION DE LA DISPONIBILITE DES MACHINES VIRTUELLES SUR XENSERVER

directement d’une alimentation physique directe. Cependant, la réduction du nombre de


machines physiques au sein d’une entreprise est possible par la virtualisation.

- Restauration en cas d’incident

Un gros avantage de la virtualisation est la possibilité de restaurer un système


d’exploitation fonctionnel rapidement dite aussi faible temps de reprise d’activité (RTO).
La virtualisation permet de faire des clichés d’instantanés (snapshots) ou des sauvegardes
complètes des machines virtuelles qui permettront au administrateur systèmes de gagner de
temps pour la restauration. L’installation d’un nouveau système s’avère plus long que la
restauration par copie directe de système fonctionnel d’une machine virtuelle, de plus
l’installation d’un nouveau système nécessite une mise à jour.
Une machine virtuelle est fiable car elle ne repose pas sur aucun matériel physique
susceptible de tomber en panne. La sauvegarde d’une VM sera toujours un point de
restauration stable et fiable pour le matériel physique sous-jacent. Ceci permettra d’éviter
une indisponibilité en cas de modification de la configuration matérielle d’un équipement.
- Tester des logiciels

La virtualisation donne également la possibilité de créer des environnements de tests


standardisés afin d’effectuer des tests de pénétration ou bien d’infection.
Après la mise en place d’une machine virtuelle fonctionnelle, il est nécessaire de faire une
copie de celle-ci via le Snapshot pour une restauration a l’état initial en cas de problème. Il
faut utiliser les copies du VM fonctionnelle pour faire les tests. Si des problèmes
apparaissent sur les VMs de teste en raison d’un conflit ou d’une application mal
construite, pouvant entrainer des écrans bleus, vidages de mémoire, des plantages ou
mêmes des redémarrages, on peut toujours supprimer la machine plantée si le problème
n’est pas résolu et mettre l’originale. De plus, la possibilité de mettre en pause une
machine virtuelle est intéressante afin de pouvoir étudier le comportement de code
malicieux par exemple.
- Gestion centralisé des serveurs

L’un des avantages de la virtualisation est la gestion centralisée des machines virtuelles.

Les produits de virtualisation ont un visualiseur centralisé pour gérer et afficher les VM à
partir d’une interface unique. L’interface est indépendante du système d’exploitation.
OPTIMISATION DE LA DISPONIBILITE DES MACHINES VIRTUELLES SUR XENSERVER

Des outils de monitoring sont présents sur l’outils de gestion pour les suivis en temps réels
de la consommation ou des performances des machines virtuelles même pour voir les
différents capacités d’espace de stockage disponible et beaucoup d’autres fonctionnalités.

- Déploiement simplifié et rapide des serveurs

L’utilisation d’un modèle de machines virtuelles pour être cloner est plus simple pour
mettre en service plusieurs serveurs avec des paramétrages différents. Prenons par exemple
la mise en place d’un serveur de base de donnée ORACLE qui diffère de ce que
l’entreprise a utilisé auparavant. Pour mettre en place ce service, plusieurs étapes doivent
être effectuer au sein de l’entreprise, du chef de projet passant aux administrateurs
systèmes et réseaux pour définir les spécifications nécessaires du serveur qui va héberger la
base de donnée. La définition des caractéristiques du serveur va prendre quelques jours.
Après la définition du serveur, il faut passer au passer aux gestionnaires des logistiques
pour l’emplacement du nouveau serveur puis enfin il faut valider le budget par le directeur
financier. Ce processus prendra plusieurs semaines avant la mise en place finale. Mais
grâce à la virtualisation, il nous suffit de copier un serveur fonctionnel standard et de
d’installer la base de donnée et paramétrer les services pour faire les tests avant la mise en
place. On peut faire cela pour toute nouvelle service a implémenter sans perdre de temps,
d’acquérir du matériel supplémentaire.

Dans le cadre d’une architecture classique, si une machine nécessite plus de mémoire vive
par exemple, il est nécessaire de prévoir un temps d’indisponibilité et le déplacement d’un
OPTIMISATION DE LA DISPONIBILITE DES MACHINES VIRTUELLES SUR XENSERVER

technicien sur site. La virtualisation va permettre d’augmenter les ressources physiques de


manière instantanée et sans manipulation de matériel ni déplacement de personnel. Il suffit
d’exécuter une commande afin de rajouter de la mémoire vive ou de l’espace disque.
Traditionnellement, ces augmentations se faisaient dans la mesure des ressources
physiques. Depuis quelques temps, il est possible d’attribuer plus de mémoire vive qu’il est
disponible dans la machine. La mémoire vive non utilisée par une machine virtuelle sera
ainsi attribuée à une autre.

La virtualisation va permettre de mutualiser les équipements physiques afin de supporter


plusieurs systèmes d’exploitation sur une même machine physique. Au lieu d’avoir une
machine physique pour chaque service, nous allons donc avoir un système d’exploitation
pour chaque service.

- Disponibilité des services

Les services seront toujours disponibles en tout temps même lors des maintenances grâce
aux migrations des VM.

- Réduction des charges financières

La diminution des nombres de serveurs physiques permet la réduction des factures


d’électricité et de climatisation dans les locaux.

- Optimisation de la gestion des matérielles obsolètes

La mise à jour de l’infrastructure est obligatoire en tant qu’administrateur système. Dans le


domaine des systèmes d’information, une constante évolution technique du matériel et des
logiciels ne sont pas à négliger. Même les constructeurs définissent la garantie offerte sur
leurs produits qui vaut de trois à cinq ans maximum. Pour les logiciels et applications
utilisateurs peuvent être développer pour fonctionner sur des plateformes récentes que
celles à disposition. De l’autre côté, une version non à jour, ne peut être installer sur des
systèmes d’exploitation récente. Donc la mise en place d’un ancien système d’exploitation
est obligatoire pour faire fonctionner l’application. Cependant, la migration de
l’application sur un environnement virtuel peut résoudre le problème car grâce à la
virtualisation, la mise en place d’un ancien OS est possible en étant à jour
technologiquement.
OPTIMISATION DE LA DISPONIBILITE DES MACHINES VIRTUELLES SUR XENSERVER

La virtualisation permet aussi de gérer l’obsolescence du matériel, si le système hôte


devient obsolète, les VMs ne le seront pas. L’ajout ou l’augmentation des ressources pour
les VMs sont indépendants du serveur physique sous-jacents. Les VMs pouvant être à jour
une fois que le serveur physique qui les hébergent sera à jour.

Le remplacement d’un serveur par un autre plus récent est totalement transparentes aux
niveaux utilisateurs. Les machines virtuelles peuvent migrer vers le nouveau matériel
même en cours de production.

Etant donné que la virtualisation exécute plusieurs systèmes d’exploitation sur une même
machine, il est primordial qu’elle assure un cloisonnement parfait. Une faille dans ce
dernier constituerait une faille de sécurité considérable. La virtualisation s’efforce d’arriver
à un cloisonnement proche du cloisonnement physique. Le cloisonnement dans le cadre de
la virtualisation reste cependant largement meilleur que dans le cas de plusieurs services
sur un même système d’exploitation.

Les différentes techniques de virtualisation


On peut définir plusieurs modèles de déploiement selon les utilisations et les besoins d’une
Entreprise. Ici, expliquons 3 techniques bien distinctes dont :

La virtualisation logicielle
OPTIMISATION DE LA DISPONIBILITE DES MACHINES VIRTUELLES SUR XENSERVER

Virtualisation totale
La virtualisation totale consiste à faire fonctionner un système d’exploitation comme un
simple logiciel. Ce procédé permet à plusieurs systèmes d’exploitation d’utiliser une même
machine physique par le biais d’un hyperviseur. Un Moniteur de machine virtuelle (VMM)
ou hyperviseur peut s’exécuter directement sur le matériel ou de manière logicielle au-
dessus du système d’exploitation d’une machine physique. Dans ce contexte, la machine
virtuelle invitée n’a pas conscience d’être virtuelle. Le VMM est le seul autorisé à accéder
à la couche matérielle. Ensuite, l’environnement matériel est émulé par ce même VMM. Le
seul qui a le pouvoir de démarrer une machine virtuel est le VMM.

Figure I-3 Virtualisation totale (Source : Les différents types de virtualisation : La virtualisation totale par
Antoine Benkemoun - http://www.antoinebenkemoun.fr/2009/07/les-differents-types-de-virtualisation-
la-virtualisation-totale)

La figure ci-dessus illustre le principe de virtualisation totale, il y a la couche materielle en


dessous, suivi du système d’exploitation. Par-dessus le système d’exploitation, il y a un
logiciel de virtualisation (par exemple, VirtualBox qui fait office de VMM).

Para virtualisation
Dans le concept de para virtualisation, il n’y a plus de notion de système d’exploitation
invité et de système d’exploitation hôte. Tous les systèmes d’exploitation sont virtualisés
dans le sens où ils disposent d’un noyau adapté à la couche de virtualisation. Après la
couche matérielle, c’est directement l’hyperviseur qui est au-dessus, et enfin les systèmes
seront installés dessus.
OPTIMISATION DE LA DISPONIBILITE DES MACHINES VIRTUELLES SUR XENSERVER

La para virtualisation permet à une machine virtuelle d’utiliser des ressources physiques.
L’architecture virtuelle exposée est légèrement différente de l’architecture physique sous-
jacente. Cette différence empêche la compatibilité entre les pilotes des systèmes
d’exploitation et la virtualisation de l’architecture physique. Il est donc nécessaire de
modifier le code du système d’exploitation pour rétablir cette compatibilité, ce désavantage
est le principal handicap de la para virtualisation. Pour autant, la para virtualisation permet
une plus grande liberté dans l’implémentation des interactions entre le système
d’exploitation et l’architecture virtuelle. La para virtualisation est utilisée depuis longtemps
dans des hyperviseurs tels que VM/370 et Disco. Pour cela, ils utilisaient une combinaison
d’instructions, de registres et de périphériques vers des architectures virtuelles afin d’en
améliorer les performances. Ces systèmes avaient pour objectif d’exécuter des systèmes
d’exploitation inadaptés aux nouvelles architectures. (CAPRA 2015)

Figure I-4 : Paravirtualisation basée sur l’existence d’un hyperviseur (Source : La paravirtualisation par
Antoine Benkemoun - http://www.antoinebenkemoun.fr/2009/08/la-paravirtualisation)

En général, para virtualisation permet d’améliorer les performances globales de la machine


virtuelle, elle permet d’obtenir des performances proches d’un vrai système d’exploitation
natif.

La virtualisation au niveau noyau

Cette technique consiste en la mise en œuvre d’un noyau (généralement Linux) compilé de
telle sorte qu’il puisse être utilisé dans le niveau de privilège correspondant à l’utilisateur
(s’agissant dès lors d’un noyau invité). Cette technique permet donc de bénéficier de
plusieurs machines virtuelles invitées, appelées généralement système de fichiers racine
sur un hôte unique.
OPTIMISATION DE LA DISPONIBILITE DES MACHINES VIRTUELLES SUR XENSERVER

La virtualisation assistée par le support matériel

Les extensions matérielles pour machine virtuelle sont fournies sur les processeurs Intel
(Intel Virtualization Technology (Intel VT)) et AMD (AMD-V). Ces extensions permettent
de supporter deux types de logiciels : l’hyperviseur qui se comporte comme un hôte réel et
qui a le contrôle complet du processeur et des autres parties matérielles, et le système
invité qui est exécuté dans une machine virtuelle (VM). Chacune des machines virtuelles
s’exécute indépendamment des autres et utilise la même interface pour le processeur, la
mémoire et autres périphériques fournis par la plateforme physique. Ces extensions
améliorent les performances des applications lancées au sein d’une machine virtuelle.

VIRTUALISATION DES SYSTEMES D ’EXPLOITATION

Hyperviseur :
Un hyperviseur est une plate-forme de virtualisation qui permet à plusieurs systèmes
d'exploitation de travailler sur une même machine physique en même temps également
appelé VMM. Il est souvent utilisé par abus pour qualifier une technique de virtualisation
en soi, s’agissant en particulier de la para virtualisation

On peut classifier les hyperviseurs en deux types.

- Hyperviseur de type 1 ou natif

Un hyperviseur de « type 1 » est un hyperviseur s'exécutant directement sur la


plateforme matérielle, également qualifié de bare metal, comme dans le cas de la
para virtualisation. 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. Parmi les hyperviseurs de type
1 on trouve des systèmes comme XenServer, VMware ESX/ESX(i), Microsoft
Hyper-V, Red Hat Entreprise Virtualisation et Proxmox.
OPTIMISATION DE LA DISPONIBILITE DES MACHINES VIRTUELLES SUR XENSERVER

Figure I-5 Hyperviseur de type I(B. 2020)

- Xen : est une solution libre de virtualisation. Il est de type hyperviseur, c'est à
dire qu'il vient s'insérer entre le matériel et le noyau. Xen est considéré comme une
solution à base de para virtualisation.

Xen est un hyperviseur open source « bare metal », aussi appelé hyperviseur de «
type 1 ». Le code de Xen est exécuté juste au-dessus du matériel, avec un niveau de
privilèges d’accès aux ressources système (CPU, IO, RAM) maximal. Xen
implémente certaines fonctions qu’on retrouve dans tous les OS : un ordonnanceur,
un gestionnaire d’interruptions, quelques drivers, etc. Les facilités d’administration
de l’hyperviseur sont accessibles à travers une machine virtuelle spécialement
privilégiée et instanciée tout de suite après le démarrage de l’hyperviseur. Cette
machine virtuelle appelée « domain 0 » est un système d’exploitation complet (au
OPTIMISATION DE LA DISPONIBILITE DES MACHINES VIRTUELLES SUR XENSERVER

choix Linux, BSD, Solaris, etc.) dont le noyau est modifié pour communiquer avec
l’hyperviseur sous-jacent. Le dom0 contrôle (démarre, arrête, surveille) les autres
machines virtuelles non privilégiées (appelées « User domain » ou domU). Les
domU peuvent être para virtualisés ou matériellement virtualisés. La
paravirtualisation implique une modification du système d’exploitation invité afin
de coopérer avec l’hyperviseur pour l’accès aux ressources physiques. Les
opérations d’entrée/sortie sont principalement réalisées par le dom0 qui effectue les
opérations d’E/S à la place de la machine virtuelle. La virtualisation matérielle ne
nécessite pas de modifications de l’OS invité, car le CPU, au travers d’un jeu
d’instructions spéciales (Intel VT-d ou AMD-V), fait croire au système invité qu’il
a un accès direct au matériel. Cependant, cela entraîne un surcoût de
fonctionnement, car certaines demandes d’accès aux ressources physiques effectués
par la VM doivent être interceptées pour vérifier qu’elles n’affectent pas les autres
VM.

- VMware : est une société qui offre des produits propriétaires liés à la
virtualisation d'architectures x86. Il existe plusieurs produits, VMware vSphere est
de type virtualisation complète pour serveur sous GNU/Linux et Microsoft
Windows.

VMware vSphere est la plate-forme de virtualisation leader pour la création


d’infrastructures de Cloud Computing. Elle permet aux utilisateurs d’exécuter leurs
applications métier stratégiques en toute sécurité et de répondre plus rapidement
aux besoins de l’activité. VSphere accélère la transition vers le Cloud Computing
pour les Datacenter existants, et sous-tend les offres de Cloud public compatibles,
servant de base à l’unique modèle de Cloud hybride du secteur. Avec plus de 250
000 clients à travers le monde et la prise en charge de plus de 2 500 applications de
plus de 1 400 éditeurs de logiciels partenaires, VMware vSphere est la plate-forme
de choix pour toute application. (VMware 2011)
OPTIMISATION DE LA DISPONIBILITE DES MACHINES VIRTUELLES SUR XENSERVER

- Hyper-V : est une solution de virtualisation basée sur la virtualisation 64 bits


pour Microsoft. Il est considéré comme une solution de paravirtualisation.
Hyper-V est un système de virtualisation, il permet à un serveur physique de
devenir Hyperviseur et ainsi gérer et héberger des machines virtuelles
communément appelées VMs (Virtual Machines).
Grâce à cette technologie, il est possible d’exécuter virtuellement plusieurs
systèmes d’exploitation sur une même machine physique et vous avez aussi la
possibilité d’isoler ces systèmes d’exploitation les uns des autres. (GUILLERM
2017)

- PROXMOX VE : Proxmox (Proxmox Virtual Environment) est une solution


de virtualisation basé sur Linux KVM (Debian 64bits) permettant de créer des
machines virtuelles de type OpenVZ et KVM. Il s’agit d’une solution de type bare
metal (métal nu en français), dans le sens de directement opérationnel sur la
machine, c’est-à-dire sans OS. Ce nom caractérise les hyperviseurs de type 1 (on dit
aussi natif) dans lequel l'hyperviseur minimaliste, allégé et optimisé, se conduit
OPTIMISATION DE LA DISPONIBILITE DES MACHINES VIRTUELLES SUR XENSERVER

comme un moniteur démarrant le matériel, connectant le réseau et lançant les


machines virtuelles. ESX Server de VMware, LPAR de IBM ou encore HYPER-V
de Microsoft sont des hyperviseurs type 1. Proxmox s’administre via une interface
web (https://serveur_proxmox:8006) et fournit une vue globale de l'ensemble des
VM installées. En plus de cette interface web, il est tout à fait possible de créer des
scripts pour automatiser certaines tâches, via les commandes natives de OpenVZ
(vzctl). (Housset 2016)

- Hyperviseur de type 2 ou virtualisation hébergée

Un hyperviseur de « type 2 » est un hyperviseur s'exécutant par-dessus un système


d'exploitation invité. 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.

Parmi les hyperviseurs de type 2, on trouve VMware Player, VMware Workstation,


VirtualPC et VirtualBox.
OPTIMISATION DE LA DISPONIBILITE DES MACHINES VIRTUELLES SUR XENSERVER

Figure I-6 Hyperviseur de type II (B. 2020)

Emulateur :
- Quick EMUlator (QEMU)

QEMU émule les ressources nécessaires à une machine virtuelle. Parmi ces
émulations, on trouve celle des processeurs, les Virtual Central Processing Unit
(VCPU), mais aussi un ensemble de périphériques tel que des cartes graphiques ou
des cartes réseau. Pour le système hôte, QEMU est vu comme un processus UNIX
standard et les VCPU sont des threads. C’est ce processus UNIX qui contient le
système invité. Lorsque QEMU est utilisé seul, les VCPU sont complètement
émulés. La machine virtuelle est alors totalement isolée du système hôte.
L’utilisation de QEMU avec émulation complète d’un processeur est coûteuse et
peut dégrader fortement les performances (d’un facteur 5 à 10). Pour avoir des
performances proches d’un système natif, il faut utiliser un module d’accélération.
OPTIMISATION DE LA DISPONIBILITE DES MACHINES VIRTUELLES SUR XENSERVER

Emulateur :
- KVM : est un projet de virtualisation complète qui est actuellement en
développement pour un module de para virtualisation. Il est intégré depuis le noyau
Linux 2.6.20 et permettant une virtualisation matérielle des processeurs.

KVM est un module noyau intégré au noyau LINUX depuis 2007 qui permet à ce
dernier de remplir le rôle d’un hyperviseur. KVM supporte un grand nombre
d’architectures telles que les architectures x86 disposant des instructions Intel VT
ou AMD-V, mais aussi Power PC, IA-64 ou encore ARM. Il permet l’utilisation
d’extensions matérielles (HVM) telles que des jeux d’instructions dédiés à la
virtualisation. Parmi celles-ci figure l’exécution d’un cœur en mode invité. Ce
mode est orthogonal aux deux modes classiques que sont le mode utilisateur et le
mode noyau. En mode invité, un processeur a accès à tous les niveaux de privilèges
du x86 de 0 à 3. Les instructions de la machine virtuelle invitée sont alors
directement exécutées sur le processeur. Une partie des instructions privilégiées
déclenchent des interruptions ce qui permet à l’hyperviseur d’intervenir quand il le
faut. Grâce à KVM un thread VCPU utilise le mode invité. Le cœur sur lequel
s’exécute un VCPU peut alors par le principe du trap-and-emulate diminuer ainsi le
OPTIMISATION DE LA DISPONIBILITE DES MACHINES VIRTUELLES SUR XENSERVER

coût de la virtualisation. Pour autant les VCPU sont des threads normaux du point
de vue de l’ordonnanceur LINUX.

VIRTUALISATION DES PROCESSUS


La virtualisation par isolation consiste à gérer des contextes dans lesquels les processus
auront accès à un ensemble restreint de ressources qu’elles soient de type matériel ou
logiciel. Dans un système UNIX par exemple, on peut utiliser la commande chroot pour
isoler un processus dans une sous-arborescence du système de fichier. On peut aussi
décider de restreindre l’accès à des ressources comme la mémoire ou les CPU par le biais
de cgroups. Dans tous les cas, il existe une zone dite principale capable d’accéder à tout le
système. L’isolation est une solution simple techniquement et peu consommatrice en terme
de surcoût lié à la virtualisation. Les ressources matérielles telles que les disques ou cartes
réseau sont facilement partagées entre la zone principale et les containers qu’elle contient.
Parmi les solutions pour système d’exploitation UNIX, on trouve un grand nombre de
solutions telles que LXC, Linux-VServer, BSD Jails, et les Zones Solaris. L’inconvénient
majeur est l’impossibilité de virtualiser des systèmes d’exploitation différents du système
d’exploitation principal. (CAPRA 2015)

L’isolateur est un logiciel permettant d’isoler l’exécution des programmes ou processus. La


différence entre Virtualisation de l’OS et Isolateur, avec la virtualisation de l’OS, c’est un
système d’exploitation en entier qui est installée. Par contre l’isolateur, c’est le processus
lui-même qui est installée indépendamment de l’OS. Le processus n’utilise que les
ressources qui lui sont attribués dans les configurations.
OPTIMISATION DE LA DISPONIBILITE DES MACHINES VIRTUELLES SUR XENSERVER

Tableau Comparatif des hyperviseurs de type 1

Caracteristiques Produits Cout Format Suppor Support Snapshot Move VM


de t NFS Iscsi VM
disque
virtuel
WMware ESXi Gratuit Format OUI OUI OUI VMotion
VMDK
Microsoft Windows Cout du Format Non OUI OUI Live
Hyper-V Système VHD Migration
R2 d’exploitatio
n
Citrix XenServer Gratuit Format OUI OUI OUI XenMotion
VHD

Vous aimerez peut-être aussi