Vous êtes sur la page 1sur 8

Virtualisation

CHAPITRE II : INTRODUCTION A LA VIRTUALISATION

INTRODUCTION

Il est commun d’entendre deux termes très souvent utilisés de façon synonymique comme s’ils
signifiaient la même chose même si, en fait, il s’agit notions différentes. Il s’agit des termes
virtualisation d’une part et cloud computing d’autre part qui sont communément utilisés de façon
interchangeable comme s’il s’agissait du même terme. Cependant, il faut comprendre que la
virtualisation n’est qu’une composante du cloud computing. Le cloud computing est quelque chose de
plus large que la virtualisation. De façon simple ce que nous faisons dans la virtualisation est de séparer
le système d’exploitation du matériel sous-jacent tandis que dans le cloud computing on sépare
principalement les applications de la plateforme matérielle sous-jacente.

Par le passé, l’installation d’un système d’exploitation se faisait exclusivement sur une plateforme
matérielle (PC, serveurs, etc.) adaptée et l’on ne pouvait installer qu’un seul système d’exploitation par
ordinateur. Plus tard, avec l’évolution technologique, dans les années 2000, on a vu naître l’avènement
du « Dual boot » qui consistait à avoir deux (ou plus) systèmes d’exploitation installés sur le même
ordinateur mais avec la possibilité de n’exécuter qu’un seul à la fois. Plus tard, on a vu apparaitre le
concept de virtualisation qui quant à lui permet d’exécuter de façon indépendante plusieurs systèmes
d’exploitation simultanément sur la même plateforme matérielle. Dans ce chapitre, il sera question
d’aborder les principes clés que l’on doit connaître pour implémenter la virtualisation dans son
environnement. Les constructeurs proposent diverses solutions de virtualisation et ce cours vous donnera
une vue générale des concepts que vous devez connaître afin de décider de manière efficace quelle
solution vous allez adopter et comment l’implémenter ou la déployer dans votre environnement. La
virtualisation comporte des techniques spécifiques qu’il faut connaître de façon particulière si vous
devez déployer une solution de virtualisation en entreprise. Nous allons donc définir les termes de base
qu’il faut comprendre en s’engageant dans la virtualisation afin d’avoir une idée globale de la manière
dont elle est implémentée.

I. CONCEPT DE LA VIRTUALISATION
Avant d’entrer de fond en comble dans le concept de la virtualisation, il convient de définir
un ensemble de terme et expression que nous rencontrerons tout au long de ce cours.
1. Définitions

Virtualisation : consiste à faire fonctionner sur un seul ordinateur plusieurs systèmes d’exploitation
comme s’ils fonctionnaient sur des ordinateurs distincts.

Machine virtuelle : fichier informatique, généralement appelé image, qui se comporte comme un
ordinateur réel. En d’autres termes, il s’agit d’un ordinateur créé à l’intérieur d’un ordinateur

ou

ordinateur qui ne possède aucun matériel physique, parce qu'il est "émulé" sur un ordinateur physique
(normal) qu'on appelle l'hôte

2. Historique de la virtualisation

1
Enseignant : Emile Jonathan ELOUGA NKE
Virtualisation

