Vous êtes sur la page 1sur 28

VIRTUALISATION

Rapport de Projet Master 1 RISM

Tuteurs : Réalisé par :


Pr. Rachid ELAZOUZI Fode Amara CAMARA
Dr. Adbellilah KAROUIT Lysa ASSAM
Fares BELKACEM
Zied ZOUCH

2015 - 2016
CERI - Université d'Avignon et des Pays de Vaucluse
339 chemin des Meinajaries, Agroparc BP 91228, 84911 Avignon cedex 9
+33 (0)4 90 84 35 00
Sommaire

Introduction générale ……………………………………………………………………………………………………………… 2


Chapitre1: Généralité sur La virtualisation ………………………………………………………………………………. 3
Introduction ……………………………………………………………………………………………………………….……… 3
1- Définition ……………………………………………………………………………………………………………….……. 3
2- Historique ……………………………………………………………………………………………………………….…… 3
3- Pourquoi virtualiser ? …………………………………………………………………………………………………… 3
4- Terminologie………………………………………………………………………………………………………………… 4

Chapitre 2 : Cahier des charges……………………………………………………………………………………………… 10


1- Objectifs du projet …………………………………………………………………………………………………….. 10
2- Périmètre ………………………………………………………………………………………………………………….. 10
3- Exigences …..…………………………………………………………………………………………………………….… 11
4- Parties Prenantes ………………………………………………………………………………………………………. 11

Chapitre 3 : Etude des solutions techniques ………………………………………………………………………….. 12


Introduction ……………………………………………………………………………………………………………….…… 12
1- OpenVZ ……………………………………………………………………………………………………………….…….. 12
2- Xen ……………………………………………………………………………………………………………….…………… 14
3- KVM ……………………………………………………………………………………………………….……….…………. 15
4- Etude Comparative ………………………………………………………………………………….………………… 17
5- Tableau récapitulatif des solutions proposées …………………………………………….…………….. 18
Conclusion ……………………………………………………………………………………………………………….……… 19
Chapitre 4 : Organisation et Structuration du projet …………………………………………………………….. 20
1- Planning des tâches …………………………………………………………………………………………………… 20
2- Rencontres et Réunions …………………………………………………………………………….………………. 21
3- Ressources Utilisées …………………………………………………………………………………………………. 21
Conclusion générale ……………………………………………………………………………………………………………… 22
Bibliographie ………………………………………………………………………………………………………..……….……… 27
Introduction générale

En informatique, on essaye toujours de distinguer deux mondes : Le monde du matériel


et le monde du logiciel.
Le premier fournit les équipements physiques, le second fournit les données et les
applications. La virtualisation a été inventée dans le but de s'affranchir au maximum de la couche
matérielle de l'informatique, le matériel étant cycliquement obsolète et tombant régulièrement
en panne. Dans un système non virtualisé, quand le matériel tombe en panne, la couche logicielle
n'est pas toujours migrable.
Il arrive fréquemment que l'on soit dépendant du matériel et donc obligé de garder en
vie du matériel dépassé.

Figure 1: Les différents types de virtualisations.

2
Chapitre1: Généralité sur La virtualisation

Introduction
Depuis quelques années, la virtualisation est au cœur des préoccupations des entreprises du
secteur informatique. En effet, on assiste à une montée en puissance des acteurs du marché,
que ce soit dans le domaine propriétaire avec Microsoft et VMware, ou dans le domaine des
logiciels libres, avec l’émergence de nombreux projets autour de la virtualisation. Il suffit de voir
le nombre de conférences liées aux technologies de virtualisation pour l’entreprise et le nombre
d’articles de presse (en ligne ou papier) traitant de la virtualisation. Cette montée en puissance
n’est pas due au hasard : elle suit de très près la demande du marché, qui se tourne de plus en
plus vers les technologies de virtualisation.

1- Définition :
L’encyclopédie francophone définit la virtualisation comme « 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».
La virtualisation est une technique informatique consistant à faire fonctionner plusieurs
environnements logiques séparément sur une même machine. Il s’agit d’une extension du
principe d’émulation. Cette dernière consiste à substituer un ou plusieurs éléments
informatiques par une application.

2- Historique :
Ce concept a été mis en place aux environs 1960 par IBM pour permettre le partitionnement
logique des mainframes en machines virtuelles. Les mainframes, consommant beaucoup de
ressources simultanément, la virtualisation s’avère être la réponse à ce problème mais
également aux problèmes de sous-utilisation et de l’investissement matériel.
Dans les années 1980 et 1990, l’émergence de l’Informatique distribuée, c'est-à-dire
l’introduction des applications « clients – serveurs » (plateforme x86) par Microsoft et la montée
de Linux dans les années 1990 ont faits des serveurs x86 la norme de l’industrie de par les
nouveaux défis en matière d’exploitation et d’infrastructure.

