Sie sind auf Seite 1von 88

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE

MINISTRE DE L’ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE


UNIVERSITE MOULOUD MAMMERI DE TIZI-OUZOU
FACULTE DE GENIE ELECTRIQUE ET INFORMATIQUE
DEPARTEMENT D’ELECTRONIQUE
LMD SEMESTRE 6

MINI PROJET
Configuration et simulation des réseaux à
l’aide de machines virtuelles

Encadré par : Proposé par :


 M. OUALLOUCHE F.  Ait Hami Abdelfateh
 Bourbas Laziz

Année 2011-2012
Sommaire

I.1 Les réseaux informatiques............................................................1

Similitudes entre types de réseaux..............................................1

I.2 Les différents types de réseaux…...................................................2

Les LAN ..................................................................................2

Les MAN..................................................................................3

Les WAN.................................................................................3

I.3 Topologie de réseau.....................................................................3

Topologies de réseaux locaux classiques..................................... 3

Le réseau en anneau................................................................ 4

Le réseau en arbre................................................................... 5

Le réseau en bus..................................................................... 5

Le réseau en étoile.................................................................. 6

Le réseau linéaire.................................................................... 7

Le réseau maillé.............................................................. ........ 7

Les autres topologies............................................................... 8

Internet et les réseaux en général............................................. 8

II.1 La virtualisation..........................................................................9

II.2 Principe.....................................................................................9

Notions.................................................................................10

II.3 Intérêts de la virtualisation........................................................10

II.4 Comparaison de différentes techniques de virtualisation.. ..............12


Isolateur.. ............................................................................ 12

Noyau en espace utilisateur. ................................................... 13

Hyperviseur de type 2.. ......................................................... 14

Hyperviseur de type 1. .......................................................... 15

II.5 Paravirtualisation. ....................................................................16

II.6 Quelques Logiciels de virtualisation.. ..........................................18

II.6.1 VMware. ..............................................................................18

II.6.2 Oracle VM VirtualBox. ............................................................22

II.6.3 Autres logiciels de virtualisation.. ............................................24

QEMU. ................................................................................. 24

KVM : Kernel-based Virtual Machine......................................... 27

Xen.. ................................................................................... 28

Parallels Desktop. ................................................................. 31

II.7 VirtualBox : créer une machine virtuelle.......................................35

II.7.1 Avantages de la virtualisation.. ...............................................35

II.7.2 Installation de VirtualBox.. .....................................................36

II.7.3 Création d'une machine virtuelle. ...........................................40

II.7.4 Création d'un disque virtuel. ...................................................44

II.7.5 Finalisation de la machine virtuelle.. ........................................46

II.7.6 Réglages de la machine virtuelle.. ...........................................46

II.7.7 Installation du système d'exploitation.. ....................................53

II.7.8 Utilisation de la machine virtuelle. ...........................................56

III.1 Architectures réseaux.. ............................................................58

III.1.1 L'architecture client/serveur. .................................................58

Présentation de l'architecture d'un système client/serveur.. ........ 58


Avantages de l'architecture client/serveur. ............................... 59

Inconvénients de l'architecture client/serveur.. ......................... 59

Fonctionnement d'un système client/serveur. ........................... 60

Présentation de l'architecture à plusieurs niveaux. ..................... 60

L'architecture à deux niveaux.. ............................................... 60

L'architecture à 3 niveaux.. .................................................... 61

Protocole et serveur FTP.. ...................................................... 61

Comment utiliser FTP comme client ?.. .................................... 62

III.1.2 L'architecture poste à poste. .................................. ...............63

Présentation de l'architecture d'un système poste à poste.. ........ 63

Avantages de l'architecture poste à poste.. ............................... 63

Inconvénients de l'architecture poste à poste. ........................... 64

Fonctionnement d'un système Peer to Peer.. ............................ 64

III.2 Configuration d'un réseau en utilisant VirtualBox.. .......................65

III.2.1 Poste à Poste. .....................................................................65

III.2.2 Configuration des différents OS. .............................................65

Windows XP. ........................................................................ 65

Windows 7.. ......................................................................... 67

UBUNTU (Linux).. ................................................................. 69

III.2.2 Client/Server. ......................................................................73

Création d’un Site FTP. ...........................................................75

Conclusion. ...................................................................................80

Bibliographie..................................................................................81
Chapitre I

Introduction aux
réseaux
Chapitre I Introduction aux réseaux 2011-2012

I.1 Les réseaux informatiques

Définition

Le terme générique « réseau » définit un ensemble d'entités (objets,


personnes, etc.) interconnectées les unes avec les autres. Un réseau
permet ainsi de faire circuler des éléments matériels ou immatériels entre
chacune de ces entités selon des règles bien définies.

-> réseau informatique: ensemble d'ordinateurs reliés entre eux grâce à


des lignes physiques et échangeant des informations sous forme de données
numériques.

Un ordinateur est une machine permettant de manipuler des données.


L'homme, en tant qu'être communiquant, a rapidement compris l'intérêt qu'il
pouvait y avoir à relier ces ordinateurs entre eux afin de pouvoir échanger des
informations.
Un réseau informatique peut servir plusieurs buts distincts :
- Le partage de ressources (fichiers, applications ou matériels, connexion à
internet, etc.)
- La communication entre personnes (courrier électronique, discussion en
direct, etc.)
- La communication entre processus (entre des ordinateurs industriels par
exemple)
- La garantie de l'unicité et de l'universalité de l'accès à l'information (bases de
données en réseau)
- Le jeu vidéo multijoueur

Similitudes entre types de réseaux

Les différents types de réseaux ont généralement les points suivants en


commun :

- Serveurs : ordinateurs qui fournissent des ressources partagées aux


utilisateurs par un serveur de réseau
- Clients : ordinateurs qui accèdent aux ressources partagées fournies par un
serveur de réseau
- Support de connexion : conditionne la façon dont les ordinateurs sont reliés
entre eux.

-1-
Chapitre I Introduction aux réseaux 2011-2012

- Données partagées : fichiers accessibles sur les serveurs du réseau


Imprimantes et autres périphériques partagés : fichiers, imprimantes ou autres
éléments utilisés par les usagers du réseau
- Ressources diverses : autres ressources fournies par le serveur

I.2 Les différents types de réseaux

On distingue différents types de réseaux selon leur taille (en termes de


nombre de machines), leur vitesse de transfert des données ainsi que leur
étendue.
On fait généralement trois catégories de réseaux :
- LAN (local area network)
- MAN (metropolitan area network)
- WAN (wide area network)

Les LAN

LAN signifie Local Area Network (en français Réseau Local). Il s'agit d'un
ensemble d'ordinateurs appartenant à une même organisation et reliés entre
eux dans une petite aire géographique par un réseau, souvent à l'aide d'une
même technologie (la plus répandue étant Ethernet).
Un réseau local est donc un réseau sous sa forme la plus simple. La vitesse de
transfert de données d'un réseau local peut s'échelonner entre 10 Mbps (pour
un réseau ethernet par exemple) et 1 Gbps (en FDDI ou Gigabit Ethernet par
exemple). La taille d'un réseau local peut atteindre jusqu'à 100 voire 1000
utilisateurs.
En élargissant le contexte de la définition aux services qu’apporte le réseau
local, il est possible de distinguer deux modes de fonctionnement :
- dans un environnement d'"égal à égal" (en anglais peer to peer), dans lequel il
n'y a pas d'ordinateur central et chaque ordinateur a un rôle similaire
- dans un environnement "client/serveur", dans lequel un ordinateur
central fournit des services réseau aux utilisateurs

-2-
Chapitre I Introduction aux réseaux 2011-2012

Les MAN

Les MAN (Metropolitan Area Network) interconnectent plusieurs LAN


géographiquement proches (au maximum quelques dizaines de km) à des
débits importants. Ainsi un MAN permet à deux nœuds distants de
communiquer comme s’ils faisaient partie d'un même réseau local.
Un MAN est formé de commutateurs ou de routeurs interconnectés par des
liens hauts débits (en général en fibre optique).

Les WAN

Un WAN (Wide Area Network ou réseau étendu) interconnecte


plusieurs LANs à travers de grandes distances géographiques.
Les débits disponibles sur un WAN résultent d'un arbitrage avec le coût des
liaisons (qui augmente avec la distance) et peuvent être faibles.
Les WAN fonctionnent grâce à des routeurs qui permettent de "choisir" le
trajet le plus approprié pour atteindre un nœud du réseau.
Le plus connu des WAN est Internet.

I.3 Topologie de réseau


Une topologie de réseau est en informatique une définition de
l'architecture d'un réseau. Elle donne une certaine disposition des différents
postes informatiques du réseau et une hiérarchie de ces postes.

Topologies de réseaux locaux classiques

Les architectures suivantes sont ou ont effectivement été utilisées dans


des réseaux informatiques grand public ou d'entreprise. La topologie d'un
réseau correspond à son architecture physique. En ce sens ou leur structure
détermine leur type.
Il existe 2 modes de propagation classant ces topologies :
Mode de diffusion (par exemple topologie en bus ou en anneau)
Ce mode de fonctionnement consiste à n'utiliser qu'un seul support de
transmission. Le principe est que le message est envoyé sur le réseau, ainsi
toute unité réseau est capable de voir le message et d'analyser selon l'adresse
du destinataire si le message lui est destiné ou non.
Mode point à point (par exemple topologie en étoile ou maillée)

-3-
Chapitre I Introduction aux réseaux 2011-2012

Dans ce mode, le support physique ne relie qu'une paire d'unités seulement.


Pour que deux unités réseaux communiquent, elles doivent obligatoirement
passer par un intermédiaire (le nœud).

Le réseau en anneau

La défaillance d'un nœud rompt la structure d'anneau si la


communication est unidirectionnelle. Un réseau a une topologie en anneau
quand toutes ses stations sont connectées en chaîne les unes aux autres par
une liaison bipoint et la dernière à la première.
(Chaque station joue le rôle de station intermédiaire.) Chaque station qui reçoit
une trame, l'interprète et la réémet à la station suivante de la boucle si c'est
nécessaire.
Note : les ordinateurs d'un réseau en anneau ne sont pas reliés en « boucle »,
mais sont connectés à un répartiteur appelé (MAU), pour Multistation Access
Unit) qui va gérer la communication entre les ordinateurs reliés en impartissant
à chacun d'eux un « temps de parole ».
En cas de collision de deux messages, les deux seront perdus.

-4-
Chapitre I Introduction aux réseaux 2011-2012

Le réseau en arbre

Aussi connu sous le nom de hiérarchique, il est divisé en niveaux. Le


sommet, de haut niveau, est connecté à plusieurs nœuds de niveau inférieur,
dans la hiérarchie. Ces nœuds peuvent être eux-mêmes connectés à plusieurs
nœuds de niveau inférieur. Le tout dessine alors un arbre, ou une
arborescence. Le point faible de ce type de topologie réside dans l'ordinateur
"père" de la hiérarchie qui, s'il tombe en panne, paralyse la moitié du réseau.

Le réseau en bus

Il a également un faible coût de déploiement, et la défaillance d'un nœud


(ordinateur) ne scinde pas le réseau en deux sous-réseaux. Cette topologie est

-5-
Chapitre I Introduction aux réseaux 2011-2012

représentée par un câblage unique des unités réseaux. Ces unités sont reliées
de façon passive par dérivation électrique ou optique. Les caractéristiques de
cette topologie sont les suivantes :

 Lorsqu'une station est défectueuse et ne transmet plus sur le réseau, elle


ne perturbe pas le réseau.
 Lorsque le support est en panne, c'est l'ensemble du réseau qui ne
fonctionne plus.
 Le signal émis par une station se propage dans un seul sens ou dans les
deux sens.
 Si la transmission est bidirectionnelle : toutes les stations connectées
reçoivent les signaux émis sur le bus en même temps (au délai de
propagation près).
 Le bus est terminé à ses extrémités par des bouchons pour éliminer les
réflexions possibles du signal.

Le réseau en étoile

C'est la topologie la plus courante actuellement. Omniprésente, elle est


aussi très souple en matière de gestion et dépannage de réseau : la panne d'un
nœud ne perturbe pas le fonctionnement global du réseau. En revanche,

-6-
Chapitre I Introduction aux réseaux 2011-2012