Au lieu de multiplier les machines physiques avec un seul système d’exploitation installé, on utilise une
machine physique pour virtualiser plusieurs systèmes d’exploitation. La virtualisation a notamment été
créée pour répondre à la problématique de la sous-utilisation des ressources matérielles.
Historique de la virtualisation
Les années 70 : Une bonne part des travaux sur la virtualisation fut développée au centre scientifique
de Cambridge d’IBM en collaboration avec le MIT, où fut mis au point le système expérimental
CP/CMS, devenant ensuite le produit (alors nommé Hyperviseur) VM/CMS. Par la suite, les mainframes
(serveurs IBM) ont été capables de virtualiser leurs systèmes d’exploitation avec des technologies
spécifiques et propriétaires, à la fois logicielles et matérielles. En 1979 fut annoncé par exemple sur les
IBM 4331 et 4341 un accélérateur VM optionnel et microcodé.
Les années 80-90 : Dans la deuxième moitié des années 1980 et au début des années 1990, on a créé
des embryons de virtualisation sur des ordinateurs personnels. Ces solutions pouvaient être soit
purement logicielles, soit couplées à du matériel additionnel (ajout de processeur, carte réseau, etc.). Et
c’est sur des ordinateurs Amiga équipé de processeur hétérogène comme le 80386 et 80486, 68xxx, et
PPC qu’il était possible de lancer d’autres OS comme un Windows, Mac OS, voire des solutions Linux.
Le tout en multitâche sous AmigaOS. Pour les PC, il y avait des émulateurs comme le SideCar et PC
Task. Sur Macintosh, Emplant et ShapeShifter.
Fin des années 90, début 2000 : Dans la seconde moitié des années 1990, les émulateurs sur x86 des
vieilles machines des années 1980 ont connu un énorme succès, notamment les ordinateurs Atari,
Amiga, Amstrad et les consoles NES, SNES, Neo-Geo AES. La société VMware développa et
popularisa à la fin des années 1990 et au début des années 2000 un système propriétaire de virtualisation
logicielle des architectures de type x86 pour les architectures de type x86. Les logiciels libres Xen,
KVM, QEMU, Bochs, Linux-VServer, Virtual Box et les logiciels propriétaires mais gratuits VirtualPC,
Virtual Server et VMware Server ont achevé la popularisation de la virtualisation dans le monde x86.

3. Architecture de la virtualisation

Avant l’avènement de la virtualisation, l’architecture physique traditionnelle consistait en l’installation


d’un système d’exploitation serveur sur un serveur physique, puis dans le système d’exploitation
installé, on pouvait déployer autant d’application que possible en fonction des objectifs et de l’activité
visés (mails, services web, bases de données, etc.). Cependant, avec plusieurs services déployés sur le
même serveur, l’exécution de certains entraine parfois des conflits avec d’autres pour diverses raisons
(conflits au niveau des numéros de ports, allocation des ressources, etc.). Habituellement, le seul moyen
d’isoler ces applications les unes des autres consistait en l’acquisition d’une nouvelle plateforme
physique (serveur physique) afin de déployer chaque service (et services dérivés) sur un serveur dédié.

Cette solution permettait d’avoir une isolation effective des services mais posait naturellement un
problème de coûts car le déploiement de nouveaux services impliquait presqu’inéluctablement
l’acquisition de nouveau serveurs. L’acquisition de nouveaux serveurs en elle-même entrainait aussi
d’autres inconvénients tels que des problèmes d’espace (pour le stockage des serveurs physiques), une
augmentation de la consommation en énergie électrique, une augmentation des coûts de maintenance,
pour ce citer que ceux-là.

2
Enseignant : Emile Jonathan ELOUGA NKE
Virtualisation

Figure 1 : Architecture physique classique

La virtualisation quant à elle prend en compte l’infrastructure physique sous-jacente, sur laquelle est
déployé un logiciel ou un système d’exploitation permettant d’avoir sur cette même infrastructure,
plusieurs entités logiques exploitant les propriétés physiques de ladite infrastructure et sur lesquels
peuvent être installé divers systèmes d’exploitation pouvant fonctionner simultanément et de façon
indépendante. Ces entités sont connues sous le vocable de machines virtuelles défini précédemment. Sur
un même hôte, les machines virtuelles partagent l’infrastructure physique sous-jacente (les ressources
physiques de cet hôte).

3
Enseignant : Emile Jonathan ELOUGA NKE
Virtualisation

Figure 2 : Architecture virtualisée (à droite)

II. LES HYPERVISEURS


1. Définitions

Un hyperviseur est une plateforme de virtualisation qui permet le déploiement et le fonctionnement


simultané de plusieurs systèmes d’exploitation sur une même plateforme physique (ordinateur).