3- Pourquoi virtualiser ?
A l’époque où les ordinateurs n’étaient capables de ne faire exécuter qu’un seule processus
en même temps, l’intérêt de se diriger vers un système supportant la gestion multiprocesseur
était de pouvoir optimiser les ressources de calcul. La virtualisation va plus loin encore, en effet
elle améliore la sécurité et le coût.

 Sécurité :
La virtualisation permet d’isoler des différents environnements logiciels au niveau des
ressources physiques. Cette isolation est telle que la compromission d’un système invité par un
code malicieux (virus) ne pourra pas se propager à d’autres systèmes invités.
Avec un système de virtualisions, il sera possible de gérer les accès aux ressources physiques
de manière à éviter les conflits.

3
En outre, ce concept permet aux chercheurs en sécurité l’observation des logiciels mal
vaillants à travers des systèmes d’exploitation invités et ainsi trouver des solutions.

 Le coût :
Avec les couts grandissant des matières premières énergétiques et la nécessité de gérer des
contraintes liées aux manques d’espaces dans les centres de données dont le prix augmente à
cause de la demande croissante, la virtualisation permet de minimiser ces couts sans pour autant
détériorer le rendement.

4- Terminologie :
La virtualisation a été brièvement définie dans l’introduction comme le moyen de faire
fonctionner sur une seule machine physique plusieurs systèmes d’exploitation ou plusieurs
applications. Cet objectif est atteint grâce à plusieurs technologies ayant des buts différents. Il
est important de bien définir toutes ces technologies avant d’étudier les projets retenus.
Il existe plusieurs catégories de virtualisation :
– la virtualisation complète;
– la para-virtualisation;
– la virtualisation assistée par le matériel;
– le cloisonnement.
Avant de définir ces technologies, il est crucial de bien saisir le fonctionnement et le rôle d’un
système d’exploitation. En effet, comme l’objectif de la plupart des technologies de virtualisation
est de faire cohabiter plusieurs systèmes d’exploitation sur la même machine physique.

 Fonctionnement d’un système d’exploitation


Le système d’exploitation est un ensemble complexe faisant office de couche d’abstraction
entre le matériel et le logiciel.
Il est composé d’une multitude de composants, chacun assigné à un rôle spécifique. Parmi
les tâches dévolues au système d’exploitation, on retrouve notamment la gestion de la (RAM) et
des périphériques (stockage, carte réseau, imprimante, écran, clavier, etc.)
Un composant du système d’exploitation est entièrement dédié à la gestion de la mémoire,
notamment la réservation et la libération pour les applications et le système d’exploitation.
Quand la RAM vient à manquer, le système peut utiliser une partie du disque dur comme
extension de mémoire.
Toutefois, le système d’exploitation n’a pas le contrôle direct sur la gestion de la mémoire au
niveau physique. Ce rôle est dévolu au processeur. C’est donc par le jeu d’une interaction
complexe entre le système d’exploitation (qui gère la RAM au niveau logique) et le processeur
(qui gère la RAM au niveau physique) que se déroule l’exécution d’un programme.
Les systèmes d’exploitation sont conçus comme s’ils étaient les seuls à accéder au matériel,
Cette notion est importante pour les solutions de virtualisation : le système virtualisé ne pourra
pas accéder au matériel directement, comme s’il était le seul, car c’est le système hôte qui a ce
rôle. Il y a donc des solutions de contournement mises en place, qui varient selon les produits et
les technologies utilisées.

4
 La virtualisation complète
La virtualisation complété consiste à émuler l’intégralité d’une machine physique pour le
système invité. Le système invité « croit » s’exécuter sur une véritable machine physique.
Dans ce concept, le logiciel chargé d’émuler cette machine s’appelle une machine virtuelle,
son rôle est de transformer les instructions du système invité en instructions pour le système
hôte. La machine virtuelle émule donc de manière logique (avec du code) tout le matériel
habituel de l’architecture de l’ordinateur cible (Voir la figure 02).
Un des gros intérêts de cette technique de virtualisation est de pouvoir émuler n’importe
quelle architecture matérielle. On peut donc faire fonctionner les OS que l’on désire
indépendamment de l’architecture du système hôte.

Figure 2: Diagramme de la virtualisation complète

 La para-virtualisation
La para-virtualisation est très proche du concept de la virtualisation complète, dans le sens
où c’est toujours un système d’exploitation complet qui s’exécute sur le matériel émulé par une
machine virtuelle. Or, dans cette dernière, les systèmes sont « conscients » du fait qu’ils sont
virtualisés.
Toutefois, dans une solution de para-virtualisation, le système invité est modifié pour être
exécuté par la machine n virtuelle. De ce fait, il pourra collaborer plus étroitement avec le
système hôte, en utilisant une interface spécifique, au lieu d’accéder au matériel virtuel via les
couches d’abstraction.
La para-virtualisation apporte un gain de performances avéré, du fait que le système invité
collabore activement avec la machine virtuelle, il ne se comporte plus comme un système
d’exploitation à part entière s’exécutant directement sur du matériel, mais il adapte son
comportement pour que les accès au matériel soient transformés en des appels directs à cette
dernière.
De plus, étant donné que seules les couches de bas niveau du système invité sont été
modifiées, toutes les applications qui pouvaient fonctionner dans une architecture de
virtualisation complète peuvent aussi être utilisées dans une architecture para-virtualisée.