l'équipement central (un concentrateur (hub) et plus souvent sur les réseaux
modernes, un commutateur (Switch)) qui relie tous les nœuds constitue un
point unique de défaillance : une panne à ce niveau rend le réseau totalement
inutilisable. Le réseau Ethernet est un exemple de topologie en étoile.
L'inconvénient principal de cette topologie réside dans la longueur des câbles
utilisés.

Le réseau linéaire

Il a pour avantage son faible coût de déploiement, mais la défaillance


d'un nœud (ordinateur) peut scinder le réseau en deux sous-réseaux.

Le réseau maillé

Une topologie maillée correspond à plusieurs liaisons point à point. (Une


unité réseau peut avoir (1,N) connexions point à point vers plusieurs autres
unités.) Chaque terminal est relié à tous les autres. L'inconvénient est le
nombre de liaisons nécessaires qui devient très élevé lorsque le nombre de

-7-
Chapitre I Introduction aux réseaux 2011-2012

terminaux l'est: s'il y a N terminaux, le nombre de liaisons nécessaires est de

, fonction qui croît comme N * 2


Cette topologie se rencontre dans les grands réseaux de distribution (Exemple :
Internet).
L'information peut parcourir le réseau suivant des itinéraires divers, sous le
contrôle de puissants superviseurs de réseau, ou grâce à des méthodes de
routage réparties.
Elle existe aussi dans le cas de couverture Wi-Fi. On parle alors bien souvent de
topologie mesh mais ne concerne que les routeurs Wifi. Ceux-ci se relient les
paquets grâce au protocole OLSR.

Les autres topologies

Il existe d'autres types de topologies, mais elles ne sont utilisées que dans
des réseaux conçus pour des tâches particulières, souvent scientifiques, ou
pour effectuer des calculs distribués :

 le réseau en grille
 le réseau en hypercube

Cette topologie serait en théorie la meilleure qui soit (chaque nœud étant relié
à chaque autre par un lien direct), mais dans la pratique elle serait aussi la plus
chère, et de très loin (coût en N² avec le nombre de nœuds !); elle n'est utilisée
que dans des dispositifs particuliers, en général à l'intérieur d'un même châssis.

Internet et les réseaux en général

Internet est le nom donné à l'interconnexion de plusieurs réseaux,


potentiellement de topologies différentes, l'unification n'en étant faite qu'au
niveau du seul adressage IP (v4 ou v6). De ce fait, aucun des cas particuliers de
topologies citées ci-dessus ne le concerne; comme pour la plupart des grands
réseaux, on dit d'Internet que sa topologie est quelconque, et de toute façon
indifférente au plan d'adressage qui y est défini.

-8-
Chapitre II

Les Machines virtuelles


Chapitre II Les machines virtuelles 2011-2012

II.1 La virtualisation

Définition

La virtualisation consiste à faire fonctionner un ou plusieurs systèmes


d'exploitation / applications (comme un browser), sur un ou plusieurs
ordinateurs - serveurs / système d'exploitation, au lieu d'en installer un seul par
machine. On appelle serveur privé virtuel (Virtual Private Server ou VPS) ou
encore environnement virtuel (Virtual Environment ou VE) ces ordinateurs
virtuels.

II.2 Principe

Il peut sembler a priori étrange de simuler plusieurs machines sur une


seule : un système d'exploitation est conçu pour utiliser au mieux un matériel
qui est entièrement sous son contrôle. La juxtaposition de plusieurs systèmes
non conçus pour communiquer entre eux peut faire craindre des inefficiences
auxquelles s'ajoute le fait que le processus de virtualisation lui-même va
consommer des ressources.

Le tableau n'est pas aussi sombre. D'une part, on évite une grande partie de
ces inefficiences juste en disposant de disques différents pour chaque système
lorsque c'est possible, et d'autre part les coûts de la mémoire permettent à
chacun de ces systèmes de rester résident, et parfois même avec de larges
sections de code partagées. Par ailleurs le microcode des mainframes comme
des microprocesseurs inclut de plus en plus de fonctionnalités rendant la
virtualisation plus efficace.

Enfin, il est courant pour une entreprise de disposer d'une quinzaine de


serveurs fonctionnant à 15% de leur capacité, celle-ci n'étant là que pour faire
face à tout moment aux pointes de charge sporadiques. Un serveur chargé à
15% ne consomme pas beaucoup moins d'énergie qu'un serveur chargé à 90%,
et regrouper 4 serveurs sur une même machine peut donc s'avérer rentable si
leurs pointes de charge ne coïncident pas systématiquement, même si 30% de
la charge machine est représentée par la virtualisation elle-même.

Enfin, la virtualisation des serveurs permet une bien plus grande modularité
dans la répartition des charges et la reconfiguration des serveurs en cas
d'évolution ou de défaillance momentanée (plan de secours, etc.).
-9-
Chapitre II Les machines virtuelles 2011-2012

Notions

Chaque outil de virtualisation met en œuvre une ou plusieurs de ces


notions :

 couche d'abstraction matérielle et/ou logicielle


 système d'exploitation hôte (installé directement sur le matériel)
 systèmes d'exploitations (ou applications, ou encore ensemble
d'applications) « virtualisé(s) » ou « invité(s) »
 partitionnement, isolation et/ou partage des ressources physiques et/ou
logicielles
 images manipulables : démarrage, arrêt, gel, clonage, sauvegarde et
restauration, sauvegarde de contexte, migration d'une machine physique à
une autre
 réseau virtuel : réseau purement logiciel, interne à la machine hôte, entre
hôte et/ou invités

II.3 Intérêts de la virtualisation

Les intérêts sont :

 utilisation optimale des ressources d'un parc de machines (répartition des


machines virtuelles sur les machines physiques en fonction des charges
respectives),
 installation, déploiement et migration facile des machines virtuelles d'une
machine physique à une autre, notamment dans le contexte d'une mise en
production à partir d'un environnement de qualification ou de pré-
production, livraison facilitée,
 économie sur le matériel par mutualisation (consommation électrique,
entretien physique, surveillance, support, compatibilité matérielle, etc.)
 installation, tests, développements, cassage et possibilité de recommencer
sans casser le système d'exploitation hôte
 sécurisation et/ou isolation d'un réseau (cassage des systèmes
d'exploitation virtuels, mais pas des systèmes d'exploitation hôtes qui sont
invisibles pour l'attaquant, tests d'architectures applicatives et réseau)
 isolation des différents utilisateurs simultanés d'une même machine
(utilisation de type site central)

- 10 -
Chapitre II Les machines virtuelles 2011-2012

 allocation dynamique de la puissance de calcul en fonction des besoins de


chaque application à un instant donné,
 diminution des risques liés au dimensionnement des serveurs lors de la
définition de l'architecture d'une application, l'ajout de puissance (nouveau
serveur etc.) étant alors transparent.

Historique

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. Voir IBM 360 et 370.

Par la suite, les mainframes 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é.
Dans la deuxième moitié des années 1980 et dans les débuts des années 1990,
on a créé des embryons de virtualisation pour les ordinateurs personnels. En
effet l'ordinateur Amiga pouvait lancer des pc x386, Macintosh 68xxx, voire des
solutions X11, et bien sûr le tout en multitâche. Ces solutions pouvaient être
soit purement logicielles, soit couplées à du matériel additionnel (ajout de
processeur, carte réseau, etc.). Cette machine, très en avance sur son temps, a
popularisé cette technologie. Pour les PC il y avait le "SideCar" et "PC Task",
pour le Macintosh Emplant et ShapeShifter.
Les grands Unix ont suivi avec les architectures NUMA des Superdome
d'HP (PA-RISC et IA-64) et des E10000/E15000 de Sun (UltraSparc).
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, QEMU, Bochs, Linux-VServer, Virtual Box et les logiciels propriétaires
mais gratuits VirtualPC, VirtualServer et VMware Server ont achevé la

- 11 -
Chapitre II Les machines virtuelles 2011-2012

popularisation de la virtualisation dans le monde x86. VMware a dernièrement


rendu gratuit une version allégée de son hyperviseur phare ESX3i.
Les fabricants de processeurs x86 AMD et Intel ont mis en œuvre la
virtualisation matérielle dans leurs gammes dans la seconde moitié de l'an
2000.

II.4 Comparaison de différentes techniques de


virtualisation

Afin d'avoir une idée théorique des performances des applications au


sommet, il faut comparer verticalement l'empilage de couches. Il est possible
d'élargir les schémas en rajoutant des environnements virtualisés consommant
également des ressources de l'hôte.

Isolateur

Isolateur

Un isolateur est un logiciel permettant d'isoler l'exécution des


applications dans ce que l’on appelle des contextes ou bien zones d'exécution.
L'isolateur permet ainsi de faire tourner plusieurs fois la même application dans
un mode multi-instance (plusieurs instances d’exécution) même si elle n’était
pas conçue pour ça.
Cette solution est très performante, du fait du peu d'overhead (temps passé
par un système à ne rien faire d'autre que se gérer), mais les environnements
virtualisés ne sont pas complètement isolés.

- 12 -
Chapitre II Les machines virtuelles 2011-2012

La performance est donc au rendez-vous, cependant on ne peut pas vraiment


parler de virtualisation de systèmes d’exploitation. Uniquement liés aux
systèmes Linux, les isolateurs sont en fait composés de plusieurs éléments et
peuvent prendre plusieurs formes.

Exemples :

 Linux-VServer : isolation des processus en espace utilisateur ;


 chroot : isolation changement de racine ;
 BSD Jail : isolation en espace utilisateur ;
 OpenVZ : libre, partitionnement au niveau noyau sous Linux.

Noyau en espace utilisateur

Noyaux en mode utilisateur

Un noyau en espace utilisateur (user-space) tourne comme une


application en espace utilisateur de l'OS hôte. Le noyau user-space a donc son
propre espace utilisateur dans lequel il contrôle ses applications.
Cette solution est très peu performante, car deux noyaux sont empilés et
l’isolation des environnements n’est pas gérée et l’indépendance par rapport
au système hôte est inexistante. Elle sert surtout au développement du noyau.
Exemples :

 User Mode Linux : noyau tournant en espace utilisateur


 Cooperative Linux ou coLinux : noyau coopératif avec un hôte Windows
 Adeos : micro noyau RT faisant tourner Linux en kernel-space non-RT
 L4Linux : micro noyau RT faisant tourner Linux en kernel-space non-RT

- 13 -
Chapitre II Les machines virtuelles 2011-2012

Hyperviseur de type 2

Hyperviseur de type 2

Un hyperviseur de type 2 est un logiciel (généralement assez lourd) qui


tourne sur l'OS hôte. Ce logiciel permet de lancer un ou plusieurs OS invités. La
machine virtualise ou/et émule le matériel pour les OS invités, ces derniers
croient dialoguer directement avec ledit matériel.
Cette solution est très comparable à un émulateur, et parfois même
confondue. Cependant l’unité centrale de calcul, c'est-à-dire le
microprocesseur, la mémoire de travail (ram) ainsi que la mémoire de stockage
(via un fichier) sont directement accessibles aux machines virtuelles, alors que
sur un émulateur l’unité centrale est simulée, les performances en sont donc
considérablement réduites par rapport à la virtualisation.
Cette solution isole bien les OS invités, mais elle a un coût en performance. Ce
coût peut être très élevé si le processeur doit être émulé, comme cela est le cas
dans l’émulation. En échange cette solution permet de faire cohabiter plusieurs
OS hétérogènes sur une même machine grâce à une isolation complète. Les
échanges entre les machines se font via les canaux standards de
communication entre systèmes d’exploitation (TCP/IP et autres protocoles
réseau), un tampon d’échange permet d’émuler des cartes réseaux virtuelles
sur une seule carte réseau réelle.

Exemples :

 Logiciels Microsoft
 Microsoft VirtualPC

- 14 -
Chapitre II Les machines virtuelles 2011-2012

 Microsoft VirtualServer
 Logiciels Paralleles
 Parallels Desktop

 Parallels Server
 Oracle VM VirtualBox (libre)
 Logiciels VMware
 VMware Fusion

 VMware Player

 VMware Server
 VMware Workstation

Hyperviseur de type 1

Hyperviseur de type 1

Un hyperviseur de type 1 est comme un noyau système très léger et


optimisé pour gérer les accès des noyaux d'OS invités à l'architecture matérielle
sous-jacente. Si les OS invités fonctionnent en ayant conscience d'être
virtualisés et sont optimisés pour ce fait, on parle alors de para-virtualisation
(méthode indispensable sur Hyper-V de Microsoft et qui augmente les
performances sur ESX de VMware par exemple).
Actuellement l’hyperviseur est la méthode de virtualisation d'infrastructure la
plus performante mais elle a pour inconvénient d’être contraignante et
onéreuse, bien que permettant plus de flexibilité dans le cas de la virtualisation
d'un centre de traitement de données.