Il existe plusieurs types d’hyperviseurs en fonction de leur mode de déploiement et de fonctionnement.

2. Les types d’hyperviseurs

Il existe à ce jour deux principaux types d’hyperviseurs à savoir les hyperviseurs natifs d’une part et les
hyperviseurs hébergés d’autre part.

a. Les hyperviseurs natifs (bare metal)

Encore appelé hyperviseur de type 1 ou hyperviseur bare metal, un hyperviseur natif est un système
qui s’installe directement sur la couche matérielle du serveur (ordinateur). Ces systèmes sont allégés de
manière à permettre principalement la gestion des systèmes d’exploitation invités, c’est-à-dire ceux
utilisés par les machines virtuelles qu’ils hébergent. Ceci permet de dédier la quasi-totalité (relative) des
ressources aux machines virtuelles. L’hyperviseur étant lié à la couche matérielle, il n’est possible
d’exécuter qu’un seul hyperviseur à la fois sur une plateforme matérielle (ordinateur/serveur).

Exemples d’hyperviseurs de type 1 : Xen, VMwareESX, Proxmox, etc.

4
Enseignant : Emile Jonathan ELOUGA NKE
Virtualisation

Figure 3 : Principe de déploiement d’un hyperviseur natif.

Les hyperviseurs de type 1 peuvent être utilisés pour virtualiser des serveurs de fichiers, de bases de
données, de messageries, etc... Ce type d'hyperviseur est à privilégier lorsque l'on souhaite exécuter des
applicatifs en continu. La quasi-totalité des serveurs peut être virtualisée via un hyperviseur de type 1.

Compatibilité avec les serveurs

Un hyperviseur devra être compatible à deux niveaux :


Compatibilité avec le matériel sur lequel il s'exécute (constructeurs et composants) ;
Compatibilité avec les OS qui sont supportés dans les VM.
Afin d'assurer la stabilité du système, il est indispensable de valider cette double compatibilité.

b. Les hyperviseurs hébergés

Un hyperviseur de type 2 ou hyperviseur hébergé est un logiciel qui s’installe et s’exécute sur système
d’exploitation déjà en place. De ce fait, plus de ressources sont utilisées étant donné que l’on fait
fonctionner non seulement l’hyperviseur, mais aussi le système d’exploitation qui le supporte ; il y a
donc moins de ressources disponibles pour les machines virtuelles. Compte tenu du fait de l’hyperviseur
n’est pas directement lié à la couche matérielle ici, il est possible d’exécuter plusieurs hyperviseurs
simultanément.

Figure 4 : Principe de déploiement d’un hyperviseur hébergé

5
Enseignant : Emile Jonathan ELOUGA NKE
Virtualisation

Avantages : Il est possible d'exécuter plusieurs hyperviseurs en même temps car ceux-ci ne s'installent
pas directement sur la couche matérielle.

Inconvénients : Ce type d'hyperviseur ne peut pas fournir autant de ressources matérielles que les
hyperviseurs de type 1 puisqu'ils sont installés sur un système d'exploitation, lui-même consommateur
de ressources.

3. Rôle des hyperviseurs

L’hyperviseur est un logiciel qui permet et gère la virtualisation. Les hyperviseurs sont de plus en plus
présents dans les architectures des entreprises étant donné que la virtualisation se développe et se répand
rapidement. Les solutions sont multiples et plus ou moins coûteuses. Quoi qu'il en soit, votre serveur
doit disposer d'une configuration matérielle supportant la technologie Intel-VT ou AMD-V pour
pouvoir virtualiser.

- Permettre ces mécanismes pour chaque OS invité, lui permettant de croire qu'il est le seul sur la
machine.
- Intercepter les communications avec les interruptions, la MMU (Memory Management Unit =
Unité de Gestion/virtualisation de la Mémoire)... et simuler de façon logicielle ces interfaces.

4. Quelques fonctions d’un hyperviseur

Un hyperviseur regorge de fonctions dont parmi lesquelles on peut citer :