5
Figure 3: Diagramme de Para-virtualisation

 Les systèmes à hyperviseur


L’hyperviseur est en quelque sorte l’évolution logique de la para-virtualisation, si l’on
recherche encore une amélioration des performances. Dans les technologies précédentes, le
système hôte était le seul à avoir un accès direct au matériel. Avec un hyperviseur, le système
hôte partage cet accès avec les systèmes invités.
Au démarrage de l’ordinateur, c’est normalement le système d’exploitation qui prend la main
et contrôle le matériel. Dans le cas de l’utilisation d’un hyperviseur, c’est un système minimaliste
- l’hyperviseur - qui prend le contrôle du matériel.

Figure 4: Représentation d’un hyperviseur de type 1

Si les deux technologies vues précédemment (virtualisation complète et para-virtualisation)


utilisaient une machine virtuelle pour émuler le matériel, il n’en va pas de même avec un
hyperviseur. Chaque système d’exploitation a un accès presque direct au matériel, par
l’intermédiaire de l’hyperviseur.

6
 Les techniques de cloisonnement
Une autre pratique répandue dans le domaine de la virtualisation est le cloisonnement.
Derrière ce nom se cachent plusieurs technologies visant à séparer fortement les processus
s’exécutant sur un même système d’exploitation. Le cloisonnement vise à isoler chaque
processus dans un conteneur dont il est théoriquement impossible de sortir. Un processus isolé
de la sorte ne saura pas quels autres processus s’exécutent sur le même système, et n’aura
qu’une vision limitée de son environnement. Le but principal de cette technologie est
d’améliorer la sécurité du système d’exploitation et des applications.

 La virtualisation de poste de travail (VDI)

Définition
La virtualisation du poste de travail ou infrastructure de bureau virtuel, ou encore Virtual Desktop
infrastructure (VDI) en anglais, est une pratique consistant, à héberger un système d’exploitation dans
une machine virtuelle en cours d’exécution sur un serveur centralisé ou distant. Cette technique permet
à un utilisateur d’accéder à l’intégralité de ses programmes, applications et données depuis n’importe
quel poste client utilisé.

Principe de fonctionnement du VDI


Le principe de virtualisation du poste travail est de fournir aux utilisateurs finaux des bureaux
virtuels c’est-à-dire la possibilité de se connecter de n’ importe où à leur environnement de travail (OS,
applications, données). Les bureaux virtuels sont alors hébergés sur des serveurs distants (Datacenter).
Ils sont indépendants des unes des autres. On accède aux bureaux virtuels via une simple connexion
internet.

On constante plusieurs approches techniques qui permettent de délivrer virtuellement les


applications aux utilisateurs finaux. Il existe des solutions dans chacun des aspects suivants :

Présentation
 le principe est de créer plusieurs sessions d’utilisateur au sein du système d’exploitation, sur un
même serveur. on y accède avec des accès distants

Application
 chaque application est encapsulée et isolée du système d’exploitation des autres applications qui
se trouvent sur le poste client comme-si elles l’étaient physiquement. La virtualisation
d’application permet d’exploiter la puissance du PC. Les applications sont stockées sur le serveur
et envoyé vers le PC.

Poste de travail
 (ou VDI Virtual Desktop Infrastructure). La virtualisation du poste de travail consiste à séparer