- 15 -
Chapitre II Les machines virtuelles 2011-2012

Exemples :

 Xen (libre)
 VMware ESX
 VMware ESXi
 Microsoft Hyper-V Server
 Parallels Server Bare Metal
 KVM (libre)
 (en) Oracle VM (gratuit)
 Lime Access

Matériel
Le support de la virtualisation peut être intégré au processeur ou assisté
par celui-ci, le matériel se chargeant, par exemple, de virtualiser les accès
mémoire ou de protéger le processeur physique des accès les plus bas niveaux.
Cela permet de simplifier la virtualisation logicielle et de réduire la dégradation
de performances.
Des exemples de virtualisation matérielle :

 Hyperviseur IBM Power & Micro-partitionnement AIX


 Mainframes : VM/CMS
 Sun LDOM (hyperviseur pour la gestion de "logical domains")
 Sun E10k/E15k
 HP Superdome
 AMD-V (Assistance à la virtualisation de AMD, anciennement Pacifica)
 Intel VT (Assistance à la virtualisation de Intel, anciennement Vanderpool)

II.5 Paravirtualisation

En informatique, la paravirtualisation est une technique


de virtualisation qui présente une interface logicielle similaire à du matériel
réel à une machine virtuelle mais optimisée pour ce type de fonctionnement,
contrairement à l'émulation d'un périphérique matériel existant qui peut
s'avérer laborieuse et surtout lente.
La paravirtualisation permet aux moniteurs de machines virtuelles (MMV)
d'être plus simples et aux machines virtuelles fonctionnant dessus d'atteindre
un niveau de performance proche du matériel réel. Cependant, les systèmes
- 16 -
Chapitre II Les machines virtuelles 2011-2012

d’exploitation doivent explicitement être portés afin de fonctionner sur des


MMV paravirtualisées. Le portage des systèmes d'exploitation libres est
généralement effectué, seulement il appartient aux fournisseurs de systèmes
fermés de réaliser le portage eux-mêmes, ce qu'ils peuvent refuser de faire
pour des raisons stratégiques.

Histoire
Le mot « paravirtualisation » est un mot nouveau pour une idée
ancienne. Le système d'exploitation d'IBM appelé VM/370 offrait déjà de telles
fonctionnalités en 1972. Dans le monde des machines virtuelles, on y fait
référence par l'appellation « code de diagnostic », car il utilise des instructions
habituellement utilisées par les logiciels de maintenance du matériel.
Le Conversational Monitor System d'IBM utilise des codes de diagnostic pour
faire appel aux services de la machine virtuelle.
Dans système d'exploitation Parallels Workstation, on appelle cela un
« hypercall » ou hyper-appel. Contrairement à un appel système qui est traité
par le noyau d'un système d'exploitation, l'hyper-appel traverse le noyau et
remonte jusqu'à l'hyperviseur où il est traité. Puisque ces appels traversent le
noyau du système d'exploitation invité, il faut que celui-ci le supporte
explicitement afin de le faire remonter jusqu'à l'hyperviseur.
Le terme « paravirtualisation » a été utilisé pour la première fois dans la
littérature scientifique en association avec le moniteur de machines virtuelles
Denali.
Le terme décrit aussi la machine virtuelle Xen, la famille des micronoyaux
L4 et l'hyperviseur temps réel embarqué TRANGO. Tous ces projets utilisent
des techniques de paravirtualisation afin de parvenir à de la virtualisation à
haute performance sur du matériel de type x86 en mettant en place des
machines virtuelles qui n'utilisent pas les parties complexes à virtualiser du jeu
d'instruction x86.
Suite à la prolifération de solutions de paravirtualisation sous Linux, chacune
proposant une adaptation différente du noyau Linux, une solution commune
est en cours de développement dans le noyau officiel : virtio. Elle voit ses
débuts dans la version 2.6.24 et de nombreuses améliorations sont en cours
dans la branche 2.6.25. Cette interface est déjà utilisée par certains
hyperviseurs, comme KVM.
La paravirtualisation est aussi utilisée sur du matériel non x86 comme sur les
plateformes ARM ou PowerPC.

- 17 -
Chapitre II Les machines virtuelles 2011-2012

Comme exemple d'utilisation de la paravirtualisation on peut prendre les cartes


réseaux que présentent certaines machines virtuelles aux systèmes
d'exploitation invités. Plutôt que de s'acquitter de la lourde tâche de
reproduire le fonctionnement de la carte réseau classique, le MMV présente
une carte très simple qui permet l'envoi direct des paquets par accès direct à la
mémoire, même si la carte du système réel ne supporte pas cette
fonctionnalité.

II.6 Quelques Logiciels de virtualisation

II.6.1 VMware

VMware, Inc. est une société informatique américaine fondée en 1998,


filiale d'EMC Corporation depuis 2004, qui propose plusieurs
produits propriétaires liés à la virtualisation d'architectures x86. C'est aussi par
extension le nom d'une gamme de logiciels de virtualisation.

Bref historique

 1998 : création de la société à Palo Alto (Californie)


 1999 : VMware Workstation 1.0
 2000 : IBM, Dell et Compaq deviennent partenaires
 2001 : VMware GSX Server 1.0 et ESX Server 1.0 (technologie VMFS)
 2002 : HP devient partenaire, Dell revendeur, 1 million d'utilisateurs
 2003 : VirtualCenter 1.0 (technologie VMotion) et VMware ESX Server 2.0
(vSMP, VMFS-2 & NUMA)
 2004 : achat par EMC Corporation, annonce du support 64 bits
et 1er VMworld
 2005 : centre de recherche à Cambridge (Massachusetts)
 2006 : VMware ESX 3.0, VirtualCenter 2.0
 Juin 2008 : gratuité de VMware ESXi 3.5
 Novembre 2008 : achat de la société Tungsten Graphics
 Mai 2009 : VMware ESX 4.0
 Août 2009 : achat de SpringSource
 Janvier 2010 : rachat de Zimbra à Yahoo!

- 18 -
Chapitre II Les machines virtuelles 2011-2012

Fonctionnement
VMware crée un environnement clos dans lequel sont disponibles un,
deux, quatre ou huit (vSphere) processeur(s), des périphériques et
unBIOS virtuel.
Selon les concepteurs, le microprocesseur n'est émulé que quand c'est
nécessaire, c’est-à-dire quand la VM (machine virtuelle) tourne en mode noyau
ou en mode réel, mais pas pour le mode utilisateur (user mode) ou le Mode
virtuel 8086. Selon les concepteurs, cela permet à VMware d'être plus rapide
que des solutions multiplateformes qui émulent tout.
Lorsqu'une VM s'exécute dans un mode qui nécessite une émulation, VMware
traduit dynamiquement le code privilégié en un code équivalent en mode
utilisateur, le place dans un endroit libre de la mémoire, le rend invisible et
inaccessible au code d'origine et l'exécute à la place. Lorsqu'une machine
virtuelle fait appel à un périphérique, VMware intercepte la demande et la
traduit pour qu'elle soit gérée par le système hôte. Bien que les machines
virtuelles tournent en mode utilisateur, VMware nécessite d'installer plusieurs
pilotes de périphériques privilégiés dans le noyau du système hôte, qui
notamment interchangent les tables GDT et IDT chaque fois qu'on passe la
main à une VM.
VMware assure l'émulation de la carte vidéo, la carte réseau, le lecteur de CD-
ROM, le bus USB, des ports série et parallèle et du disque dur de
type SCSI ou IDE. Ce dernier étant un fichier extensible d'une taille voisine de la
place occupée sur la machine virtuelle ou fixe pour davantage de performance.
Ce fichier contenant le contenu du disque peut être copié sur un autre hôte et
exécuté par un ordinateur. Pour l'ordinateur virtuel, tous les périphériques sont
identiques, même si le système hôte est totalement différent, car c'est VMware
qui caractérise les périphériques.

Produits
En 2006, les produits suivants étaient disponibles :

 VMware Workstation, VMware Player et VMWare ACE : logiciels pour


stations de travail ;
 VMware Fusion : logiciel pour stations de travail Macintosh avec
processeurs Intel ;
 VMware GSX Server, VMware Server et VMware ESX/ESXi Server : logiciels
pour serveurs ;

- 19 -
Chapitre II Les machines virtuelles 2011-2012

 VMware Virtual Center et VMware Converter : logiciels de gestion et outils.


La combinaison de ces différents produits crée ce que VMware nomme
commercialement une infrastructure virtuelle.

VMware Workstation
C'est la version station de travail du logiciel. Il permet la création d'une
ou plusieurs machines virtuelles au sein d'un même système
d'exploitation (généralement Windows ou Linux), ceux-ci pouvant être reliés
au réseau local avec une adresse IP différente, tout en étant sur la même
machine physique (machine existant réellement). Il est possible de faire
fonctionner plusieurs machines virtuelles en même temps, la limite
correspondant aux performances de l'ordinateur hôte. La
version Linux présente l'avantage de pouvoir sauvegarder les fichiers de la
machine virtuelle (*.vmsd) pendant son fonctionnement.
VMware Ace
C'est une version de Workstation qui permet de faire fonctionner des
machines virtuelles dans des environnements divers, tout en gardant la
centralisation de la configuration. Cela permet par exemple de mettre à
disposition une version de Windows avec une application spécifique dans le
parc informatique d'une société de service, sans que celle-ci puisse agir sur la
configuration de cette dernière. (ACE : Assured Computing Environment ou
Environnement informatique assuré)
VMware Fusion
C'est l'équivalent de la version Workstation à destination des
ordinateurs Mac. Elle permet de faire fonctionner des systèmes Windows, Mac
OS X Server, Linux et Solaris sur Mac OS X.
VMware Server
C'est une application serveur très proche de GSX. Elle remplacera GSX à
terme. Elle permet de créer et d'utiliser plusieurs machines virtuelles. Cette
version est utilisable gratuitement. L'avantage de cette version est la console
distante. On peut ainsi prendre le contrôle de l'ensemble des machines
virtuelles depuis une machine distante, ce qui n'est pas possible avec la version
VMware Player.

- 20 -
Chapitre II Les machines virtuelles 2011-2012

VMware GSX Server


C'est une application serveur qui est conçue pour faire tourner des
serveurs virtuels. La connexion à un serveur virtuel se fait par l'intermédiaire
d'une console VMware depuis un poste Linux ou Windows. Lorsque la console
VMware est fermée, le serveur continue de fonctionner en tâche de fond.

VMware ESX

Présentation générale de VMware ESX


La grande différence de ce produit par rapport aux autres est qu'il
s'installe directement sur la couche matérielle (on parle d'hyperviseur Bare
Metal). Il n'est pas nécessaire d'installer un système d'exploitation « hôte »
pour installer VMware ESX.
VMware ESX est donc un hyperviseur qui permet une gestion plus précise des
ressources pour chaque machine virtuelle et de meilleures performances. La
solution VMware ESX est la solution la plus industrielle de la gamme. VMware
ESX est un système d'exploitation ou hyperviseur basé sur
une distribution RHEL5 (RedHat Linux 5) modifiée. Cet hyperviseur est composé
de plusieurs modules :

 VMKERNEL : Ce module « noyau » est le "cerveau" de VMware ESX ; il


permet de gérer et de hiérarchiser l'ensemble des ressources matérielles
(mémoire, CPU, disques, réseaux) en fonction de chaque serveur. De plus
c'est ce noyau qui est chargé de toute la gestion des ressources physiques
pour ESX.
 SERVICE CONSOLE : Ce module permet la gestion de l'hyperviseur en mode
