Vous êtes sur la page 1sur 18

Classification : Interne

La virtualisation des serveurs


Essaies Meriam
Classification : Interne

Définition de la virtualisation

• La principale technologie habilitante pour le Cloud Computing est la


virtualisation.
• La virtualisation est un partitionnement d'un serveur physique unique en
plusieurs serveurs logiques.
• La virtualisation est principalement utilisée à trois fins principales
1) Virtualisation de réseau
2) Virtualisation de serveur
3) Virtualisation de stockage
Classification : Interne

Principe de la Virtualisation

La virtualisation ajoute une couche de supervision supplémentaire (l'hyperviseur)


qui:
• assure la gestion de toutes les ressources physiques,
• propose plusieurs environnements étanches où un OS autonome pourra
tourner dans chacun d'entre eux.
La couche de virtualisation fournira à chaque OS les mêmes types de ressources
que si celui-ci était directement aux commandes de la machine.
Classification : Interne

Quelles sont les intérêts de la virtualisation

Les deux principaux intérêts de la virtualisation sont :


• optimiser l'utilisation des ressources, spécialement celle du calculateur
• alléger la charge de l'administration système (en regroupant dans une même
machine physique plusieurs machines existantes).
• la virtualisation permet de faire cohabiter des environnements
habituellement incompatibles :Windows et Linux, par exemple,
Classification : Interne

Quelles sont les intérêts de la virtualisation


Alléger l'administration système
• Si l'on ajoute une couche logicielle supplémentaire, potentiellement consommatrice de
ressources et cause possible d'incidents, c'est paradoxalement souvent pour alléger la
charge de l'administration système.
• Les mainframes, système unique de l'entreprise, autrefois maîtres du terrain, ont cédé la
place. Ils ont été remplacés par des serveurs de plus en plus nombreux (beaucoup de type
x86). Les raisons, leur simplicité relative d'administration, le faible coût de licence, la
scalabilité...
• Administrer et maintenir ces nombreuses machines (parfois plusieurs milliers) est souvent
devenu un vrai problème. Ils existent plusieurs solutions pour réduire cette charge :
• les « bladecenters », qui rassemblent à chaque niveau de rack les interfaces utiles
(alimentation, réseau, supervision...);
• la virtualisation.

Virtualiser, c'est donc rassembler dans une même machine, d'une part, un
grand nombre de systèmes indépendants, d'autre part, un seul jeu de licences
(« dans certains cas ») et d'interfaces.
Classification : Interne

Hyperviseur

Hyperviseurs de type 1 et 2
Classification : Interne

Hyperviseur
• Les principaux hyperviseurs de type 1 du marché sont ceux de VMware
(ESX), de Microsoft (Hyper-V), de RedHat (KVM), d'Oracle (Oracle VM)
et l'hyperviseur open-source Xen.
• Il existe des hyperviseurs de type 2 qui sont des applications de
virtualisation qui s'exécutent non pas directement sur du hardware mais sur
un système d'exploitation (Windows, Linux, MacOS). Les principales
solutions de type 2 sont VM VirtualBox (Oracle), WMware Workstation
(sur Windows et Linux) et Fusion (sur Mac), et l'hyperviseur open-source
QEMU.
Classification : Interne

Les différents types de virtualisation


• La para-virtualisation est une virtualisation dans laquelle le système
d'exploitation invité (celui qui est virtualisé) est conscient qu'il s'agit d'un invité
et dispose par conséquent de pilotes qui, au lieu d'émettre des commandes
matérielles, émettent simplement des commandes directement au système
d'exploitation hôte. Cela inclura également des éléments tels que la gestion de la
mémoire.
• La para-virtualisation minimise la surcharge (overhead) et optimise les
performances du système
• L'avantage de l'utilisation de cette virtualisation est qu'elle est plus facile à
utiliser, améliore les performances et ne nécessite pas de surcharge d'émulation.
• Xen et UML utilisent principalement la virtualisation Para.
• La différence entre la virtualisation complète et la virtualisation partielle est
que, dans la virtualisation, l'hyperviseur n'a pas besoin de trop de puissance de
traitement pour gérer le système d'exploitation.
Classification : Interne