totalement la partie matérielle (la machine=le PC des applications, données, système
d’exploitation.

Les protocoles utilisés pour la virtualisation sont :

 RDP (Remote Desktop Protocol) pour Microsoft

7
 ICA (Indépendant Computing Architecture) pour Citrix
 PCoIP( PC over IP) pour VMware
 SPICE (Simple Protocol for Independent Computing Environnements) pour Red Hat
 Les leaders dans ce marché sont Citrix et VMware.

Figure 5: virtualisation de postes de travail et d’applications : Concepts et utilisation pratique

Les bénéfices de la virtualisation découlent tous, directement ou indirectement, de cette


architecture:

 Les postes physiques servent uniquement à se connecter aux postes virtuels et à en récupérer
l’affichage.
 Les machines virtuelles partagent toutes le même disque dur (éventuellement répliqué pour
répondre aux exigences de vitesse d’accès et de haute disponibilité)
 Les machines virtuelles sont stockées sous la forme de fichiers. Elles peuvent donc être
sauvegardées, copiées, supprimées,
 Les postes peuvent être remplacés par des terminaux légers, plus compacts, consommant moins
d’énergie et meilleur marché que des machines classiques (encore une fois, le multimédia peut
compliquer la donne)
 Les machines virtuelles peuvent être surveillées de près, ce qui permet d’agir de manière
préventive pour éviter les problèmes de performances

L'architecture mise en place et l'accès aux MV


L'infrastructure de virtualisation est donc composée d'un hyperviseur, d'un broker de session, des
périphériques d'accès, les clients légers, des serveurs, des applications.

Parmi les avantages de ce type de modèle on trouve :

 Administration centralisée des postes,


 Délégation d'administration de tout ou d'une partie de l'infrastructure,
 Mutualisation des ressources réseau, CPU, mémoire, stockage, grâce aux pools de
ressources gérés par ESX,
 Mises à jour rapides et garanties grâce à la gestion des images-système uniques,

8
 Sécurité améliorée grâce aux images-système en lecture seule,
 Optimisation de l'utilisation des ressources serveurs grâce à DRS,
 Nouvelle organisation du travail avec une gestion à distance via une console.
 Moins d'installations physiques,
 Performances des postes améliorées grâce au matériel serveur sur lesquels ils sont
virtualisés, Protection des données et facilité d'intégration dans un plan de type PRA-PRI,
 Déploiement rapide de nouveaux systèmes (Windows 7, Linux)
 Banalisation des postes de travail.

Comme toute infrastructure celle-ci a ses inconvénients, parmi lesquels :

 Maintenance complexe.
 Plusieurs technologies à mettre à jour « broker », hyperviseur, firmware des clients légers,
des serveurs, correctifs des systèmes ESX (hôte) mais aussi invités (Windows, linux).
 Maîtriser différentes technologies dans plusieurs domaines : SAN, réseau, système,
virtualisation, etc….
 Peu ou pas de logiciels de « gouvernance » et de surveillance de l'infrastructure. Certains se
sont spécialisés sur certaines parties de l'infrastructure (Exemple : Logiciel Vkernel )
 Installations et suivis des serveurs de plus en plus complexes (technologie des serveurs «
lame »). Un seul « boîtier » peut rassembler des Switch (réseau et fibres) des composants
spéciaux de type KVM (Ilo pour HP) ou de la virtualisation de la connectivité

Dans notre architecture les MV sont accessibles à partir des clients légers des salles et bureaux,
des pc portables personnels via les réseaux Wi-Fi du CERI, et pour finir via notre Environnement
Numérique de Travail (ENT).

Le schéma ci-dessous montre en détail l'architecture

Figure 6: Exemple d’architecture pour l’accessibilité des MV

9
Chapitre 2 : Cahier des charges

1- Objectifs du projet :
Le projet Master 1 a pour premier but de donner une première approche du travail en groupe, avec
des contraintes et exigences exprimé par un client.

Notre projet vise, aussi, à apporter une solution de virtualisation pour une salle informatique du CERI
contenant des PCs.

Cela devra permettre aux étudiants :

- De s’authentifier au démarrage du pc.


- Choisir une machine virtuelle (VM) et utiliser le système d’exploitation ainsi que les logiciels
adéquats pour traiter les TPs.
- Sauvegarder leur travail dans leur session et non sur l’image ISO attribué par l’administrateur.

Ainsi qu’aux administrateurs (enseignants chercheurs et professeurs chargés de TP) de :

- S’authentifier au démarrage du PC.


- Gérer les machines Virtuelles : Créer, effacer, sauvegarder des VM...
- Configurer et Installer des logiciels sur les machines virtuelles crées.

2- Périmètre :
Cible :
Les personnes concernées par ce projet sont les étudiants, les enseignants et les chercheurs du
CERI.

Contexte :
La virtualisation est un mécanisme informatique qui consiste à faire fonctionner plusieurs
systèmes, serveurs ou applications sur un même serveur physique.
A partir des travaux déjà effectués les années précédentes et après plusieurs réunions avec
nos tuteurs Mr Rachid EL AZZOUZI et Mr Adbellilah KAROUIT, une nouvelles analyse des besoins
a été réalisée. A savoir que notre projet devra améliorer le déroulement des TPs dans les salles
Informatiques, en adaptant une solution de virtualisation qui répondra à ces besoins.

Enjeux :
- Améliorer les TPs : les administrateurs pourront créer des images adéquates au bon
déroulement des travaux pratiques, avec les logiciels nécessaires.
- Enchaîner les différentes sessions des groupes d’étudiants.
- Permettre la sauvegarde et la réutilisation du travail accompli dans une session avec un
groupe d’élèves.
- Adopter une solution pérenne et évolutive.

10
Freins et leviers
Freins :
- Il n’existe pas une solution tout faite pour répondre à nos besoins.
- Le délai imposé pour le développement d’une nouvelle solution risque d’être courte.

Levier :
- La solution a développée sera une solution Open Source et donc une solution gratuite.
- Utilisation de la technologie qui s’adapte à tous les environnements.

Contraintes :
- La solution proposée devra être gratuite, autrement dit, cela ne devra présenter aucun coût
financier pour le CERI.
- Le délai de réalisation de ce projet s’étend sur les deux semestres du Master 1.
- Durant la réalisation de ce projet, nous allons utiliser les ressources matériel présentent dans les
locaux du CERI.

3- Exigences :
- Toutes les solutions ou technologies de virtualisation mise en place doivent être des
solutions libres (Open Source).
- Simplification des tâches d’administrations.
- Toute production devra être accompagnée d’une documentation afin de faciliter la
maintenance.
- Renforcement et sécurisation du poste de travail.

- Déploiement rapide du poste de travail complet sur des serveurs centralisés.

4- Parties Prenantes:

o Mr EL AZZOUZI et Mr KAROUIT:
Rôle : tuteurs.

o Etudiants du groupe de projet 5:


- Lysa ASSAM.
- Fode Amara CAMARA.
- Fares BELKECAM.
- Zied ZOUCH.

Rôle : Élaboration d'un cahier des charges et réalisation du projet répondant aux
exigences et objectifs exprimés par nos tuteurs.

11
Chapitre 3 : Etude des solutions techniques

Introduction
Le choix de la bonne solution de virtualisation dans l’absolu est très difficile, et le nombre de
projets de virtualisation disponibles ne facilite pas la décision. C’est pourquoi il est nécessaire de
réduire le champ d’étude aux solutions applicables dans un cas bien spécifique. Durant ce
chapitre, nous nous limiterons aux solutions de virtualisation utilisables ayant le plus de
documentation et les plus utilisées.

1- OpenVZ :

 Présentation
OpenVZ est un projet de virtualisation par cloisonnement géré par la société SWsoft. Le
modèle commercial de SWsoft consiste en une offre propriétaire (et payante) nommée
Virtuozzo, qui se base sur le projet libre OpenVZ. Les clients souhaitant un support technique de
qualité et des performances très élevées peuvent se tourner vers le produit Virtuozzo, les clients
préférant utiliser une technologie libre et pouvant se contenter du support fourni par la
communauté utiliseront OpenVZ.

 Technologies
Le principe de fonctionnement d’OpenVZ se base sur une modification du noyau Linux pour
implémenter un système de cloisonnement au niveau du système d’exploitation.

Figure 7: Technologies utilisée par OpenVZ.

 Avantages
Les Virtual serveurs partagent les mêmes appels systèmes (un seul noyau) et il n'y a donc
aucune charge supplémentaire due à une émulation.

12
Les processus d'une machine virtuelle sont des processus normaux d'un seul et même noyau.
Les E/S sont donc plus efficaces que sur un système qui tournerait à travers une donc aucune
charge supplémentaire due à une émulation
Installation aisée : pas besoin de clonage ou image disque de machine. Il suffit de copier une
file system pour installer une machine virtuelle
L’adressage réseau des machines virtuelles est basé sur une isolation. Il n'y a pas de surcharge
C'est la performance qui rend les VPS openVZ attractifs.
Cela peut simplement être vu comme un chroot de la file system amélioré par une isolation
des processus
Avantages = performances natives (pas de perte mesurable). A part la gestion du contexte,
un processus dans un VPS a les mêmes caractéristiques qu'un processus d'une machine Linux
standard.
Consommation mémoire légère (la mémoire est mutualisée entre le serveur hôte et les VPS
et la mémoire demandée à l'hôte est celle réellement utilisée par les processus du VPS).
La possibilité de mutualisation est donc ici très importante; il est possible de déployer
plusieurs dizaines de VPS sur un serveur physique correctement taille.
Désormais supporte au niveau des distributions Debian par des paquets appropries
Virtualisation légère :
-Performance native, aucun ralentissement mesurable.
-Très économe en ressource : plusieurs VPS déployés sur une machine
-Les règles IPtables (firewall interne) peuvent être manipulées dans un serveur virtuel
sécurité renforcée
-Différentes distributions peuvent fonctionner en parallèle sur un même nœud hôte HN
-(Debian, CentOS, Fedora, Ubuntu...)

 Inconvénients
Le principal problème avec OpenVZ est que SWsoft ne «joue pas le jeu» du logiciel libre.
En effet, le projet libre dispose de moins de fonctionnalités que la version propriétaire et
payante. La version payante est montrée comme la version complète, alors que la version libre
est juste là pour appâter la communauté et attirer les contributions.
De plus, la société se targue de posséder plusieurs brevets sur les méthodes de virtualisation.
Le mouvement du logiciel libre étant en général plutôt opposé à l’idée de brevetabilité des
logiciels et des idées, cette mise en avant de brevets logiciels est plutôt malvenue.
Ne fonctionne qu'avec des OS Linux et avec de vieux kernel 2.6.18 et 2.6.24 donc impossible
d'en installer des différents comme Windows ou autres.
-Stockage en local seulement.
-Difficultés de migration vers une machine physique ou une autre plateforme de
virtualisation.
-Nouvelle installation, avec un transfert de configuration et de datas.
- Impossibilité de charger des modules pour le noyau par le client.

13
- Pas de possibilité de mettre un espace de SWAP.
- Pas de possibilité de faire du cache mémoire sur un disque dur.

2- Xen :

 Présentation
Xen est un projet de virtualisation par hyperviseur géré par la société XenSource. Le projet
était à l’origine mené au sein de l’Université de Cambridge, sous le nom de Xenoserver. Le but
était alors d’héberger 100 systèmes invités sur une seule machine physique, avec les meilleures
performances possibles.
Le rachat XenSource par Citrix ne devrait rien changer pour la communauté, la licence du
produit libre restant inchangée. Toutefois, les entreprises pourront être rassurées de voir que
XenSource est maintenant soutenue par des moyens financiers importants.
La solution de virtualisation Xen est séparée en plusieurs produits, ayant tous des finalités
différentes. Il y a tout d’abord la version libre, nommée Xen 3.0, qui concentre toute la
technologie de virtualisation. Les autres versions (propriétaires) de la gamme se distinguent
uniquement par le support proposé, les nombre de machines virtuelles supportées, les systèmes
invités supportés et les logiciels annexes.

 Technologies
Xen est un hyperviseur, c’est à dire qu’il vient s’insérer entre le matériel et le noyau. C’est
donc Xen qui a l’accès exclusif au matériel, et les systèmes d’exploitation fonctionnant par-
dessus doivent obligatoirement passer par l’hyperviseur pour y accéder. Il peut ainsi répartir
précisément les ressources entre les systèmes invités. Ce tableau ci-dessous montre le type de
technologie utilisée par Xen

Figure 8: Technologies utilisée par Xen.

 Avantages
Chaque machine virtuelle est isolée.
Les performances sont proches de celles d’un système natif.
L’utilisation des pilotes du noyau Linux garantit un très bon support du matériel.

14
Il est possible de migrer des machines virtuelles sur un autre serveur sans interruption de
service.
Les applications d’une machine virtuelle ne voient pas de différence avec un système
classique.

 Inconvénients
Un des reproches majeurs fait à Xen est sa grande complexité. En effet, pour implémenter
un hyperviseur performant, Xen modifie les couches basses de tous les systèmes d’exploitation,
afin qu’ils puissent collaborer avec l’hyperviseur. Les modifications apportées au noyau Linux
sont de l’ordre de plusieurs milliers de lignes de code.
L’hyperviseur du projet Xen est également très complexe. En effet, pour assurer une
répartition équitable des ressources, il faut un ordonnanceur très performant, capable d’assurer
que chaque système invité aura accès aux ressources.
En ce qui concerne la gestion du réseau, Xen est là aussi difficile à appréhender. La
documentation utilisateur est très succincte à ce sujet.
Il n’y a pas de documentation technique officielle, qui détaille le fonctionnement interne de
Xen. Ce type de documentation, qui reste jusqu'ici obsolète, est nécessaire pour savoir comment
optimiser l’architecture de virtualisation bâtie autour de Xen.

3- KVM

 Présentation
Le projet KVM (Kernel-based Virtual Machine – machine virtuelle dans le noyau) a été créé
en 2006 par la société Qumranet. KVM a su très vite attirer les contributions externes et le code
source du projet a été intégré au noyau Linux dès février 2007. À l’heure actuelle, le projet KVM
est financé principalement par Qumranet.

 Technologies
KVM est un projet de virtualisation complète qui utilise les instructions de virtualisation des
processeurs x86 récents.
Techniquement, KVM se compose :
– d’un module noyau qui utilise les instructions de virtualisation et communique avec le
processeur;
– d’un programme utilisateur, qui utilise le module noyau pour toutes les opérations
privilégiées.
Le tableau suivant récapitule les technologies utilisées par KVM.

15
Figure 9: Technologies utilisée par KVM.

Il y actuellement en développement un module de para-virtualisation, qui pourra servir à


accélérer encore d’avantage les performances des Entrées/Sorties, notamment au niveau de la
communication réseau. Ce module est toutefois facultatif - en plus d’être instable et toujours en
développement - et l’on peut tout à fait s’en passer, c’est pourquoi il est marqué entre
parenthèses dans le tableau.

 Avantages
Meilleure isolation de la VM par rapport à l'hôte physique.
Flexibilité, vous pouvez migrer une machine virtuelle sur une machine physique ou une autre
plateforme de virtualisation.
Compatibilité avec des systèmes d’exploitation anciens ou peu populaires.
Full-virtualisation : KVM va émuler complètement un ordinateur afin de rendre le système
indépendant de l’hôte. KVM peut héberger n'importe quel système d'exploitation Windows x86.
Affecte très peu le noyau, son intégration demande peu de modifications, ce qui réduit la
complexité et les risques d'instabilité.
Gère les ressources du matériel d’une manière plus performantes.

 Inconvénients
Basé sur QEMU, KVM souffre des mêmes inconvénients sur la complexité du code et la
difficulté de manipuler les images disques.
En plus de cela, la partie propre à KVM, c’est à dire le module noyau utilisant les instructions
de virtualisation, est encore jeune et manque de maturité. La stabilité de l’interface de
programmation (API) vient tout juste d’être atteinte, mais il n’est pas exclu que l’API change à
nouveau. Cela signifie qu’un outil très proche de KVM peut ne plus marcher après une mise à
jour.
La jeunesse du projet a un autre inconvénient : le manque de retours d’expérience
concernant des architectures complexes de virtualisation utilisant KVM. En effet, peu
d’entreprises ont publiquement annoncé qu’elles utilisaient KVM pour virtualiser des serveurs à
grande échelle. Même si KVM est effectivement utilisable en production pour un petit nombre
de machines virtuelles, la difficulté de maintenance et la montée en charge restent inconnues. Il

16
y a donc un risque (certes faible, mais pas inexistant) d’affronter des difficultés inattendues en
utilisant KVM pour virtualiser un ensemble de serveurs.

4- Etude Comparative :

1- Bilan de OpenVZ :
Pour les raisons citées précédemment, et malgré d’excellentes performances et une très
bonne documentation, le projet OpenVZ n’est pas acceptable pour une PME impliquée dans le
logiciel libre, en raison d’un décalage idéologique trop grand. Il n’a donc pas été retenu pour une
étude approfondie. Il est cependant tout à fait envisageable de l’utiliser si l’on fait abstraction de
ce problème.

2- Bilan de Xen :
La complexité de Xen a un avantage : les performances et les fonctionnalités sont
impressionnantes, très proches de celles d’un système d’exploitation s’exécutant directement
sur une machine physique, sans virtualisation.
Les fonctionnalités sont également à la hauteur des performances, permettant aux
administrateurs de véritablement s’abstraire des machines physiques pour la gestion des
systèmes. Les outils annexes proposés par la communauté sont aussi très efficaces, et apportent
une véritable plus-value.
En plus de ses fonctionnalités complètes, Xen dispose d’une communauté très active, qui
développe régulièrement de nouveaux outils pour simplifier l’administration ou la supervision
des systèmes invités.

3- Bilan de KVM :
Le projet KVM, en dépit de sa jeunesse et de son manque apparent de maturité, est très
intéressant pour une société souhaitant virtualiser des serveurs. Son intégration au noyau Linux
lui assure une durée de vie incomparable par rapport à un projet externe, et l’attrait de la
communauté et des entreprises pour ce projet est un gage supplémentaire de pérennité.
Le potentiel d’évolution de KVM est très élevé, avec une communauté motivée et un
développement pour l’instant ininterrompu. Même s’il n’a pas toutes les fonctionnalités
nécessaires à l’heure actuelle, il y a des chances qu’elles soient implémentées rapidement.
C’est pourquoi, même s’il est actuellement risqué de l’utiliser en production, il été
sélectionné dans la liste des projets à étudier plus profondément. En effet, KVM sera très
certainement un des acteurs majeurs plus tard, il faut donc l’étudier et le maîtriser dès
maintenant, ne serait-ce que pour être prêt le jour où il sera vraiment utilisable.

17
4- Tableau récapulatif des solutions proposées
Xen et OpenVZ (aussi connu sous le nom commercial Virtuozzo) sont deux technologies
permettant de réaliser de la virtualisation de serveur, elles pourraient donc être vues comme
deux solutions concurrentes
Solution forces faiblesses technologies licence

OpenVZ 1) Presque aucun coût 1) Pas de modification Cloisonnement libre


