0% ont trouvé ce document utile (0 vote)
12 vues13 pages

Introduction à la Virtualisation des Serveurs

Le document traite de la virtualisation des serveurs, expliquant ses principes fondamentaux tels que le cloisonnement et la transparence. Il présente également les différents types d'hyperviseurs (type 1 et type 2) et les méthodes de virtualisation, y compris la virtualisation complète, la paravirtualisation et les isolateurs. Enfin, il aborde des solutions spécifiques comme Xen, KVM, VMware ESX et Hyper-V, ainsi que les applications de la virtualisation dans l'hébergement et le stockage.

Transféré par

sergio durval tagne
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
12 vues13 pages

Introduction à la Virtualisation des Serveurs

Le document traite de la virtualisation des serveurs, expliquant ses principes fondamentaux tels que le cloisonnement et la transparence. Il présente également les différents types d'hyperviseurs (type 1 et type 2) et les méthodes de virtualisation, y compris la virtualisation complète, la paravirtualisation et les isolateurs. Enfin, il aborde des solutions spécifiques comme Xen, KVM, VMware ESX et Hyper-V, ainsi que les applications de la virtualisation dans l'hébergement et le stockage.

Transféré par

sergio durval tagne
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Chapitre 1

La Virtualisation

1.1 Introduction
Un serveur est un ordinateur utilisé à distance depuis différents postes
de travail, ou autres serveurs. Il possède des ressources matérielles, prin-
cipalement CPU, mémoire, disques et interfaces réseau. Ces ressources sont
utilisées par des applications, non pas de manière directe, mais en s’appuyant
sur un système d’exploitation. La virtualisation de serveurs est un ensemble
de techniques et d’outils permettant de faire tourner plusieurs systèmes d’ex-
ploitation sur un même serveur physique. Le principe de la virtualisation est
donc un principe de partage : les différents systèmes d’exploitation se par-
tagent les ressources du serveur. Pour être utile de manière opérationnelle,
la virtualisation doit respecter deux principes fondamentaux :

Le cloisonnement : chaque système d’exploitation a un fonctionnement in-


dépendant, et ne peut interférer avec les autres en aucune manière.

La transparence : le fait de fonctionner en mode virtualisé ne change rien


au fonctionnement du système d’exploitation et a fortiori des applications.

La transparence implique la compatibilité : toutes les applications peuvent


tourner sur un système virtualisé, et leur fonctionnement nŠest en rien mo-
difié. .

4
Figure 1.1 – Architecture Virtualisée

1.2 Les hyperviseurs


Un hyperviseur est une plate-forme de virtualisation qui permet à plu-
sieurs systèmes d’exploitation de travailler sur une même machine physique
en même temps.

1.2.1 hyperviseur de type 1


Un hyperviseur de Type 1, ou natif, voire "bare metal" (littéralement
"métal nu"), est un logiciel qui s’exécute directement sur une plateforme
matérielle ; cette plateforme est alors considérée comme outil de contrôle
de système d’exploitation. Un système d’exploitation secondaire peut, de ce
fait, être exécuté au-dessus du matériel. L’hyperviseur type 1 est un noyau
hôte allégé et optimisé pour ne faire tourner initialement que des noyaux
de systèmes d’exploitation invités adaptés et optimisés à cette architecture
spécifique, ces systèmes invités ayant "conscience" d’être virtualisés. Sur des
processeurs ayant les instructions de virtualisation matérielle (AMD-V et
Intel VT), le système d’exploitation invité n’a plus besoin d’être modifié pour
pouvoir être exécuté dans un hyperviseur de type [Link] exemples de tels
hyperviseurs plus récents sont Xen, Oracle VM, ESX Server de VMware.

5
Figure 1.2 – Les types des hyperviseurs

1.2.2 hyperviseur de type 2


Un hyperviseur de Type 2 est un logiciel qui s’exécute à l’intérieur d’un
autre système d’exploitation. Un système d’exploitation invité s’exécutera
donc en troisième niveau au-dessus du matériel. Les systèmes d’exploitation
invités n’ayant pas conscience d’être virtualisés, ils n’ont pas besoin d’être
adaptés. Quelques exemples de tels hyperviseurs sont VMware Workstation,
VMware Fusion, l’hyperviseur open source QEMU, les produits Microsoft
Virtual PC et Virtual Server, VirtualBox d’Oracle, de même que Parallels
Workstation de SWsoft et Parallels Desktop.