commande. Accessible depuis le port 22 (SSH), cette console sert à lancer
certaines commandes inaccessibles depuis l'interface graphique ou encore
de parcourir les dossiers dans lesquels sont stockés les machines virtuelles.
Enfin elle peut permettre de collecter des informations de débogage sur les
machines virtuelles ou sur le serveur ESX.
Nombres d'options sont disponibles par le biais de la "service console", il est
cependant déconseillé de manipuler ESX depuis cette interface pour les
novices. La gestion des serveurs se fait à l'aide d'un navigateur via une
interface web, à l'aide d'une console cliente (Virtual Infrastructure Client) ou
d'un outil de gestion centralisé VMware nommé Virtual Center. À noter que la
Service Console est devenue une machine virtuelle à part entière dans vSphere,
et que la Service Console est absente de la version ESXi du produit (le contrôle

- 21 -
Chapitre II Les machines virtuelles 2011-2012

est alors effectué à travers une "BusyBox" directement sur la console


matérielle ou à travers une console DRAC/iLO).
Une machine virtuelle est en fait un assemblage de plusieurs fichiers. Ces
fichiers sont créés sur un système de fichiers appelé/formatévmfs. Ce système
de fichiers possède plusieurs caractéristiques, la plus signifiante est qu'il est
capable de gérer plusieurs connexions concurrentes. Il faut bien sûr que cet
espace soit commun à tous les serveurs ESX (SAN par exemple). ESX dispose
également de mécanismes très précis pour la gestion de la mémoire partagée.
Le TPS (Transparent Page Sharing) permet ainsi de consolider les pages
mémoires communes entre machines virtuelles. Ainsi si plusieurs machines
virtuelles utilisent une même page d'adresse, ESX supprimera la page
supplémentaire et partagera la page restante entre les machines qui en ont
besoin.

II.6.2 Oracle VM VirtualBox

Oracle VirtualBox (anciennement VirtualBox)


est un logiciel de virtualisation créé par InnoTek. Il est
disponible en tant qu'hôte sur les systèmes
d'exploitation : Windows, Linux 32 et 64
bits, FreeBSD 32 et 64 bits et Mac OS X. Il supporte
en tant qu'invité : Windows (dont Vista et 7), Linux
2.x, OS/2 Warp, OpenBSD et FreeBSD entre autres.

Historique
Après plusieurs années de développement, VirtualBox a été publié sous
la licence GNU en janvier 2007.
Le 12 février 2008, Sun Microsystems a annoncé un accord d'acquisition
d'InnoTek.
La version 2 de VirtualBox est sortie le 4 septembre 2008, elle intègre
notamment des fonctionnalités supplémentaires dont le support des hôtes 64
bits, une interface Qt4 (Qt3 dans les versions précédentes) qui améliore
l'intégration sous Gnome et l'utilisation de l'interface native sous Mac OS X.
La version 2.1.0 de VirtualBox est sortie le 17 décembre 2008. Cette version est
une mise à jour importante, du fait des nouvelles fonctionnalités apportées, à
savoir :

- 22 -
Chapitre II Les machines virtuelles 2011-2012

 le support de la virtualisation matérielle (support des instructions VT-x et


AMD-V) sur les hôtes Mac OS X ;
 le support expérimental d'invité 64 bit sur des hôtes 32 bit ;
 l'amélioration du support de la virtualisation sur les processeurs
Intel Nehalem ;
 le support expérimental de l'accélération 3D via OpenGL ;
 le support expérimental des contrôleurs SCSI LsiLogic et BusLogic ;
 le support VMDK/VHD support incluant les "snapshots" ;
 un nouveau moteur de NAT, plus fiable et ayant de meilleures
performances, ainsi que le support de l'echo ICMP (ping);
 une nouvelle mise en œuvre de l'interface réseau pour les hôtes Windows
et Linux, avec une configuration facilitée.
La version 3.0 de VirtualBox est sortie le 30 juin 2009. Les modifications les plus
importantes sont :

 Les systèmes invités peuvent accéder à un maximum de 32 processeurs


virtuels, mais seulement quand la machine hôte dispose des instructions VT-
x ou AMD-V
 Systèmes Windows invités : possibilité d’utiliser les applications et les jeux
DirectX 8 et 9 (expérimental)
 Support d’OpenGL 2.0 pour les systèmes invités Windows, Linux et Solaris
Le 20 avril 2009, Oracle Corporation rachète Sun Microsystems. La version
3.2.0, sortie le 18 mai 2010, est la première version officiellement publiée par
Oracle Corporation. Le logiciel est renommé à cette occasion Oracle VM
VirtualBox.
La version 4.0 de VirtualBox est sortie le 22 décembre 2010. Les modifications
les plus importantes sont :

 Ajout de fonctionnalités, sous forme d'extensions


 L'interface utilisateurs a été repensée (avec notamment une fonction de tri
des machines virtuelles, une prévisualisation de la fenêtre client, et la prise
en charge de raccourcis .vbox sur le bureau)
 Virtual Machine Manager n'est plus limité à une prise en charge de 1,5 ou 2