en termes de possible au niveau de
performances la configuration du
kernel
2) Possibilité d'utiliser
les ressources 2) Risque de
inutilisées des autres dégradation des
containers. performances en cas
de surcharge du
serveur hôte
Xen 1) Allocation réelle et 1) Performances Hyperviseur libre
isolation des légèrement en retrait Paravirtualisateur
ressources de chaque par rapport à OpenVZ
utilisateur
2) Coût généralement
2) Accès complet à la plus élevé
configuration du
kernel 3) Ergonomie de la
solution libre
3) Grande évolutivité
(migration en temps 4) Documentation pas
réel) toujours actualisée
(dernières
4) Robuste, innovations)
performant et mature
(comparativement aux 5) Requiers une
solutions certaine expertise
commerciales)
6) Instabilité de la
5) Open source, solution HVM
moyen de créer une (virtualisation
base commune complète) sur les
(standard ouvert) sur systèmes
laquelle chacun peut d’exploitation les
développer sa valeur moins répandus
ajoutée en
comparaison d’une 7) Open source
offre 100% (contraintes fortes de
propriétaire comme la licence GPL)
VMware.
KVM Recent Virtualisation libre
complète
Un meilleur potentiel paravirtualisation
d’evolution
Facile à administer

Tableau 4 – Comparatif des solutions étudiées