- Création des machines virtuelles ;


- Allocation logique des ressources physiques de l’hôte ;
- Gestion logiques des ressources de stockage ;
- Virtualisation des machines physiques ;
- Prise des instantanés (snapshots) ;
- Clonage des machines virtuelles ;
- Suppression des machines virtuelles

5. Les types de virtualisation

On distingue habituellement trois types de virtualisations qui sont :

- Virtualisation de Serveur : en effet, investir dans des serveurs physiques qui ne sont pas pleinement
exploités, chacun étant réservé à une utilisation spécifique, la virtualisation des serveurs permet de
regrouper ces systèmes sur un plus petit nombre de serveurs physiques, mais mieux utilisés.

Elle permet de :

• Regrouper plusieurs serveurs physiques sous-employés sur un seul hôte qui exécute des systèmes
virtuels.

• Réduire la surface au sol, la consommation électrique, le besoin de climatisation et le nombre


d'administrateurs ; améliore la souplesse d'adaptation de l'informatique.

• Réaliser des économies (locaux, consommation électrique, personnel).

6
Enseignant : Emile Jonathan ELOUGA NKE
Virtualisation

- Virtualisation de poste de travail : cette solution donne aux administrateurs systèmes et réseaux la
possibilité de gérer beaucoup plus facilement les postes de travail des entreprises et de répondre plus
simplement aux demandes des utilisateurs. Un poste de travail virtualisé (ou bureau virtuel) peut être
hébergé soit directement sur le PC client soit sur un serveur qui porte le nom de VDI (Virtual Desktop
Infrastructure).

Le bureau virtuel sur les postes client va créer un second environnement d'exploitation, isolé, pour
permettre de faire fonctionner des applications anciennes ou incompatibles avec un système
d'exploitation moderne, ou des applications métier dans leur environnement natif. Cette technique 
sert aussi à faire fonctionner plusieurs systèmes d'exploitation sur le même matériel (par exemple un
pour l'entreprise et l'autre pour des besoins personnels.

- Virtualisation d’application: généralement les applications s'appuient sur le système d'exploitation


pour certains services comme l'accès aux périphériques ou la distribution de la mémoire disponible. À
l’aide de la virtualisation de serveur et en publiant les applications dessus, certains problèmes de
compatibilité peuvent être réglés. Mais si les incompatibilités sont liées à deux applications installées
sur un même système d'exploitation, le mieux sera de passer par la virtualisation d’application qui va
permettre de :

• Simplifier et accélérer le déploiement des applications.

• Créer, pour chaque application, des copies des ressources partagées.

6. Avantages de la virtualisation

La virtualisation répond à de nombreux besoins :

 Rentabiliser son infrastructure et ses ressources du fait d’une utilisation plus intelligente
 Exécuter plusieurs types de systèmes d’exploitation (Linux, Mac OS, Windows)
 Réduire son coût de possession du matériel (électricité, leasing serveur, climatisation)
 Administration logique/physique centralisée
 Rapidité de déploiement.
 Souplesse d’évolution du matériel.
 Allocation des ressources et load-balancing.
 Cloisonnement, sécurité.

Quels intérêts d’utiliser la virtualisation dans les entreprises ?

Evidemment, le premier avantage reste la possibilité d’émuler d’autres systèmes d’exploitation autre
que ceux dont on dispose déjà.

Mais heureusement ce n’est pas le seul, les autres sont principalement liés à l’aspect financier:

- Coût d'électricité et de climatisation réduit,

- Rapidité pour mettre en place un nouveau serveur,

- Assistance plus efficace des serveurs,

- Portabilité, Migration,

7
Enseignant : Emile Jonathan ELOUGA NKE
Virtualisation

- Facilité et rapidité de se relever d'un désastre,

- Méthode simple de mise en place d’environnement de tests peu couteux et complets,

- Les licences Microsoft sont avantageuses et encouragent la virtualisation.

8
Enseignant : Emile Jonathan ELOUGA NKE