1.3 Les différents types de la Virtualisation


1.3.1 Virtualisation Complète
La virtualisation dite complète permet de faire fonctionner n’importe quel
système d’exploitation en tant qu’invité dans une machine virtuelle. Pour
l’utilisateur final, ce type de virtualisation est la plus simple à mettre en
place et est la plus pratique.

6
Figure 1.3 – Virtualisation Complète

Principe : L’hyperviseur crée un environnement virtuel complet simu-


lant littéralement un nouvel ordinateur complet, avec du "faux matériel". À
quelques rares exceptions, le système d’exploitation invité (installé dans la
machine virtuelle) ne communique qu’avec ce faux matériel simulé, rendant
étanche l’environnement virtualisé.

Limitations : Ce type de virtualisation ne permet de virtualiser que des


systèmes d’exploitation prévus pour la même architecture matérielle que le
processeur physique de l’ordinateur hôte. Par exemple, un ordinateur équipé
d’un processeur Intel x86 sera incapable de virtualiser un système d’exploi-
tation prévu pour fonctionner dans une architecture PowerPC.

Quelques hyperviseurs de virtualisation complète :


- VirtualBox
- VMWare Player, VMWare Workstation
- Parallels Desktop for Windows et Linux
- KVM

1.3.2 Para-Virtualisation
La paravirtualisation fait intervenir un hyperviseur. Il sŠagit dŠun noyau
allégé au dessus duquel viendront se greffer les systèmes invités. Contrai-

7
Figure 1.4 – Para-virtualisation

rement à un système traditionnel de machines virtuelles où la virtualisa-


tion est transparente, avec la paravirtualisation, le système invité doit avoir
conscience quŠil tourne dans un environnement virtuel ce qui implique dŠem-
ployer un noyau modifié. Ce type de virtualisation permet des performances
bien plus importantes que la virtualisation totale (assistée par matériel, que
nous avons vu plus haut) .
Quelques hyperviseurs de virtualisation assisté :
- XEN
- VMWare ESX/ESXi
- Hyper-V (Microsoft)
- xVM

1.3.3 Les Isolateurs


Un isolateur est un logiciel permettant d’isoler l’exécution des applica-
tions dans ce qui sont appelés 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.
La performance est donc au rendez-vous, cependant on ne peut pas vraiment

8
Figure 1.5 – Isolateur

parler de virtualisation de systèmes d’exploitation. Uniquement liés aux sys-


tèmes Linux, les isolateurs sont en fait composés de plusieurs éléments et
peuvent prendre plusieurs formes.

Par exemple : Linux-VServer (isolation des processus en espace utilisa-


teur) ; chroot (isolation changement de racine) ; BSD Jail (isolation en espace
utilisateur) ; OpenVZ : libre, (partitionnement au niveau noyau sous Linux) ;
LXC : libre, (usage des Cgroups du noyau Linux).

1.4 Les principales solutions


1.4.1 XEN
Xen est une solution de virtualisation open source développée initiale-
ment par le département informatique de l’Université de Cambridge. Son dé-
veloppement est aujourd’hui activement sponsorisé par Citrix, qui a racheté
l’éditeur initial XenSource. Citrix distribue une version commerciale de Xen,
nommée Citrix XenServer, particulièrement adaptée à la virtualisation des
OS Microsoft Windows et Linux RHEL et SLES. Elle est dotée d’une in-
terface d’administration avancée, et d’un accès au support technique. Quant
aux fonctionnalités, elles sont les mêmes que dans la version distribuée libre-
ment. De grandes sociétés comme IBM ont contribué au développement de

9
Xen, et de gros efforts ont été faits par Citrix pour assurer une compatibilité
parfaite avec Windows, compatibilité aujourd’hui reconnue par Microsoft.