18
Conclusion
Le projet KVM a l’air plus intéressant, tant au niveau de la simplicité d’utilisation que de
la complexité du code source.
En effet, étant donné que KVM est un simple processus au sein du système hôte, il n’a
pas à réinventer tous les algorithmes d’ordonnancement pour obtenir de bonnes performances.
Il bénéficie des fonctionnalités du noyau Linux en ce qui concerne la gestion des
processus et des accès aux ressources.
On retrouve une différence au niveau de la communauté : les contributions externes sont
plus nombreuses pour KVM que pour Xen, en dépit de la jeunesse du projet KVM.
La différence peut facilement s’expliquer par la jeunesse du projet, la nouveauté étant
toujours très attractive, ainsi que par la simplicité - par rapport à Xen - du code source.
De plus, le risque de changement de licence est très faible, et quasiment sans risque pour
la pérennité du projet. En effet, maintenant que le code du module KVM est intégré au noyau
Linux, il sera toujours diffusé avec
Pour toutes ces raisons, nous avons décidé de rediriger nos efforts sur KVM.

19
Chapitre 4 : Organisation et Structuration du projet
1- Planning des tâches

Figure 10: Diagramme de travail

20
2- Rencontres et Réunions
Suite à l'arrivée tardive de tous les membres du groupe, nous avons rencontré
des difficultés au début du semestre pour avoir des dates fixes de réunions avec notre tuteur
et par conséquent, des difficultés à respecter le planning de dépôt de comptes rendu de chaque
réunion.