Go de mémoire vive du côté client sur les hôtes 32-bits
 Des matériels virtuels supplémentaires sont ajoutés (puces Intel ICH9 et
l'Intel HD Audio)
 La prise en charge de l'Open Virtualization Format (OVF) est améliorée
 Un contrôle plus fin des ressources allouées aux machines virtuelles (en
calcul comme en bande passante)

- 23 -
Chapitre II Les machines virtuelles 2011-2012

La version 4.1 de VirtualBox est sortie le 19 juillet 2011. Les modifications les
plus importantes sont :

 Clonage de machines virtuelles facilité


 Accès à distance amélioré

II.6.3 Autres logiciels de virtualisation

 QEMU, KVM
 Logiciels Parallels
 Parallels Desktop
 (en) Parallels Desktop pour Mac

 (en) Parallels Workstation


 VirtualPC
 Logiciels VMware

QEMU
QEMU est une machine virtuelle (ou émulateur de système) libre qui
permet d'exécuter un ou plusieurs systèmes d'exploitation, ou seulement des
processus, sur un système d'exploitation déjà installé sur la machine.

Présentation
QEMU permet d'exécuter un ou plusieurs systèmes d'exploitation (et
leurs applications) de manière isolée sur une même machine physique. QEMU
fonctionne sur les plateformes x86, x64, PPC, Sparc et ARM et fonctionne sous
les systèmes d'exploitation Linux, FreeBSD, NetBSD, OpenBSD, Mac OS
X, Unix et Microsoft Windows.
Les systèmes d'exploitation invités partagent ainsi les ressources de la machine
physique et n'ont pas « conscience » d'être virtualisés. Ils n'ont donc pas besoin
d'être adaptés pour fonctionner sur QEMU.
KQEMU est un module pour le noyau Linux et pour FreeBSD qui permet
d'accélérer l'émulation.
QEMU a été originellement développé par Fabrice Bellard.

- 24 -
Chapitre II Les machines virtuelles 2011-2012

Architecture

Espace Espace Espace Espace Espace


utilisateur utilisateur utilisateur utilisateur utilisateur
Linux Windows Linux Mac OS X Solaris
Pilotes Pilotes Pilotes Pilotes Pilotes

QEMU x86 QEMU x86 QEMU PPC QEMU PPC QEMU SPARC

Système hôte : Linux, Mac OS X, Windows

Matériel : processeur, mémoire, stockage, réseau, etc.

Matériel émulé
QEMU simule le système x86 suivant :

 i440FX host PCI bridge et PIIX3 PCI to ISA bridge


 Cirrus CLGD 5446 PCI VGA card ou une simple carte VGA avec les extensions
VESA de Bochs VESA
 Clavier et souris PS/2
 2 interfaces IDE PCI avec support des disques durs et CD-ROM
 Lecteur de disquette
 Carte réseau NE2000 PCI
 Ports série
 Carte son Soundblaster 16
 BIOS du projet Bochs et le BIOS VGA des projets Plex86/Bochs
QEMU simule le système PPC suivant :

 UniNorth PCI Bridge


 Carte compatible PCI VGA avec extensions Bochs VESA
 2 interfaces PMAC IDE avec support des disques durs et CD-ROM
 Carte réseau NE2000 PCI
 Non Volatile RAM
 VIA-CUDA avec clavier et souris ADB
QEMU émule les périphériques PREP suivants :

 PCI Bridge
 Carte compatible PCI VGA avec extensions Bochs VESA

- 25 -
Chapitre II Les machines virtuelles 2011-2012

 2 interfaces IDE avec support des disques durs et CD-ROM


 Lecteur de disquette
 Carte réseau NE2000 PCI
 Ports série
 PREP Non Volatile RAM
 Clavier et souris compatible PC
QEMU utilise le BIOS Open Hack'Ware Open Firmware Compatible
QEMU simule le système SPARC (sun4m) suivant :

 IOMMU
 TCX Frame buffer
 Lance (Am7990) Ethernet
 Non Volatile RAM M48T08
 Slave I/O: timers, interrupt controllers, Zilog serial ports
 QEMU uses the Proll, à PROM replacement

Modules d'accélération
Il existe à ce jour trois modules d'accélération pour le noyau Linux. Le
système d'exploitation invité est autorisé à être exécuté directement sur le
processeur hôte en utilisant ses mécanismes de protection pour intercepter et
émuler les événements privilégiés.

 KQEMU est un module noyau Linux 2.4 et 2.6 pour invités x86 sur hôte x86,
ou invité x86_64 sur hôte x86_64. Fabrice Bellard, l'auteur de QEMU, avait
initialement développé KQEMU sous licence propriétaire, puis libéré
le 6 février 2007. Malheureusement, ce module n'a pas trouvé
de mainteneur après sa libération, et il a donc été supprimé du code
source de QEMU le 8 janvier 2010

 qvm86 est un module noyau Linux sur hôte x86 sous licence GPL. Paul Brook
en est le développeur principal, mais il a annoncé l'abandon du projet
le 27 janvier 2007.

 En plus d'offrir une accélération substantielle à QEMU, le module KVM est


une solution de virtualisation complète pour les systèmes à base de
processeur x86 supportant les extensions de virtualisation (Intel VT et AMD
Pacifica). Jusqu'en mars 2009, le module KVM nécessitait une version
modifiée de QEMU. Depuis lors (version 0.10) les modifications sont
directement intégrées dans la version officielle de QEMU.
- 26 -
Chapitre II Les machines virtuelles 2011-2012

Comparaison avec d'autres solutions de


virtualisation
QEMU est une solution d'émulation complète dite « machine virtuelle ».
Le matériel vu par le système d'exploitation invité est émulé, et le processeur
lui-même peut être émulé.
Cette technique de virtualisation a l'avantage de bien isoler le système
d’exploitation invité et elle permet également de faire tourner des systèmes
d'exploitation non modifiés, au prix d'une forte dégradation de la performance.
QEMU se compare à d'autres machines virtuelles
comme VMware, Bochs, VirtualPC ou VirtualBox.
Ce qui différencie QEMU de ses concurrents est qu'il est libre et universel : il
tourne sur et héberge tous les principaux systèmes d'exploitation, sur
architecture x86, PPC ou Sparc.
Toutefois, QEMU émule en permanence le processeur et cela peut réduire la
performance d'un facteur cinq à dix. Pour pouvoir obtenir des performances
plus comparables à un système non virtualisé ou à VMware (réduction de
performance d'un facteur 1 à 2 seulement), il faut utiliser un module
d'accélération, ce qui nécessite un système Linux sur architecture x86 ou
x86_64 avec un noyau 2.4.x ou 2.6.x. Des versions préliminaires pour Windows
ou FreeBSD sont disponibles.
L'article « virtualisation » présente une comparaison détaillée des différentes
techniques de virtualisation.

KVM : Kernel-based Virtual Machine


KVM (Kernel-based Virtual Machine) est une machine
virtuelle libre pour Linux. Elle fonctionne sur les architectures x86 disposant des
technologies Intel VT (voirvanderpool) ou AMD SVM (AMD-V).
Le module est intégré dans le noyau Linux depuis la version 2.6.20

Fonctionnement
KVM est un fork de QEMU. Les développeurs des deux projets essayent
de ne pas trop diverger et le code source des deux projets est fréquemment
resynchronisé. La principale modification apportée est le support du
module kvm. Lorsqu'on parle de KVM, on parle généralement de l'ensemble : la
version modifiée de QEMU et le module kvm.

- 27 -
Chapitre II Les machines virtuelles 2011-2012

QEMU est capable, grâce à son module KQEMU ("K" pour 'Kernel', noyau en
anglais), d'exécuter du code machine directement sur le processeur hôte afin
d'accélérer l'émulation. Mais cette technologie, bien qu'apportant un gain de
performance important, n'est pas parfaite, car des mécanismes de protection
pour intercepter et émuler les évènements privilégiés doivent être mis en
place ; or le code noyau du système invité, fonctionnant normalement
entièrement en mode privilégié et étant émulé de manière classique, est donc
fortement pénalisé alors qu'il s'agit de l'élément crucial du système.
Les processeurs de la famille x86 disposent de 4 niveaux de privilège
d'exécution, appelés anneaux de protection. En plus de ces Anneaux, les
processeurs récents intègrent un nouveau mécanisme d'isolation qui permet à
un système invité d'être exécuté directement sur le processeur quels que
soient les Anneaux de protection qu'il requiert pour fonctionner, tout en
assurant la protection contre la lecture et l'écriture dans la mémoire
n'appartenant pas à la machine virtuelle. Cela est principalement possible grâce
à une MMU dédiée à chaque machine virtuelle sur le processeur et à une
redirection des interruptions matérielles vers l'hyperviseur de machines
virtuelles (KVM en l'occurrence) afin d'émuler le matériel dont a besoin le
système invité.
Les technologies mises en place par les deux principaux fondeurs que
sont AMD et Intel étant différentes, le module kvm se décline en deux sous-
modules : kvm-intel et kvm-amd ; le module kvm n'étant là en fait que pour
fournir à l'émulateur une abstraction supplémentaire.
Dans les versions récentes de kvm (au minimum la version 60) il est possible
d'utiliser un mécanisme de paravirtualisation appelé virtio, supporté pour les
systèmes invités Linux d'une version 2.6.25 au minimum. Ce mécanisme
permet une vitesse d'exécution accrue car il n'est plus nécessaire d'émuler des
périphériques matériels. Cependant, ce système sort du cadre de la
virtualisation au sens strict car il faut que le système invité soit informé qu'il
fonctionne en tant que une machine virtuelle et qu'il supporte virtio.

Xen
Xen est un logiciel libre de virtualisation, plus
précisément un hyperviseur de machine virtuelle.
Son développement a débuté sous la forme d'un projet
de recherche de l'université de Cambridge au Royaume-Uni. La société
XenSource a par la suite été créée et en a poursuivi le développement. Xen
permet de faire fonctionner plusieurs systèmes d'exploitation virtuels (invités)

- 28 -
Chapitre II Les machines virtuelles 2011-2012

sur une seule machine hôte. Xen est en partie intégré à la partie principale
du noyau linux depuis la version 3.0.

Présentation
Xen permet d'exécuter plusieurs systèmes d'exploitation (et leurs
applications) de manière isolée sur une même machine physique sur plate-
forme x86, x86-64, IA-64 et PowerPC (bientôt sur SPARC). Les systèmes
d'exploitation invités partagent ainsi les ressources de la machine hôte.
Xen est un « paravirtualiseur » ou un « hyperviseur » de machines virtuelles.
Les systèmes d'exploitation invités ont « conscience » du Xen sous-jacent, ils
ont besoin d'être « portés » (adaptés) pour fonctionner sur
Xen. Linux, NetBSD, FreeBSD (portage en cours), Plan 9 et GNU Hurd peuvent
d'ores et déjà fonctionner sur Xen.
Xen 3 peut également exécuter des systèmes non modifiés
comme Windows sur des processeurs supportant les technologies VT d'Intel ou
AMD-V (nom de projet: Pacifica) de AMD.
Les architectures x86, x64, IA-64, PowerPC et SPARC sont supportées. Le
multiprocesseur (SMP) et partiellement l’Hyper-Threading sont supportés.

Architecture de Xen
Chaque système d'exploitation invité tourne dans un « domaine ». Xen est une
fine couche fonctionnant directement sur le matériel.

Logiciels de Espace Espace Espace Espace


contrôle Xen utilisateur utilisateur utilisateur utilisateur

Xeno-Linux Linux NetBSD FreeBSD Plan 9

Pilotes Xen Pilotes Xen Pilotes Xen Pilotes Xen Pilotes Xen

Xen

Matériel : processeur, mémoire, stockage, réseau, etc.

Architecture Xen

- 29 -
Chapitre II Les machines virtuelles 2011-2012

Comparaison avec d'autres solutions de


virtualisation
Généralement, la virtualisation nécessite un système d'exploitation hôte
installé sur le matériel, et optionnellement une couche intermédiaire. Un ou
plusieurs systèmes d'exploitation invités peuvent alors être installés en
parallèle.

 Les logiciels de virtualisation de


type QEMU, VirtualBox, VMware Workstation/GSX ou VirtualPC sont des
machines virtuelles complètes pour les systèmes d'exploitation invités,
incluant même un BIOS logiciel (« firmware »). Le système d'exploitation
invité « croit » tourner sur un matériel, or il est « virtuel» ou « simulé » par
le logiciel de virtualisation, le système d’exploitation invité n'a pas
« conscience » d'être virtualisé. La surcharge introduite par l'empilage du
système d'exploitation hôte et de la machine virtuelle en font des solutions
peu satisfaisantes pour des besoins en performance. Ils sont toutefois les
plus simples à mettre en œuvre.

 Le logiciel de virtualisation de type VMware ESX permet des machines


virtuelles complètes pour les systèmes d'exploitation invités, incluant même
un BIOS. Mais à la différence des machines virtuelles complètes
précédemment citées, il y a empilage léger, la machine virtuelle se repose
sur un noyau léger nommé « vmkernel ». C'est une architecture similaire à
Xen en ce qu'il n'y a pas de système hôte visible, en revanche les systèmes
invités n'ont pas à être modifiés, et n'ont pas accès directement au matériel
de la machine.

 Les logiciels de type chroot, Linux-VServer, OpenVZ ou BSD Jail ne font


qu'isoler certains aspects ou ressources du système d'exploitation hôte
comme les systèmes de fichiers ou les espaces mémoire. Ces solutions sont
très performantes, du fait du peu de surcharge (pas d'empilage de système
d’exploitation hôte et d'un logiciel de virtualisation), mais les
environnements virtualisés (on ne peut pas parler de machine ou systèmes
d'exploitation virtuels) sont peu ou pas complètement isolés.

 User Mode Linux (d'acronyme UML) est un noyau Linux compilé pour
fonctionner en espace mémoire utilisateur (en dehors de l'espace noyau
privilégié). Il se lance donc comme une application dans le système
d'exploitation hôte. UML peut lancer et gérer ses applications de manière
isolée des autres UML qui tournent sur la même machine. Solution très peu

- 30 -
Chapitre II Les machines virtuelles 2011-2012

performante, car deux noyaux sont empilés, elle sert surtout au


développement du noyau ou à la réalisation de « pot de miel ».

 Le logiciel de virtualisation de VirtualLogix est dédié au monde de


l'embarqué. Il s'agit d'un paravirtualiseur très proche dans son principe de
Xen. Il s'agit d'une solution propriétaire qui n'est donc intégrée dans aucune
distribution ; elle est en revanche portable sur d'autres architectures de
processeurs comme ARM et TI C64xx.
Du fait de cette « paravirtualisation » (adaptation du système d'exploitation
invité) et de sa légèreté, Xen est un outil de virtualisation des plus performants.
En effet les systèmes invités peuvent avoir un accès direct au matériel, ce qui
offre un bien meilleur potentiel d'optimisation. Cependant, faire fonctionner
une machine virtuelle Windows dont le code source est fermé pose quelques
problèmes de stabilité sous forte charge.

Parallels Desktop
Parallels Desktop pour Mac de la firme Parallels,
Inc. est une application deVirtualisation fonctionnant
sous Mac OS X (pour les Macintosh équipés d'un
processeur Intel) Linux et Windows. Elle permet de faire
fonctionner Windows ou tout autre système d'exploitation
utilisant un processeur de type x86 sur Mac.

Présentation
Depuis le passage de Apple vers les processeurs Intel, beaucoup de
logiciels permettant de faire tourner un système exploitation
compatible x86 (Windows étant le plus commun) sur Mac OS X ont fait leur
apparition. Parallels Desktop pour Mac compte parmi les principaux acteurs de
ce marché, aux côtés de VMware. Boot Camp quant à lui permet de créer une
partition pour Windows.

Intégration
Tout comme de nombreux logiciels de virtualisation, Parallels Desktop
pour Mac utilise la technologie d'isolation (voir article sur machine virtuelle) qui
permet d'ajouter une fine couche logicielle entre le système d'exploitation hôte
et les systèmes clients.
- 31 -
Chapitre II Les machines virtuelles 2011-2012

Fonctionnalités
Parallels Desktop pour Mac comprend un moteur de machine
virtuelle qui permet à chacune de ces machines virtuelles de fonctionner d'elle-
même, dans un environnement qui lui est spécialement créé : processeur,
RAM, disque dur, carte graphique, carte son, etc. - Chacun des composants que
contient un ordinateur. Parallels Desktop pour Mac virtualise tous les
périphériques à l'intérieur de l'environnement, y compris la carte graphique, les
connexions réseau et les périphériques de stockage.
Le support des périphériques sur port parallèle et en USB est également
disponible à l'aide d'un pilote d'accès.

Détails de la machine virtuelle


La configuration de la machine virtuelle est cependant limitée, pour garantir
une compatibilité maximale avec les composants physiques de la machine et
offrir de bonnes performances. La machine virtuelle dont dispose le système
d'exploitation client (par exemple Windows ou Linux) est composée des
éléments suivants :

 un processeur Pentium compatible x86


 une carte mère générique compatible avec le chipset i815
 une quantité de mémoire vive (RAM) réservée sur la mémoire vive de Mac
OS X variable (jusqu'à 1.5Go)
 une carte graphique (avec accélération graphique matérielle depuis la
version 3.0 du logiciel, OpenGL et DirectX), avec possibilité de spécifier la
quantité de mémoire vidéo du système dédiée à l'OS client.
 un lecteur de disquette 1.44Mo, qui peut être lié à un disque physique ou
émulé à partir d'un fichier image (format IMG et autres formats de
disquettes virtuelles)
 jusqu'à 4 périphériques IDE. Ceci inclut des disques durs et des lecteurs
optiques virtuels émulés par Parallels Desktop, qui peuvent également être
liés à des périphériques existants ou à des fichiers image (format ISO)
 jusqu'à 4 ports série qui peuvent être liés à des ports physiques ou à des
fichiers de sortie.
 jusqu'à trois ports parallèles bidirectionnels
 une carte réseau virtuelle compatible avec un chipset Realtek RTL8029(AS)
 un contrôleur USB 2.0 avec branchement à chaud (4 ports)
 une carte son compatible AC97'
 un clavier 104 touches et une souris PS/2
- 32 -
Chapitre II Les machines virtuelles 2011-2012

Assistant d'installation
L'assistant d'installation de Parallels est un outil intégré à Parallels Desktop
pour Mac qui permet de simplifier l'installation, en effectuant une installation
silencieuse des Systèmes Clients Microsoft. Avant de lancer l'installation
automatique, l'utilisateur doit juste spécifier :

 la version de Windows utilisée


 ses identifiants, tels qu'ils apparaîtront dans la version de Windows
(Propriétaire / Compagnie)
 la clé de Windows.
L'Assistant d'installation de Parallels se charge du reste. L'utilisateur n'a plus
besoin de sélectionner les paramètres ou de répondre à des questions
supplémentaires potentiellement techniques.
Une fois Windows installé, L'Assistant d'installation de Parallels lance
automatiquement les Outils Parallels, un pack complet de logiciels et pilotes,
qui optimisent le fonctionnement de la machine virtuelle et son intégration
auprès de Mac OS X.

Gestion du réseau
Le réseau entre Mac OS X et les OS clients peut être géré de différentes façons :

Ponté

Mac OS X fait apparaître la connexion de l'OS client comme une machine


supplémentaire sur le réseau externe courant. La connexion physique de
l'ordinateur sur le réseau fait alors office de switch, et Mac OS X comme l'OS
client a une adresse IP donnant directement sur le réseau. Exemple concret : le
Mac est connecté sur un réseau IP, dont la passerelle est 192.168.0.1. Mac OS X
a donc logiquement (on suppose que la passerelle met à disposition un serveur
DHCP de classe C) une adresse sur ce même réseau : 192.168.0.2. L'OS client
bénéficiera alors d'une nouvelle adresse sur ce même réseau : 192.168.0.3, et
pourra de ce fait avoir accès directement à tous les services réseau de manière
totalement transparente.

- 33 -
Chapitre II Les machines virtuelles 2011-2012

Hôte uniquement

L’OS client ne peut interagir qu'avec Mac OS X, et n'a pas accès aux
connexions réseaux externes. Pour cela, une interface virtuelle est créée sur
Mac OS X avec une adresse IP spécifique, et l'interface réseau de l'OS client est
alors mise sur le même réseau IP. Cependant Mac OS X ne réalise aucun
routage entre les données de cette interface virtuelle et les interfaces
physiques de l'ordinateur (Wifi, Bluetooth, Ethernet, modem). Concrètement
dans ce cas de figure, il est possible de faire tourner des services sous l'OS
clients, qui seront accessibles depuis Mac OS X et vice versa, mais l'OS client
n'aura jamais de connectivité vers l'extérieur (accès réseau, Internet, etc.).
Exemple concret : le Mac est connecté sur un réseau IP, dont la passerelle est
192.168.0.1. Mac OS X a une adresse frontale sur ce même réseau :
192.168.0.2. En même temps, Parallels Desktop pour Mac associe à Mac OS X
une adresse IP virtuelle 10.211.55.2. L'OS client se voit alors doté d'une adresse
IP sur ce réseau virtuel, par exemple 10.211.55.3.

Partagé

Parallels Desktop pour Mac met à disposition des OS clients un routeur


PAT (Port Address Translator) pour gérer les différentes connexions réseau de
manière centralisée. Exemple concret : le Mac est connecté sur un réseau IP,
dont la passerelle est 192.168.0.1. MacOSX a une adresse frontale sur ce même
réseau : 192.168.0.2. En même temps, Parallels Desktop pour Mac produit un
routeur PAT (Port Address Translator) semblable à ce qu'il se fait pour les
routeurs réseaux. Ce routeur PAT a comme adresse IP 10.211.55.1 (non
accessible depuis l'extérieur de la machine), et associe à Mac OS X une adresse
IP virtuelle 10.211.55.2. L'OS client se voit alors doté d'une adresse IP sur ce
réseau PAT, par exemple 10.211.55.3, peut accéder à Mac OS X par l'adresse
10.211.55.2, et au réseau par le routeur 10.211.55.1.

Parallels Coherence

Coherence est une fonctionnalité avancée de Parallels, disponible à


partir de la version 3.186, qui améliore l'intégration des systèmes d'exploitation
Microsoft dans Mac OS X.
Crystal
Nouveauté de la version 5 de Parallels Desktop pour Mac. Il s'agit d'une
optimisation du Mode Coherence. La machine virtuelle est entièrement
- 34 -
Chapitre II Les machines virtuelles 2011-2012

transparente et la présence de Parallels Desktop pour Mac (barre de menus,


icônes) disparaît totalement pour laisser place à l'univers Mac.

II.7 VirtualBox : créer une machine virtuelle

Lorsque l'on souhaite faire fonctionner simultanément différents


systèmes d'exploitation sur la même machine, il est alors nécessaire de
créer une machine virtuelle qui accueillera un nouveau système.
VirtualBox est un outil gratuit qui permet de virtualiser un système
d'exploitation de votre choix. L'utilisateur peut ainsi avoir à disposition
différents systèmes de façon simultanée, sans avoir à rebooter son
ordinateur.

II.7.1 Avantages de la virtualisation


Les intérêts de la virtualisation sont multiples. Tout d'abord, cela permet
de pourvoir faire fonctionner un programme prévu initialement sur un système
d'exploitation différent de celui que vous utilisez habituellement. Il est ainsi
possible de faire cohabiter simultanément différents "univers" sur la même
machine. Rien ne vous empêche par exemple de faire fonctionner Windows
Vista sur votre bon vieux XP, voir même d'installer une distribution Linux sous
Windows (a noter que le contraire est parfaitement envisageable puisque
VirtualBox est également disponible pour Linux).

De même, la virtualisation permet de créer une machine virtuelle destinée à


installer et tester différents programme sans pour autant "polluer" son
environnement de travail principal. Côté sécurité, cette machine virtuelle
permet également de surfer de manière totalement sécurisé puisque les
éventuelles infections contractées se feront au niveau de la machine virtuelle
et non de la machine hôte.

Enfin, les développeurs auront la possibilité de créer différents environnements


de développement et/ou de tests spécifiques sur une même et unique
machine.

S'il existe différentes solutions de virtualisation comme par exemple Virtual PC,
VMWare ou encore Parallels Desktop, nous avons choisi de vous présenter ici
VirtualBox. Notre choix s'est arrêté sur ce logiciel édité par Oracle pour
différentes raisons. Tout d'abord, VirtualBox est libre et gratuit, ce qui n'est pas
le cas toutes les solutions existantes. De plus, le logiciel est simple d'utilisation

- 35 -
Chapitre II Les machines virtuelles 2011-2012

et supporte de nombreux systèmes d'exploitation (la majorité des versions


Windows, Linux, OS/2, FreeBSD, OpenBSD, Net BSD, Netware, Solaris...).

Faire cohabiter différents OS avec VirtualBox

Avant d'aller plus loin, il est donc nécessaire de télécharger le


programme VirtualBox. Pour illustrer ce tutoriel, nous allons installer Ubuntu
10.04 LTS. Bien entendu, il est possible d'installer n'importe quel autre système
d'exploitation, la marche à suivre restant la même.

II.7.2 Installation de VirtualBox


L'installation du programme est tout ce qu'il y a de plus classique. Après
avoir téléchargé VirtualBox, un simple double clic sur le fichier exécutable lance
l'installation :

- 36 -
Chapitre II Les machines virtuelles 2011-2012

Cliquez sur le bouton Next

Cliquez sur le bouton Next

- 37 -
Chapitre II Les machines virtuelles 2011-2012

Laisser les cases à cocher pour avoir les raccourcis de VirtualBox sur le bureau
et la zone de lancement rapide, puis cliquer sur Next

Clic sur YES (ceci réinitialisera les cartes réseau présente sur le système hôte)
puis sur Install. L'installation et la copie des fichiers commencent

- 38 -
Chapitre II Les machines virtuelles 2011-2012

Cliquez sur le bouton Finish. L'installation de VirtualBox est maintenant


terminée.

- 39 -
Chapitre II Les machines virtuelles 2011-2012

II.7.3 Création d'une machine virtuelle


Lors du premier lancement de VirtualBox, la fenêtre suivante s'affiche :

Interface de VirtualBox - Cliquez sur l'image pour agrandir

A noter qu'il se peut qu’une autre fenêtre apparaisse et propose de laisser


votre nom et email afin d'être tenu informé des nouveautés de VirtualBox. La
saisie de ces informations étant facultative, vous pouvez directement fermer la
fenêtre si vous le souhaitez.

Pour commencer à créer une machine virtuelle, on clic sur le bouton Créer :

L'assistant de création se lance alors :

- 40 -
Chapitre II Les machines virtuelles 2011-2012

Cliquez sur le bouton Suivant.

- 41 -
Chapitre II Les machines virtuelles 2011-2012

A cette étape, il convient de spécifier un nom de votre choix qui sera attribué à
la machine virtuelle. Pour plus de clarté, il est conseillé d'indiquer le nom du
système d'exploitation que l'on souhaite installer par la suite.

Ensuite, le second menu déroulant permet de choisir le type du système


d'exploitation qui sera installé. Dans notre exemple, nous avons choisi la
distribution Ubuntu 10.04 LTS. Bien entendu, si vous souhaitez installer une
version de Windows ou tout autres OS, il convient de sélectionner le type
correspondant dans la liste déroulante.

Enfin, il est à noter que quelque soit le système qui sera installé sur la machine
virtuelle, l'utilisation du programme reste la même.

Cliquez ensuite sur le bouton Suivant.

Cette étape nous permet de déterminer quelle quantité de mémoire sera


attribuée à la machine virtuelle. La valeur recommandée par VirtualBox est de
256Mo. Pour faire fonctionner notre machine virtuelle avec plus de souplesse,
nous avons choisi de lui attribuer 512Mo. Le choix de la quantité de mémoire à
attribuer à la machine virtuelle doit se situer entre un quart et la moitié de la
totalité de la RAM présente sur notre PC (ce choix doit se faire en fonction de la
"gourmandise" en RAM de votre système hôte et celui de votre machine
virtuelle). Il faut en effet garder à l'esprit que la quantité de mémoire que nous
- 42 -
Chapitre II Les machines virtuelles 2011-2012

allons attribuer à notre machine virtuelle sera alors manquante à la machine


hôte puisque les deux systèmes tourneront en parallèle.

Note : VirtualBox recommande des tailles de mémoire vive à allouer en fonction


de votre choix du système à installer. Ainsi par exemple, le logiciel préconisera
32 Mo pour l'installation de Windows 3.1 et 512 Mo dans le cas de Windows
Vista.

Nous devons maintenant créer un disque dur d'amorçage pour notre machine
virtuelle. C'est sur ce disque virtuel que nous installerons par la suite notre
système d'exploitation. Si vous avez déjà un disque virtuel présent sur votre
machine, cliquez dur le bouton Existant.... Dans le cas contraire (ce qui est le
cas lors de la 1ère utilisation), nous allons en créer un en cliquant sur le bouton
Nouveau....
Note : Comme pour la quantité de mémoire vive, VirtualBox recommande des
tailles de disque dur d'amorçage en fonction de votre choix du système à
installer. Ainsi par exemple, le logiciel préconisera 1024 Mo pour l'installation de
Windows 3.1 et 20 Go dans le cas de Windows Vista.

- 43 -
Chapitre II Les machines virtuelles 2011-2012

II.7.4 Création d'un disque virtuel


L'assistant de création d'un disque virtuel apparaît :

Cliquez sur le bouton Suivant.

- 44 -
Chapitre II Les machines virtuelles 2011-2012

Nous avons ici la possibilité de choisir entre deux types de disques virtuels :

 Image dynamique : la taille allouée à votre machine virtuelle n'est pas


définie à l'avance mais s'adaptera automatiquement à vos besoins.
 Image à taille fixe : la taille du disque virtuel est fixée dès le départ.

Afin de ne pas gaspiller inutilement de l'espace disque, nous choisissons


l'image dynamique. Cliquez ensuite sur le bouton Suivant.

L'étape suivante récapitule simplement les réglages de notre disque virtuel.

- 45 -
Chapitre II Les machines virtuelles 2011-2012

Cliquer sur le bouton Créer afin de le créer.

II.7.5 Finalisation de la machine virtuelle


Nous venons de créer notre disque d'amorçage, nous allons maintenant
terminer la création de la machine virtuelle qui accueillera notre système
d'exploitation.

Nous nous retrouvons à l'étape où nous étions restés avant la création du


disque virtuel. Ce dernier est maintenant sélectionné par défaut :

Cet écran récapitule les paramètres choisis pour notre machine virtuelle.
Cliquez sur le bouton Créer pour créer la machine virtuelle.

II.7.6 Réglages de la machine virtuelle


Notre machine virtuelle est maintenant créée mais il reste différents
réglages à effectuer avant d'installer notre système d'exploitation.

- 46 -
Chapitre II Les machines virtuelles 2011-2012

Interface principale de VirtualBox - Cliquez sur l'image pour agrandir

Cliquez sur le bouton Configuration :

A noter qu'il est également possible d'accéder aux préférences via le menu
contextuel qui apparaît lors d'un clic droit sur la machine virtuelle.

Dans la partie gauche de la fenêtre des préférences sont présentes les


différentes catégories qu'il est possible de modifier. Nous allons les présenter
une à une.

- 47 -
Chapitre II Les machines virtuelles 2011-2012

Général :
Cette section comprend trois onglets : Simple, Avancé et Description. Le
premier de ces onglets permet de modifier le nom de notre machine virtuelle
ou son type.

- 48 -
Chapitre II Les machines virtuelles 2011-2012

Les onglets suivants n'ont que peu d'importance : il est ainsi possible de
modifier l'ordre d'amorçage (savoir si la machine virtuelle boote sur la
disquette puis le CD-ROM... etc.), d'activer l'ACPI ou encore de partager le
presse papier entre la machine virtuelle et la machine hôte (ce qui est bien
pratique !).
Il n'est pas nécessaire de modifier ces options.

Disque dur :
Il est possible ici d'ajouter à l'image du disque primaire maître un disque image
esclave primaire ou secondaire.
Il n'est pas nécessaire de modifier ces options.

Stockage :
Si vous souhaitez activer un lecteur de CD ou DVD, il suffit de cocher la
case Installer un lecteur CD/DVD-ROM. Cela vous permettra par la suite
d'installer votre système d'exploitation sur la machine virtuelle à partir du CD
d'installation. A noter qu'il est également possible de définir une image iso
comme un lecteur CD ; cela vous permettra alors d'installer ou d'utiliser un "CD
live" simplement avec son image.

- 49 -
Chapitre II Les machines virtuelles 2011-2012

Disquette :
Tout comme pour le lecteur CD/DVD, il est également possible d'activer le
lecteur de disquette (qui n'est plus beaucoup utilisé de nos jours...).
Il n'est pas nécessaire de modifier ces options.

Audio :
Cette option permettra à la machine virtuelle de bénéficier de votre carte
audio. Vous pourrez ainsi entendre les sons système, musiques ou bande son
de vidéo sur votre machine virtuelle. Pour cela, il suffit de cocher la
case Activer l'audio. Un menu déroulant permet également de sélectionner le
pilote audio.

Réseau :
Ici, il est possible de spécifier, d'activer ou de désactiver les différents
adaptateurs réseau de la machine virtuelle. VirtualBox permet également de lui
générer une adresse MAC.

- 50 -
Chapitre II Les machines virtuelles 2011-2012

Note importante :
Afin de réaliser un réseau a l’aide de VirtualBox, il impératif de spécifier ‘Réseau
Privé Hôte’ dans le mode d’accès réseau comme illustre ci-dessous

Interface série :
Si vous utilisez une interface série, vous avez la possibilité de la gérer ici.
Il n'est pas nécessaire de modifier ces options.

USB :
Si vous souhaitez bénéficier de vos périphériques USB (clés, webcam, etc.) sur
la machine virtuelle, il est alors nécessaire de cocher la case Activer le
contrôleur USB. Afin de partager un périphérique USB entre la machine
virtuelle et la machine hôte, il est nécessaire de l'ajouter. Pour cela, il suffit de
cliquer sur l'icône Ajouter (celui avec la petite croix verte). Les périphériques
USB actuellement connectés seront alors affichés et il vous suffira de choisir
celui de votre choix.

- 51 -
Chapitre II Les machines virtuelles 2011-2012

A noter que lorsqu'un périphérique est en cours d'utilisation sur la machine


virtuelle, il ne sera plus accessible sur la machine hôte.

Répertoires partagés :
Le logiciel permet de partager des répertoires afin de les rendre accessibles
entre la machine virtuelle et la machine hôte.

Il suffit pour cela de cliquer sur l'icône puis de choisir un répertoire sur son
disque :

Un clic sur le bouton OK ajoute le répertoire dans la liste des partages.

- 52 -
Chapitre II Les machines virtuelles 2011-2012

Ecran à distance :
Enfin, il est possible de rendre accessible la machine virtuelle à distance (avec
par exemple le Bureau à distance de Windows). Pour cela, il suffit de cocher la
case Activer le serveur VRDP.

II.7.7 Installation du système d'exploitation


Après avoir effectué nos réglages de la machine virtuelle, nous pouvons
maintenant procéder à l'installation du système d'exploitation que nous avons
choisi.

Nous allons donc insérer notre CD d'installation du système de notre choix dans
le lecteur CD de la machine (ou bien utiliser son image iso si nous l'avons
spécifié dans les Préférences). Il suffit ensuite d'allumer notre machine virtuelle
en la sélectionnant à

la souris puis en cliquant sur l'icône Démarrer :

A noter que l'on peut également lancer la machine via le menu contextuel
accessible par un clic droit ou bien directement en double cliquant sur la
machine virtuelle de son choix.

Lors du premier démarrage de la machine virtuelle, la fenêtre suivante apparaît

- 53 -
Chapitre II Les machines virtuelles 2011-2012

En effet, lorsque on clic n'importe où dans la fenêtre de la machine virtuelle, le


pointeur est capturé et ne peut plus sortir de la fenêtre. Vous ne pouvez alors
plus utiliser les autres applications de votre machine hôte. Pour libérer votre
pointeur de la fenêtre, il suffit d'utiliser la touche host, c'est à dire une
combinaison de touche (CTRL DROITE comme on le voit ici).

Cliquez sur le bouton Capture pour utiliser la souris dans la machine virtuelle.

Le CD d'installation de notre distribution d'Ubuntu se lance :

On remarche l'apparition d'un avertissement sur l'utilisation de la machine


virtuelle en mode couleur 16 bits (alors que nous somme en 32 bits sur notre
machine hôte).

Nous ne détaillerons pas ici la procédure d'installation du système


d'exploitation qui se fait de manière tout à fait classique...

Le CD live se lance...

- 54 -
Chapitre II Les machines virtuelles 2011-2012

...puis nous lançons l'installation du système.

- 55 -
Chapitre II Les machines virtuelles 2011-2012

II.7.8 Utilisation de la machine virtuelle


L'installation terminée, nous disposons maintenant d'une machine
virtuelle parfaitement fonctionnelle.

Avant de terminer, il semble important de parler des instantanés. Cette


fonctionnalité permet de saisir un cliché du système à un moment donné pour
pouvoir par la suite revenir à cet état. Pour l'utiliser, il suffit de cliquer sur
l'onglet Snapshot :

- 56 -
Chapitre II Les machines virtuelles 2011-2012

Pour saisir un instantané, cliquez sur l'icône


Pour remplacer l'état de la machine virtuelle avec l'instantané de votre choix, il
suffit de le sélectionner puis de cliquer sur l'icône
Cette fonctionnalité peut s'avérer très pratique puisqu'elle permet, en cas
d'infection ou de plantage, de pouvoir retrouver une machine virtuelle saine.

Nous avons maintenant à disposition une machine virtuelle autonome que


nous pouvons utiliser pleinement. Bien entendu, la virtualisation consomme
certaines ressources qui font que son fonctionnement ne sera pas aussi optimal
qu'une installation classique. Malgré tout, une machine virtuelle offre un
confort d'utilisation important et permet d'avoir à disposition autant d'OS que
l'on souhaite sur une seule et même machine physique.

- 57 -
Chapitre III

Configuration d'un
réseau en utilisant
VirtualBox
Chapitre III Configuration d’un réseau en utilisant VirtualBox 2011-2012

III.1 Architectures réseaux


Il existe 2 modes de fonctionnement des réseaux :

- "client/serveur", dans lequel un ordinateur central fournit des services


réseaux aux utilisateurs

● exemple des serveurs FTP

- “poste à poste” ou "égal à égal" (en anglais Peer to Peer ou P2P), dans
lequel il n'y a pas d'ordinateur central et chaque ordinateur a un rôle
similaire

● exemple du partage de fichier sous Windows

III.1.1 L'architecture client/serveur

Présentation de l'architecture d'un système


client/serveur

De nombreuses applications fonctionnent selon un environnement


client/serveur, cela signifie que des machines clientes (des machines
faisant partie du réseau) contactent un serveur, une machine
généralement très puissante en terme de capacités d'entrée-sortie, qui
leur fournit des services. Ces services sont des programmes fournissant des
données telles que l'heure, des fichiers, une connexion, etc.

Les services sont exploités par des programmes, appelés programmes clients,
s'exécutant sur les machines clientes. On parle ainsi de client (client FTP,
client de messagerie, etc.) lorsque l'on désigne un programme tournant
sur une machine cliente, capable de traiter des informations qu'il récupère
auprès d'un serveur (dans le cas du client FTP il s'agit de fichiers, tandis que
pour le client de messagerie il s'agit de courrier électronique).

- 58 -
Chapitre III Configuration d’un réseau en utilisant VirtualBox 2011-2012

Avantages de l'architecture client/serveur

Le modèle client/serveur est particulièrement recommandé pour des


réseaux nécessitant un grand niveau de fiabilité, ses principaux atouts sont :

● des ressources centralisées : étant donné que le serveur est au centre


du réseau, il peut gérer des ressources communes à tous les utilisateurs,
comme par exemple une base de données centralisée, afin d'éviter les
problèmes de redondance et de contradiction

● une meilleure sécurité : car le nombre de points d'entrée permettant


l'accès aux données est moins important

● une administration au niveau serveur : les clients ayant peu d'importance


dans ce modèle, ils ont moins besoin d'être administrés

● un réseau évolutif : grâce à cette architecture il est possible de supprimer ou


rajouter des clients sans perturber le fonctionnement du réseau et sans
modification majeure

Inconvénients de l'architecture client/serveur

L'architecture client/serveur a tout de même quelques lacunes parmi


lesquelles :

● un coût élevé dû à la technicité du serveur

● un maillon faible : le serveur est le seul maillon faible du réseau


client/serveur, étant donné que tout le réseau est architecturé autour de lui
! Heureusement, le serveur a une grande tolérance aux pannes
(notamment grâce au système RAID)

- 59 -
Chapitre III Configuration d’un réseau en utilisant VirtualBox 2011-2012

Fonctionnement d'un système client/serveur

Un système client/serveur fonctionne selon le schéma suivant :

● Le client émet une requête vers le serveur grâce à son adresse IP et


le port, qui désigne un service particulier du serveur

● Le serveur reçoit la demande et répond à l'aide de l'adresse de la machine


cliente et son port

Présentation de l'architecture à plusieurs niveaux

L'architecture à deux niveaux (aussi appelée architecture 2-tier, tier signifiant


rangée en anglais) caractérise les systèmes clients/serveurs pour lesquels le
client demande une ressource et le serveur la lui fournit directement, en
utilisant ses propres ressources. Cela signifie que le serveur ne fait pas appel à
une autre application afin de fournir une partie du service.

- 60 -
Chapitre III Configuration d’un réseau en utilisant VirtualBox 2011-2012

L'architecture à 3 niveaux (appelée architecture 3-tier), il existe un niveau


intermédiaire, c'est-à-dire que l'on a généralement une architecture
partagée entre :

Un client (l'ordinateur demandeur de ressources), le serveur d'application


(appelé également middleware), chargé de fournir la ressource mais
faisant appel à un autre serveur: le serveur de données, fournissant au
serveur d'application les données dont il a besoin. Il peut y avoir plusieurs
serveurs de données

Protocole et serveur FTP


Le protocole FTP (File Transfer Protocol) est un protocole de
communication dédié à l'échange informatique de fichiers sur un réseau
TCP/IP. Il permet, depuis un ordinateur, de copier des fichiers depuis ou vers
un autre ordinateur du réseau, d'administrer un site web, ou encore de
supprimer ou modifier des fichiers sur cet ordinateur.

Le protocole FTP a pour objectifs de :

● permettre un partage de fichiers entre machines distantes

● permettre une indépendance aux systèmes de fichiers des machines clientes


et serveur

● permettre de transférer des données de manière efficace

- 61 -
Chapitre III Configuration d’un réseau en utilisant VirtualBox 2011-2012

En pratique, le serveur est un ordinateur sur lequel fonctionne un logiciel lui-


même appelé serveur FTP, qui rend publique une arborescence de fichiers
similaire à un système de fichiers Unix. Pour accéder à un serveur FTP, on
utilise un logiciel client FTP (possédant une interface graphique ou en
ligne de commande).

FTP est très souvent utilisé en Sciences notamment pour télécharger de


gros fichiers rapidement (exemple: données d'études, résultats d'expériences,
séquences nucléotidiques, ...)

C'est aussi le protocole utilisé lorsqu'on a créé un site et qu'on veut le faire
héberger: vos fichiers sont envoyés de votre ordinateur vers le serveur web de
l'hébergeur par FTP

Note: SFTP est identique au FTP mais sécurisé (les données qui transitent sur le
réseau sont cryptées). SFTP est peu utilisé.

Comment utiliser FTP comme client ?

● Par un navigateur web

La plupart des navigateurs récents autorisent les connexions FTP en utilisant


une URL de type :

ftp://nom_d_utilisateur:mot_de_passe@nom_du_serveur:port_ftp

Par sécurité, il est conseillé de ne pas préciser le mot de passe, le serveur le


demandera. Cela évite de le laisser visible en clair ou réutilisable. La partie
port_ftp est optionnelle. S'il est omis le port par défaut (21) sera utilisé.

FTP par un navigateur est souvent très limité et n'autorise en général que la
lecture de fichiers sur le serveur
● Par la commande « ftp »

La commande « ftp » (suivie des arguments de connexion) est accessible


sur tous les systèmes d'exploitation. Toutes les fonctions sont disponibles
mais l'utilisation de ftp en ligne de commande est peu pratique

- 62 -
Chapitre III Configuration d’un réseau en utilisant VirtualBox 2011-2012

III.1.2 L'architecture poste à poste


Présentation de l'architecture d'un système poste à
poste
Contrairement à une architecture de réseau de type client/serveur,
il n'y a pas de serveur dédié. Ainsi chaque ordinateur dans un tel réseau
joue à la fois le rôle de serveur et de client. Cela signifie notamment que
chacun des ordinateurs du réseau est libre de partager ses ressources.

Les réseaux poste à poste ne nécessitent pas les mêmes niveaux de


performance et de sécurité que les logiciels réseaux pour serveurs dédiés.

Tous les systèmes d’exploitation intègrent toutes les fonctionnalités du réseau


poste à poste.

Dans un réseau poste à poste typique, il n’y a pas d’administrateur.


Chaque utilisateur administre son propre poste. D'autre part tous les
utilisateurs peuvent partager leurs ressources comme ils le souhaitent
(données dans des répertoires partagés, imprimantes, cartes fax etc.)
Avantages de l'architecture poste à poste

● un coût réduit (pas de matériel évolué et donc cher, pas de frais


d'administration)

● une grande simplicité (la gestion et la mise en place du réseau et des


machines sont peu compliquées)

Note: l’ « administration » d'un réseau ou de machines désigne :

- Gestion des utilisateurs et de la sécurité

- Mise à disposition des ressources

- Maintenance des applications et des données

- Installation et mise à niveau des logiciels utilisateurs

- 63 -
Chapitre III Configuration d’un réseau en utilisant VirtualBox 2011-2012

Inconvénients de l'architecture poste à poste

● Ce système n'est pas du tout centralisé, ce qui le rend très difficile à


administrer ;

● La sécurité est moins facile à assurer, compte tenu des échanges


transversaux ;

● Aucun maillon du système ne peut être considéré comme fiable.

Ainsi, les réseaux d'égal à égal sont préférentiellement utilisés pour des
applications ne nécessitant pas un haut niveau de sécurité ni une disponibilité
maximale (il est donc déconseillé pour un réseau professionnel avec des
données sensibles).
Fonctionnement d'un système Peer to Peer

La mise en œuvre d'une telle architecture réseau repose sur des solutions
standards :

● Placer les ordinateurs sur le bureau des utilisateurs

● Chaque utilisateur est son propre administrateur et planifie lui-même sa


sécurité

Pour les connexions, on utilise un système de câblage simple et apparent

Il s'agit généralement d'une solution satisfaisante pour des


environnements ayant les caractéristiques suivantes :

● Moins de 10-30 utilisateurs

● Tous les utilisateurs sont situés dans une même zone géographique

● La sécurité n’est pas un problème crucial

● Ni l’entreprise ni le réseau ne sont susceptibles d’évoluer de manière


significative dans un proche avenir

- Exemple de réseau Peer to Peer: cette salle informatique

- Cas particulier: les réseaux d'échange de fichiers (avec les logiciels type emule,
µtorrent, LimeWire...)

- 64 -
Chapitre III Configuration d’un réseau en utilisant VirtualBox 2011-2012

III.2 Configuration d'un réseau en utilisant


VirtualBox
III.2.1 Poste à Poste

S'il y a bien une question qui revient souvent sur les forums, c'est celle du
réseau local. Il permet l'échange d'informations entre plusieurs machines
reliées un réseau, comme le partage d'une ressource, que ce soit un fichier ou
un matériel (une imprimante par exemple) ou l'administration des postes, qu'ils
soient en domaine (c'est à dire centralisé autour d'un serveur avec active
directory) ou en Workgroup, cas le plus fréquent chez les particuliers.

III.2.2 Configuration des différents OS


1) Windows XP

Etape 1 : Le Pare-Feu

Sous Windows XP, il faut indiquer au Pare-Feu que l'on souhaite autoriser
le partage de fichiers et d'imprimantes. On y accède par le Panneau de
configuration > Pare-feu Windows

- 65 -
Chapitre III Configuration d’un réseau en utilisant VirtualBox 2011-2012

Etape 2 : Groupe de travail

Modifier son groupe de travail : Pour cela, faire un clic droit sur son "poste de
travail" et propriété, onglet ‘ Nom de l’ordinateur ‘ puis clic sur
‘ modifier ’ Changer le groupe de travail en ‘ WORKGROUP ‘

- 66 -
Chapitre III Configuration d’un réseau en utilisant VirtualBox 2011-2012

Etape 3 : partager son disque ou dossier

Pour cela aller dans poste de travail et clic droit sur le disque ou dossier à
partager (Dans notre cas, nous avons choisi de partager le disque ‘D’ et
autoriser les membres du réseau à le modifier) puis partage et sécurité, Activez
‘ partager ce dossier sur le réseau ‘ et ‘ autoriser les utilisateurs réseau à
modifier mes fichiers ‘ et enfin clic sue le bouton OK

2) Windows 7

Etape 1 : Le Pare-Feu

Sous Windows 7, il faut indiquer au Pare-Feu que l'on souhaite autoriser le


partage de fichiers et d'imprimantes. On y accède par le Panneau de
configuration > Pare-feu Windows et clic sur ‘Autoriser un programme ou une
fonctionnalité via le Pare-Feu Windows’

- 67 -
Chapitre III Configuration d’un réseau en utilisant VirtualBox 2011-2012

Etape 2 : Groupe de travail

Modifier son groupe de travail : Pour cela, faire un clic droit sur son
"Ordinateur" et propriété, clic sur ‘Réglages system Avancées’, onglet ‘ Nom
de l’ordinateur ‘ puis clic sur ‘ modifier ’

Changer le groupe de travail en ‘ WORKGROUP ‘


- 68 -
Chapitre III Configuration d’un réseau en utilisant VirtualBox 2011-2012

Etape 3 : partager son disque ou dossier

Aller vers le Disque ou dossier à partager, faire un clic droit, ‘propriétés’, dans
l’onglet ‘Partage’ cliquer sur ‘Partage Avancé’, activer ’Partager ce Dossier’,
clic sur ‘Permissions’ et activer ‘Control Total’ et enfin valider par ’OK’

3) UBUNTU (Linux)

Apres le démarrage d’Ubuntu, aller vers Applications –> Ubuntu Software


Center

- 69 -
Chapitre III Configuration d’un réseau en utilisant VirtualBox 2011-2012

Puis chercher et installer ‘Samba’

Apres son installation, aller vers System –> Administration –> Samba

Et sélectionner Préférences –> Server Settings

- 70 -
Chapitre III Configuration d’un réseau en utilisant VirtualBox 2011-2012

Dans ‘Workgroup’ écrire le même nom de groupe, WORKGROUP dans notre


cas

Note 1 : Il est possible qu’il soit nécessaire de redémarrer les PC du groupe afin
de pouvoir accéder aux dossiers partagés entre le différents PC.

Note 2 : Dans certains cas, le partage de fichier entre Linux et Windows ne


fonctionne pas. Solution : Ouvrir un Terminal, écrire la commande suivante :
« sudo gedit /etc/samba/smb.conf », Dans la section ‘Global settings ‘
ajouter cette ligne de commande au fichier de configuration de Samba :

« name resolve order = bcast host lmhosts wins » en dessous de


« workgroup = workgroup », comme illustrée ci-dessous

Pour partager des dossiers sous linux avec Windows, il suffit de cliquer sur

l’icone fin d’ajouter un dossier à partager et activer la fonction ‘Writable’


ainsi que ‘Visible’ (ici, nous avons choisi de partager le dossier ‘Music’)

- 71 -
Chapitre III Configuration d’un réseau en utilisant VirtualBox 2011-2012

Ci-dessous nous pouvons voir les différents systèmes accéder aux dossiers
partagés entre eux

Windows XP accède aux dossiers partagés de Linux et Win 7

- 72 -
Chapitre III Configuration d’un réseau en utilisant VirtualBox 2011-2012

Accède aux dossiers partagés de Linux et Windows XP

Linux (Ubuntu) accède aux dossiers partagés de Win 7 et Windows XP

III.2.2 Client/Server
Dans cette configuration nous allons configurer un serveur FTP (à l’aide de
Windows Server 2003) auquel les autre PC du réseau pourront y récupérer des
fichiers en utilisant leur navigateur web.

Avant de créer notre serveur, nous devons d’abord installer le service IIS (qui
n’est pas installer par défaut) ainsi que le service FTP.

Pour installer les différents services requis pour la réalisation de notre serveur
on procède ainsi:

- 73 -
Chapitre III Configuration d’un réseau en utilisant VirtualBox 2011-2012

Panneau de Configuration > Ajouter/Supprimer des Programmes


>Ajouter/Supprimer des composants Windows puis cocher la case ‘Application
Server’

Click sur details et sélectionner la case à cocher de ‘Internet Information


Services (IIS)’

- 74 -
Chapitre III Configuration d’un réseau en utilisant VirtualBox 2011-2012

Click sur details et sélectionner ‘File Transfer Protocol (FTP) Services’

Click sur OK deux fois puis Next pour installer le service FTP. Durant
l’installation il faudra insérer le CD d’installation de Windows Server 2003.
Enfin, on click sur Finish après l’installation des services en question.

Création d’un Site FTP

Comme pour les sites web, la manière la plus simple pour identifier un serveur
FTP et de lui assigner une adresse IP, comme exemple nous allons créer un site
FTP:

Ouvrir IIS Manager dans Administrative Tools, sélectionner FTP Sites dans la
console à gauche de la fenêtre qui apparait, clic droit sur Default FTP Site et
sélectionner Properties

- 75 -
Chapitre III Configuration d’un réseau en utilisant VirtualBox 2011-2012

Ici, nous allons assigner l’adresse IP 192.168.56.102 pour le Site FTP ‘Fichiers
electronique’ et mettre le dossier C:\Elec le dossier où se trouve le contenu du
site. Pour créer le Site FTP:
Click droit sur FTP Sites et sélectionner New --> FTP Site. Cette fenêtre
apparaitra

- 76 -
Chapitre III Configuration d’un réseau en utilisant VirtualBox 2011-2012

Click sur Next choisir 192.168.56.102 comme adresse IP

Click sur Next et sélectionner Do not isolate users, car ce site sera accessible
même aux utilisateurs invités

- 77 -
Chapitre III Configuration d’un réseau en utilisant VirtualBox 2011-2012

Click sur Next et spécifier C:\Elec comme le dossier racine pour ce site

Click sur Next et laisser les permissions sur Read puisque ce site sera utiliser
seulement pour télécharger les fichiers

- 78 -
Chapitre III Configuration d’un réseau en utilisant VirtualBox 2011-2012

Click sur Next puis Finish pour compléter la configuration. Maintenant, on peut
voir le site FTP Fichier electonique dans IIS Manager sous FTP Sites

Pour voir le contenu de ce site sur le même réseau, on ouvre simplement un


navigateur web (IE, Maxthon, FireFox…) et on ouvre cette adresse URL
ftp://192.168.56.102

- 79 -
Chapitre III Configuration d’un réseau en utilisant VirtualBox 2011-2012

Conclusion
Pourquoi préférer la virtualisation aujourd'hui ? Pour toute tâche ne
nécessitant pas des performances trop exigeantes ou de recours trop
important à des périphériques spécifiques (carte graphique, carte son, USB
2.0).

On peut adopter la virtualisation pour de nombreuses raisons: parmi lesquels


les logiciels et système d’exploitation peuvent être testés en mode isolé dans
des partitions virtuelles des économies de coûts principalement.

Pour de nombreuses entreprises, le plus grand bénéfice est la virtualisation des


serveurs, qui permet à plusieurs systèmes d'exploitation d’être installé sur un
serveur unique, et dans la réduction de la quantité de matériel qui est
nécessaire pour exécuter tous les logiciels utilisés par l'entreprise.

La consolidation des serveurs en utilisant un processus de virtualisation ne


fournit pas seulement des économies en termes de nombre de machines
physiques doivent être achetés et entretenus, mais aussi réduit
potentiellement la quantité d'espace physique qu'une entreprise a besoin pour
ses serveurs ou centre de données, et les centres de données peuvent
gracieusement (et pratiquement) se conformer aux modèles de travail
changeants.

- 80 -
Bibliographie
Overview of Computer Networks - Norman Matloff

Architecture réseaux - Olivier Tharan

www.wikipedia.com

www.zebulon.fr

www.windowsnetworking.com

www.liberiangeek.net/

www.siteduzero.com

www.virtualbox.org

www.vmware.com

www.xen.org

www.parallels.com

www.qemu.org

www.linux-kvm.org

- 81 -

Das könnte Ihnen auch gefallen