1.4.2 KVM
KVM, Kernel Virtual Machine, est intégré depuis le noyau 2.6.20 et per-
met une virtualisation matérielle et donc une accélération de la virtualisation
de système dŠexploitation.
C’est un système optimisé pour la virtualisation de serveur. Pour virtualiser
des systèmes de type desktop, on peut lui préférer virtualbox. KVM semble
en effet plus performant en consommation de processeur mais plus lent pour
l’émulation du périphérique graphique. L’utilisation d’un bureau virtualisé
dans VirtualBox pourra donc laisser une meilleure impression à l’utilisateur.
Vous pouvez tout de même préférer KVM pour sa meilleure compatibilité
avec des système d’exploitations anciens ou peu populaires.
Néanmoins, KVM est complètement libre, performant et très facile à installer
et à utiliser. L’interface graphique virt-manager pourra aider à paramétrer
KVM et pourra rendre la vie plus simple aux administrateurs ré[Link]
Vous ne pouvez pas utiliser KVM en même temps que VirtualBox. Il faudra
en effet fermer KVM pour utiliser VirtualBox et vice versa. Ou désactiver le
support de la virtualisation processeur dans VirtualBox.

1.4.3 VMware ESX


VMware vSphere est un logiciel d’infrastructure de Cloud computing de
l’éditeur VMware, c’est un hyperviseur de type 1 (Bare Metal), basé sur l’ar-
chitecture VMware ESXi.
VMware vSphere nécessite une configuration matérielle restreinte précisée
dans le guide de comptabilité VMware.
La gestion de ce serveur hôte peut se faire via plusieurs possibilités : par
le navigateur Web avec une connexion directe, par une console cliente avec
une connexion directe ou par un outil de gestion centralisée nommé VMware
vCenter Server qui permet d’administrer l’ensemble des machines virtuelles,
des hôtes physiques, de leurs ressources et des options de l’environnement
(High Availability, vMotion, Storage vMotion, Distributed Resource Schedu-
ler, Fault Tolerance) depuis une seule console.

1.4.4 Hyper-V
Hyper-V, également connu sous le nom de Windows Server Virtualiza-
tion, est un système de virtualisation basé sur un hyperviseur 64 bits de la

10
version de Windows Server 2008.
Il est possible d’utiliser la console Hyper-V sur Windows 7. Dans le sens in-
verse, de nombreux systèmes d’exploitation peuvent tourner à l’intérieur de
Hyper-V :
Bien évidemment pour les systèmes d’exploitation Microsoft Windows 8.1,
Windows 8, Windows 7 (sauf édition familiale), Windows Vista SP1/SP2
(sauf édition familiale), Windows Server 2008 x64 SP1/SP2 et R2, Windows
Server 2003 x64 SP2 et R2 SP2, Windows 2000 SP4, Windows XP Profes-
sionnel SP2/SP3 et x64 SP2
Pour les systèmes d’exploitation linux :
SUSE Linux Enterprise Server 10 SP1/SP2 et 11
Red Hat Enterprise Linux 5.2 x64 et versions ultérieures
Ubuntu 12.04 LTS et versions ultérieures

1.4.5 OpenVZ
Une des solutions les plus avancées et matures dans le domaine de l’iso-
lation est OpenVZ. Ce produit se présente sous la forme d’un patch pour le
noyau Linux, et d’un ensemble d’outils d’administration. Le patch du noyau
permet à un système GNU/Linux de gérer des contextes virtualisés. Les ou-
tils dŠadministration permettent de créer, d’instancier, et de contrôler les
environnements virtuels. Rappelons que la technologie d’isolation ne permet
d’exécuter que des serveurs virtuels Linux sur un hôte OpenVZ, même si
ces serveurs peuvent être de distributions différentes. Certaines distributions
Linux proposent des versions packagées d’OpenVZ. En particulier, la dis-
tribution Debian GNU/Linux, dans les versions Lenny et Squeeze, permet
dès l’installation du serveur physique de mettre en place cette solution en
quelques secondes via son système de packages. Il faut cependant noter que
OpenVZ a été remplacé par LXC dans la version Squeeze, paru en 2013.
Le projet OpenVZ fournit aux systèmes GNU/Linux une méthode de virtua-
lisation. Cette virtualisation se situe au niveau du noyau de l’OS. Cela rend
possible l’exécution de multiples instances d’OS GNU/Linux sur la même
machine. Ces instances fonctionnant de façon complètement sécurisées et
partageant intelligemment les ressources du serveur hôte.