Nous avons rencontré, par ailleurs, des problèmes au niveau de communication au sein de
notre groupe. Nous espérons pouvoir améliorer celle-ci au second semestre.

Les réunions se sont déroulées généralement en fréquence d'une réunion par mois. Durant
lesquelles nous présentons le travail réalisé et l'avancement du projet. Puis nous discutons de
ce qui serait intéressant d'améliorer, de modifier, d'ajouter ou de supprimer. Nous abordons
par la suite, le travail à réaliser pour la prochaine réunion en fixant la date et le rendez-vous de
celle-ci.

3- Ressources Utilisées
VMware
Cet outil nous a permis de tester les différentes solutions que nous avons proposé sans
avoir à les installer sur la machine physique.
Smartsheet
Nous avons aussi utilisé smartsheet, pour organier chaque rendez-vous ainsi que pour gérer
l’ensemble de nos informations personnelles. En effet cet outil permet de visualiser
rapidement et clairement les disponibilités de chacun d’entre nous afin de trouver les dates qui
conviennent à la plus part des membres du groupe.
Xampp
Pour le développement de notre site nous avons eu recours à cet outil, autant simple en
utilisation qu’on performances.
Ressources matériels
Pour mener à bien le projet, en premier lieu, nous avons utilisé nos pc pour la plus part des
taches.