Les différents types de virtualisation


• La virtualisation complète est une virtualisation dans laquelle le système
d'exploitation invité ne sait pas qu'il se trouve dans un environnement
virtualisé et, par conséquent, le matériel est virtualisé par le système
d'exploitation hôte afin que l'invité puisse émettre des commandes sur ce
qu'il pense être du matériel réel, mais qui sont simplement simulés et créés
par l'hôte.
• La virtualisation complète n’a pas besoin de modifier l’OS hôte. Elle
s’appuie sur une conversion binaire afin d’intercepter et de virtualiser
l’exécution de certaines instructions sensibles non virtualisables.
• La stabilité du système dépends de la stabilité des VM invités.S
Classification : Interne

VM vs conteneurs
• Les conteneurs fournissent également un moyen d'isoler les applications et de fournir une
plate-forme virtuelle sur laquelle les applications s'exécutent.
• Le système du conteneur nécessite un système d'exploitation sous-jacent qui fournit les
services de base à toutes les applications conteneurisées en utilisant la prise en charge de la
mémoire virtuelle pour l'isolation. Un hyperviseur, quant à lui, exécute des machines virtuelles
qui ont leur propre système d'exploitation à l'aide de la prise en charge matérielle des
machines virtuelles.
• Les systèmes de conteneurs ont une surcharge inférieure à celle des machines virtuelles et les
systèmes de conteneurs ciblent généralement des environnements dans lesquels des milliers de
conteneurs sont en jeu. Les systèmes de conteneurs fournissent généralement une isolation de
service entre les conteneurs. Par conséquent, les services de conteneur tels que les systèmes de
fichiers ou la prise en charge réseau peuvent avoir un accès limité aux ressources.
• ll y a aussi quelque chose qui s'appelle la para-virtualisation, qui est une sorte de mélange
entre les deux approches. Il utilise la prise en charge de la mémoire virtuelle pour l'isolation,
mais il nécessite des pilotes de périphérique spéciaux dans la machine virtuelle qui sont liés
via l'hyperviseur au système d'exploitation sous-jacent, qui à son tour fournit les services de
périphérique
Classification : Interne

VM vs conteneurs

Les machines virtuelles (VM) sont gérées par un hyperviseur et utilisent le matériel
VM (a), tandis que les systèmes de conteneur fournissent des services de système
d'exploitation à partir de l'hôte sous-jacent et isolent les applications à l'aide de
matériel de mémoire virtuelle (b).
Classification : Interne

VM vs conteneurs
Pour conclure:
• une machine virtuelle fournit une machine abstraite qui utilise des pilotes de
périphérique ciblant la machine abstraite, tandis qu'un conteneur fournit un
système d'exploitation abstrait.
• Les applications exécutées dans un environnement de conteneur partagent un
système d'exploitation sous-jacent, tandis que les systèmes VM peuvent
exécuter différents systèmes d'exploitation.
• En règle générale, une machine virtuelle hébergera plusieurs applications dont
la combinaison peut changer au fil du temps par rapport à un conteneur qui aura
normalement une seule application. Cependant, il est possible d’avoir un
ensemble fixe d’applications dans un seul conteneur.
• Un certain nombre de technologies de conteneurs sont disponibles, avec Linux
en tête. L'une des plates-formes les plus populaires est Docker, qui est
désormais basée sur Linux libcontainer. En fait, Docker est un système de
gestion utilisé pour créer, gérer et surveiller des conteneurs Linux. Ansible est
un autre système de gestion de conteneurs privilégié par Red Hat.
Classification : Interne

VM vs conteneurs
Architecture de conteneurs
• Un conteneur est un silo isolé et léger pour exécuter une application sur le
système d'exploitation hôte.
• Les conteneurs reposent sur le noyau du système d'exploitation hôte, et ne
contiennent que des applications et des API et services de système
d'exploitation légers qui s'exécutent en mode utilisateur, comme indiqué dans
ce diagramme.
Classification : Interne