1.4.6 LXC
LXC est une solution de virtualisation de type isolateur. Cette solution
permet la virtualisation par container au niveau du noyau. LXC est très ré-
cent et remplace Linux-VServer et OpenVZ. Aussi, LXC est dès à présent

11
intégré au noyau, ce qui nŠa jamais été le cas des deux solutions citées pré-
cédemment.
L’isolateur tire avantage de la possibilité, unique sous UNIX et Linux, de
partager le noyau avec dŠautres processus du système. Cette virtualisation à
noyau partagé utilise une fonctionnalité nommée chroot. Cette fonctionnalité
modifie le système de fichiers racine dŠun processus pour l’isoler de manière
à fournir une certaine sécurité. On parle alors de ń prison ż chroot.

1.5 Domaines d’application


Voici quelques exemples d’application de ces techniques de virtualisation,
dans les domaines où elles sont couramment mises en place.

Les offres d’hébergement étaient traditionnellement distinguées en deux


catégories : hébergement dédié et hébergement mutualisé.
Dans un hébergement dédié, le fournisseur met à disposition de son client un
ou plusieurs serveurs, configurés selon ses besoins. Selon les cas, le contrat
peut prévoir une plus ou moins grande autonomie du client par rapport
à la configuration et l’exploitation de son serveur, mais du moins au plan
technique, rien ne s’oppose à ce que le contrôle soit total.
Avec un hébergement mutualisé, le fournisseur utilise un même serveur pour
plusieurs de ses clients. Il utilise différentes solutions de cloisonnement 1 pour
maintenir une certaine étanchéité entre ces environnements.
Le partage de la ressource serveur permet bien sûr un coût très inférieur,
particulièrement attractif pour les sites à faible trafic. Mais l’hébergement
mutualisé simple a plusieurs handicaps :

- L’allocation des ressources du serveur n’est pratiquement pas contrôlée, de


sorte que la qualité de service de chaque site peut être pénalisée par un pic
de trafic, ou par la boucle d’un programme sur un autre site.

- La configuration logicielle est unique, et dictée par l’hébergeur. Elle fait le


choix, en général, d’un même serveur Http, mais aussi très souvent d’un même
outil de gestion de contenus et de base de données. La simple installation
de telle ou telle librairie spécifique nécessaire à l’un des clients nŠest en
général pas possible. Et a fortiori, des configurations globales sur mesure
sont interdites.
1. séparation

12
- En termes d’exploitation, chaque client est extrêmement confiné 2 , de peur
qu’il ne perturbe la configuration. Il dispose le plus souvent d’un simple accès
en transfert de fichier sur son répertoire privé, et dans tous les cas n’a jamais
l’accès root (administrateur) sur le serveur.
Entre ces deux modes d’hébergement, la virtualisation a permis un mode
combinant les bénéfices de l’un et de l’autre : le partage de ressources d’une
part, l’autonomie et le contrôle d’autre part.
C’est le mode que l’on appelle VDS pour Virtual Dedicated Server, un serveur
dédié virtuel.

1.6 La Virtualisation de Stockage


Dans tout projet de virtualisation se pose, à un moment ou un autre, la
question du [Link] soit la technologie utilisée, une machine vir-
tuelle se compose de deux éléments :
Des ressources : part de CPU alloués, mémoire vive autorisée, nombre de
cartes réseau virtuelles...
Des données : comme un serveur normal, on doit disposer d’un système
d’exploitation,de bibliothèques, d’outils, d’applications et de leurs données.

Le stockage dépend de la technologie de virtualisation utilisée, et surtout


de sa ń profondeur ż.
Dans les technologies de machine virtuelle, l’hyperviseur ne fournit au sys-
tème virtualisé qu’un espace de stockage. Il peut s’agir d’un volume, ou sim-
plement d’un fichier, on peut placer l’intégralité de cet espace sur un disque
local, un réseau de stockage ou un autre serveur...
L’utilisation d’un disque local est la solution la plus avantageuse en terme
de performances et de facilité d’administration. Cependant, l’utilisation d’un
stockage en réseau permet d’ouvrir la voie à de nouvelles fonctionnalités.

1.6.1 Stockage en Réseau