21
Conclusion générale

Durant ce semestre, nous avons eu affaire à l’un des domaines informatiques les plus
prometteurs qui est la virtualisation.
Comme c’est un domaine nouveau pour nous et que nous n’avions aucune idée, nous nous
sommes d’abord documenter sur différents sites internet.
En effet, La virtualisation consiste à gérer de façon centralisée un ensemble de ressources
partagée. Ainsi plusieurs systèmes d’exploitation et applications tournent sur un serveur.
Nous avons fait une étude de quelques solutions de virtualisation existante et nous nous
sommes rendu compte qu’aucune solution toute faite ne répandait aux exigences émises par
note tuteur.
Notre choix s’est porté sur KVM pour beaucoup de raisons, notamment pour sa flexibilité à
créer des utilisateurs et sa gestion de la mémoire. Ainsi, durant le deuxième semestre nous allons
adapter cette solution à nos exigences, la mettre en place et l’implémenter sur les machines du
CERI.

22
Annexes
Installation de OpenVZ

Figure 11: Installation de OpenVZ

23
Installation de Xen

Figure 12: Installation de Xen

24
Installation de KVM

Figure 13: Installation de KVM

25
Figure 14: Création de VM sous KVM

26
Bibliographie

https://msdn.microsoft.com/fr-fr/library/jj134174.aspx
http://www.virtual-sddc.ovh/comprendre-la-virtualisation-des-reseaux/
http://www.systancia.com/fr/les-principes-de-la-virtualisation-0
http://blog.octo.com/presentation-des-hyperviseurs-xen-et-kvm/
http://www.sebastien-han.fr/blog/2011/04/12/introduction-a-la-virtualisation/
http://www.open-source-guide.com/Solutions/Infrastructure/Virtualisation/
http://doc.ubuntu-fr.org/xen
http://www.antoinebenkemoun.fr/data/AC_Virtualisation.pdf
http://cesar.resinfo.org/IMG/pdf/Virtualisation_Xen_avec_commentaires.pdf
http://www.linux-kvm.org/
http://www.linuxnix.com/

27

Vous aimerez peut-être aussi