VM vs conteneurs
Architecture VM
• Contrairement aux conteneurs, les machines virtuelles exécutent un système
d'exploitation complet, y compris son propre noyau, comme illustré dans ce
diagramm
Classification : Interne

VM vs conteneurs
Le tableau suivant montre certaines des similitudes et des différences de ces technologies
complémentaires.

conteneur VM
Isolement Fournit généralement une isolation légère de l'hôte et des autres Fournit une isolation complète du système
conteneurs, mais ne fournit pas une limite de sécurité aussi forte d'exploitation hôte et des autres machines
qu'une machine virtuelle. (Vous pouvez augmenter la sécurité en virtuelles. Cela est utile lorsqu'une limite de
utilisant le mode d'isolation Hyper-V pour isoler chaque conteneur sécurité solide est essentielle, comme
dans une machine virtuelle légère). l'hébergement d'applications d'entreprises
concurrentes sur le même serveur ou
cluster.
Système opérateur Exécute la partie mode utilisateur d'un système d'exploitation et Exécute à peu près n'importe quel système
peut être personnalisé pour contenir uniquement les services d'exploitation à l'intérieur de la machine
nécessaires à votre application, en utilisant moins de ressources virtuelle
système.
Compatibilité invité Fonctionne sur la même version du système d'exploitation que Exécute à peu près n'importe quel système
l'hôte(l'isolation Hyper-V vous permet d'exécuter des versions d'exploitation à l'intérieur de la machine
antérieures du même système d'exploitation dans un virtuelle
environnement de machine virtuelle légère)
L'équilibrage de Les conteneurs eux-mêmes ne bougent pas; à la place, un L'équilibrage de charge de machine
charge orchestrateur peut démarrer ou arrêter automatiquement les virtuelle déplace les machines virtuelles en
conteneurs sur les nœuds de cluster pour gérer les changements de cours d'exécution vers d'autres serveurs
charge et de disponibilité. dans un cluster de basculement.
Classification : Interne

Mobilité de machines virtuelles


• Mobilité de quoi?
Considérons d'abord la question de savoir ce qui est exactement déplacé. Les
administrateurs système se concentrent souvent sur «la machine», qui englobe le
système d'exploitation et l'état configuré de la machine virtuelle elle-même. Mais la
véritable «masse» du système réside dans ses données stockées. Les fournisseurs
d'hyperviseurs ont mis au point différentes techniques pour déplacer ces deux
éléments essentiels, reflétant les caractéristiques uniques de chacun.
Classification : Interne

Mobilité de machines virtuelles

• Mobilité dans quel état?


La grande question qui doit être posée lors de l'examen de la mobilité de la
machine virtuelle: dans quel état la machine virtuelle sera-t-elle déplacée?
Sera-ce une image froide et hors tension du système? Une image du
système d'exploitation suspendue ou en pause? Ou une machine pleine et
en marche?
Différents types de migrations existent, notamment:
• Cold, qui migre une machine virtuelle hors tension vers un nouvel hôte
ou une nouvelle datastore
• Suspendu, qui migre une machine virtuelle suspendue vers un nouvel
hôte ou une nouvelle datastore
• Live, qui utilise vSphere vMotion pour migrer une VM sous tension
«active» vers un nouvel hôte et / ou utilise vSphere Storage vMotion
pour migrer les fichiers d'une VM sous tension active vers une nouvelle
datastore
Classification : Interne

Mobilité de machines virtuelles

• Mobilité vers où?


Une fois que nous avons décidé si nous parlons de migration de machine virtuelle ou
de mouvement de ressources de stockage, nous devons considérer la portée du
mouvement. La possibilité de déplacer une machine virtuelle d'un membre du cluster à
un autre est maintenant devenue assez courante. Mais qu'en est-il des systèmes qui ne
sont pas liés dans un cluster? Ou qui sont répartis sur de grandes distances?