Les pleines capacités des hyperviseurs modernes ne peuvent s’exprimer
qu’au travers d’un stockage en réseau, en effet les hyperviseurs sont généra-
lement gérés sous forme de ńpoolsż, formant une ńforce de travailż globale
qui se partageront les machines virtuelles à exécuter.
Cette vision n’est possible que si le stockage est lui aussi unifié : sans cela
chaque hyperviseur ne peut faire tourner que les serveurs virtuels présents
sur son disque local, et n’est donc pas interchangeable.
2. Enfermer

13
Disposant d’un réseau de stockage, chaque hyperviseur a accès à toutes les
machines virtuelles, et peut donc exécuter n’importe laquelle, et la transférer
sans interruption à un autre hyperviseur en fonction de sa charge. Nous al-
lons présenter quelques technologies permettant de mettre en place un réseau
de stockage.

NAS et NFS
Un NAS, ou stockage réseau (Network-Attached Storage) est simplement
un serveur fournissant leurs fichiers à d’autres serveurs par le réseau.
NFS (Network file storage) est le standard universel pour l’accès aux fichiers
sur un réseau, c’est le protocole le plus utilisé dans les NAS.
Dans le cadre d’un isolateur, il permet de stocker l’arborescence du serveur
virtuel à distance. Dans le cadre d’une solution de virtualisation complète
il permet de stocker à distance les fichiers contenant les disques durs de la
machine virtuelle. Ce dernier cas est déconseillé hors des environnements de
test : NFS n’est pas adapté à la lecture aléatoire dans un seul fichier. En
revanche pour un isolateur, stocker les données en NFS est intéressant, et
le deviendra encore plus avec les systèmes de fichier de nouvelle génération
tels que ZFS, HAMMER ou btrfs, qui permettent des snapshots instantanés,
le versionnement des arborescences, et autres fonctionnalités pour l’instant
réservées aux baies de stockage haut de gamme.
En plus des matériels dédiés, la plupart des systèmes d’exploitation proposent
une implémentation serveur NFS, ce qui permet d’utiliser n’importe quel
serveur comme serveur de stockage NFS. Ces derniers utilisent alors soit des
disques locaux, soit leur propre réseau de stockage SAN

SAN
Un SAN, ou réseau de stockage (Storage Area Network), est un réseau sur
lequel circulent les données entre un système et son stockage. Cette technique
permet de déporter tout le stockage interne d’une machine vers un équipe-
ment dédié. Les SAN sont des équipements dédiés, qui ne travaillent qu’aux
plus basses couches du stockage, la notion de fichier leur est inconnue ; ils
travaillent simplement sur des blocs de données et les fournit par le réseau à
des serveurs qui eux sauront les utiliser. Cependant, les SAN les plus hauts
de gamme sont dotés de capacités avancées, tel que la prise de cliché, ou
encore la copie rapide de volumes. Les deux principaux protocoles d’accès à
un SAN sont iSCSI et Fibre Channel.

14
Figure 1.6 – Exemple de stockage SAN

15
iSCSI
iSCSI est un protocole d’accès disque fonctionnant sur un réseau Ethernet,
il permet d’implémenter un réseau de stockage en profitant de la connectique
et des équipements de commutation standards. Comme le NFS, il peut être
soit implémenté par une baie de stockage dédiée, ce qui assure les meilleures
performances, soit par un serveur classique disposant du logiciel adéquat,
par exemple IET (iSCSI Entreprise Target) sous Linux. Voici un exemple
de SAN : parmi les machines clientes du SAN, on retrouve un NAS : ces
deux techniques peuvent être combinées car elles ne travaillent pas au même
niveau.

Fibre Channel
La solution la plus haut-de-gamme pour implémenter un réseau de sto-
ckage est l’utilisation d’une baie dédiée et du protocole Fibre Channel. Basé
sur des fibres optiques il assure une latence et un débit bien meilleurs que
iSCSI, à un prix bien sûr plus élevé. Son principe d’utilisation est le même
qu’un SAN iSCSI.

1.7 Conclusion
Dans le prochain chapitre on verra ce que c’est que Le Cloud Compu-
[Link] il faut savoir que celui-ci doit son apparition à la [Link]
effet la virtualisation est la pierre angulaire de plusieurs Clouds, puisque l’in-
frastructure virtualisée est indispensable pour assurer la flexibilité et l’évo-
lutivité d’un Cloud.

16

Vous aimerez peut-être aussi