Vous êtes sur la page 1sur 35

Virtualisation

Définition
La virtualisation est l’ensemble des technologies matérielles et/ou
logicielles qui permettent de faire fonctionner plusieurs systèmes
d'exploitation et/ou plusieurs applications sur une même machine, de
manière indépendante de la plateforme matérielle et séparément les uns
des autres, comme s'ils fonctionnaient sur des machines physiques
distinctes. On parle de :
Machine hôte = machine exécutant les différents systèmes virtuels
Machine invitée = machine virtuelle s'exécutant dans l'environnement de
virtualisation

L’autonomie de chaque machine virtuelle rend la solution complètement


transparente pour l’utilisateur et toutes actions telles que redémarrage
ou installation d’applications ne perturbent pas le fonctionnement des
autres machines virtuelles démarrés pour autant sur la même ressource
physique.
Objectif de la virtualisation
La virtualisation a pour objectif de relocaliser le poste de travail au sein
du datacenter, sur une infrastructure virtuelle, afin de bénéficier de tous
les avantages qui y sont liés à savoir :

- Une administration des postes centralisée et considérablement


simplifiée

- Possibilité de remplacer les postes utilisateurs traditionnels par des


clients légers, plus fiables, moins chers et peu consommateurs en énergie.

- Les postes de travail héritent de la sécurisation de l'infrastructure


virtuelle sur laquelle ils sont hébergés (redondances, backup…)

Une mobilité accrue, le poste utilisateur est accessible hors de


l'entreprise de façon permanente et sécurisée.
Objectif de la virtualisation

Architecture traditionnelle Architecture virtualisée


Les solutions de la virtualisation

On distingue trois grandes catégories de solutions de


virtualisation, dont les domaines d’applications sont
différents :

1. L’isolation ou container
2. La para-virtualisation ou hyperviseur
3. La virtualisation complète
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.

Exemple : Linux V Server: isolation des processus en espace


utilisateur
Paravirtualisation : Hyperviseur type 1

Un hyperviseur de « type 1 » est un hyperviseur s’exécutant directement


sur une plateforme matérielle. Il implémente la plupart des services que
fournissent les noyaux de systèmes d’exploitation courants, entre autres :
la gestion mémoire complète des machines virtuelles ainsi que leur
ordonnancement.

Les systèmes d’exploitation invités sont conscient de s’exécuter dans un


environnement virtualisé, ce qui nécessite bien entendu certaines
modifications logicielles. En contre partie, il devient capable d’interagir
avec l’hyperviseur et de lui demander, le cas échéant, de transmettre
directement les appels systèmes au matériel du serveur hôte. Les
performances « virtuelles » sont alors théoriquement proches de celles
qu’il serait possible d’atteindre avec le matériel réel.
Virtualisation complète
Un hyperviseur de « type 2 » est un émulateur s’exécutant par dessus un
système d’exploitation classique (hôte) comme n’importe quel autre
programme. Il utilise les services fournis par le système d’exploitation
hôte pour gérer de la mémoire et l’ordonnancement des machines
virtuelles. Les systèmes d’exploitation invités n’ont pas conscience d’être
virtualisés. ces derniers croient dialoguer directement avec ledit
matériel.

L’hyperviseur se chargeant de créer un environnement virtuel complet


en simulant du « faux » matériel. Le système d’exploitation invité n’aura
alors accès qu’à ces ressources simulées, et non aux ressources
matérielles réelles. Ce type de virtualisation est toutefois limité aux
systèmes d’exploitation prévus pour la même architecture
matérielle (x86, x64, ARM, ...) que le processeur physique de la machine
hôte.
Les produits de la virtualisation
Les domaines de la virtualisation
✔ La virtualisation d’application est une technologie logicielle
qui va permettre d’améliorer la portabilité et la
compatibilité des applications en les isolant du système
d’exploitation sur le quel elles sont exécutées. Elle consiste à
encapsuler l’application et son contexte d’exécution système
dans un environnement cloisonné.

Exemple : Wine
✔ La virtualisation des réseaux : VLAN
est un réseau local regroupant un ensemble de machines de façon
logique et non physique.
Les domaines de la virtualisation
✔ La virtualisation de stockage permet :
➔ d’adjoindre un périphérique de stockage supplémentaire
sans interruption des services
➔ de regrouper des unités de disques durs de différentes

vitesses, de différentes tailles et de différents constructeurs


➔ de réallouer dynamiquement de l’espace de stockage

Exemple :

VMDK chez VMWare

OVF format ouvert


Virtualisation : Les types de connexion réseau

En termes de connexion au réseau, on trouve :


✔ Bridge
✔ NAT
✔ Host-Only
✔ LAN Segment
Virtualisation : Les types de connexion réseau
Bridge :
Ce mode est le plus utilisé puisqu’il permet de connecter
une machine virtuelle directement sur le réseau physique
sur lequel est branchée la carte réseau physique de l’hôte.
Virtualisation : Les types de connexion réseau

NAT :

Ce type de connexion permet à la machine virtuelle


d’accéder au réseau de façon totalement transparente
puisque c’est l’adresse IP de la machine physique qui est
utilisée grâce à la translation d’adresse du processus
NAT.
Virtualisation : Les types de connexion réseau

Ce type de connexion ne permet pas de sortir vers un réseau


extérieur, ni d’accéder au réseau local par l’intermédiaire de la
carte réseau physique de la machine physique hôte.

Ce mode permet uniquement d’établir une connexion entre la


machine virtuelle et la machine physique.
Virtualisation : Les types de connexion réseau

Le type LAN Segment permet d’isoler des machines sur un


LAN virtuel.

La machine dans le VLAN1 ne peut pas communiquer avec


une autre machine du VLAN2.
La haute disponibilité
En matière de haute disponibilité ou de haute capacité
d’accueil, les mécanismes centraux sont devenus classiques et
bien maîtrisés : répartition de charge (load balancing) et
reprise automatique sur incident (failover).

Répartition de charge

La répartition de charge est particulièrement populaire dans


la technologie des serveurs et désigne une procédure dans
laquelle les requêtes sont distribuées à différents serveurs en
arrière-plan, sans que les utilisateurs ne s’en aperçoivent.
L’équilibreur de charge utilisé à cette fin peut être
implémenté sous forme de matériel ou de logiciel.
La haute disponibilité
Un autre usage de la virtualisation dans une optique de
haute disponibilité de service peut consister à avoir sur
plusieurs serveurs physiques les mêmes environnements
virtuels (synchronisés régulièrement).

Les différents serveurs physiques se partagent les différents


serveurs virtuels, et si un des serveurs physiques tombe en
panne, les machines dont il avait la responsabilité sont
relancées sur les autres serveurs.
La haute disponibilité
La haute disponibilité
La virtualisation permet d’optimiser la charge de travail des
serveurs physiques → Une réduction de l’infrastructure
physique et des économies d’énergies

Rendement d’un serveur en Rendement d’un serveur en


l’absence de virtualisation présence de virtualisation
Le stockage 
Quelque soit la technologie utilisée, une machine
virtuelle se compose de deux éléments :

• Des ressources

• Des données
Le stockage
DAS : Direct Attached Storage
Il s’agit d’un périphérique de stockage qui est relié directement à
un ordinateur. Par exemple, le disque dur interne d’un ordinateur
ou d’un serveur représente un stockage DAS. Les utilisateurs
peuvent utiliser ces données au moyen d'un protocole de partage
des données.

FTP, SMB,CIFS,….
Le stockage
NAS : Network Attached Storage
À l’instar du Cloud, le NAS permet d’accéder à des données à
distance via une connexion réseau. En cas d’incident, les données
peuvent être récupérées facilement. Les données sont stockées et
protégées avant d’être transférées vers le Cloud.

Le serveur NAS représente un progrès considérable puisqu’il


permet aux clients d’un réseau d’accéder aux mêmes fichiers. Ce
serveur est de plus en plus utilisé compte tenu de l’émergence du
Big Data.

Ce type de service vise à mettre à disposition de l’espace de


stockage permettant de déposer des fichiers de tout type.

NFS est le standard universel pour l'accès aux fichiers sur un


réseau, c'est le protocole le plus utilisé dans les NAS.
Le stockage
Le SAN (Storage Area Network) est un réseau dédié à
l’interconnexion des ressources. Il est composé d’hôtes, de
commutateurs, d’éléments de stockage ainsi que de périphériques
de stockage interconnectés. Il peut s’étendre sur plusieurs sites.

Le SAN présente des périphériques de stockage à un hôte de


manière à ce que le stockage semble connecté localement. La
présentation du stockage à un hôte se fait par l’utilisation de
différents types de virtualisation.

Répartir le stockage entre les serveurs.

Un SAN utilise généralement l'un des trois protocoles suivants :


FC (Fiber channel)
FCoE (Fiber Channel Over Ethernet).
iSCSI (Internet Small Computer System Interface).
Étude de cas : KVM
Le noyau Linux possède sa propre infrastructure de virtualisation,
nommée Kernel Virtualization Module (KVM). Utilisée au travers
de l'outil qemu.

KVM, permet d'exécuter plusieurs systèmes d'exploitation invités


à l'aide d'extensions de virtualisation matérielle. Il prend en
charge une grande variété de systèmes d'exploitation invités tels
que Linux, Windows, Solaris, HP-AIX, OpenBSD et bien plus
encore. KVM peut être géré à l'aide de la ligne de commande ou
des outils graphiques disponibles.
Étude de cas : KVM
KVM graphique

Virt-Manager (Virtual Machine Manager) est l'application la


plus utilisée pour la gestion des machines virtuelles basées
sur KVM. Elle prend en charge la création, l'édition, le
démarrage et l'arrêt de machines virtuelles KVM, ainsi que la
migration dynamique des machines invitées entre hôtes.
KVM est une virtualisation complète et open source pour
Linux. En utilisant KVM, nous pouvons facilement
transformer n'importe quel serveur Linux en un
environnement de virtualisation complet en quelques minutes
et déployer différents types de machines virtuelles telles que
GNU / Linux, BSD, Windows, etc.
Étude de cas : KVM
KVM en ligne de commande 
Red Hat a lancé un projet qui a permis de grandement
simplifier la création et la gestion des machines virtuelles, la
libvirt. Cette bibliothèque regroupe plusieurs outils, dont un
très puissant, virsh. Cet outil va vous servir aussi bien à
préparer la configuration réseau de la machine hôte qu'à
créer, modifier, importer vos machines virtuelles. Il est aussi
utilisable pour manipuler des instantanés.
La bibiliothèque libvirt permet de manipuler différentes
technologies de virtualisation (xen, kvm, lxc...). On peut alors
changer de format de machine virtuelle, tout en continuant à
utiliser les mêmes commandes.
L’outil virsh est dans le paquet libvirt-bin.
Étude de cas : KVM
Connexion en ssh au serveur de virtualisation par échange de clé.
Ensuite connectez-vous à votre hyperviseur via la commande
~$ virsh -c qemu:///system
Pour voir la liste de toute vos machines actives :
virsh # list
Pour voir la liste de toute vos machines inactives
virsh # list --inactive
Pour voir la liste de toute les machines active ou non
virsh # list --all
Pour démarrer la machine virtuelle CentOS
virsh # start CentOS
Pour redémarrer la machine virtuelle CentOS
virsh # reboot CentOS
Pour arrêter la machine virtuelle CentOS
virsh # shutdown CentOS
Pour arrêter brutalement la machine virtuelle CentOS
virsh # destroy CentOS
Étude de cas : KVM
Pour mettre en pause la machine virtuelle CentOS

virsh # suspend CentOS


Pour relancer votre machine virtuelle
Virsh # resume CentOS
Pour afficher les informations d’une machine virtuelle
virsh # dominfo CentOS
Pour afficher les informations de la machine qui supporte la
virtualisation, machine nœud
virsh # nodeinfo
Étude de cas : KVM
KVM en ligne de commande 
Red Hat a lancé un projet qui a permis de grandement
simplifier la création et la gestion des machines virtuelles, la
libvirt. Cette bibliothèque regroupe plusieurs outils, dont un
très puissant, virsh. Cet outil va vous servir aussi bien à
préparer la configuration réseau de la machine hôte qu'à
créer, modifier, importer vos machines virtuelles. Il est aussi
utilisable pour manipuler des instantanés.
La bibiliothèque libvirt permet de manipuler différentes
technologies de virtualisation (xen, kvm, lxc...). On peut alors
changer de format de machine virtuelle, tout en continuant à
utiliser les mêmes commandes.
L’outil virsh est dans le paquet libvirt-bin.
Installation  : VM
Installation : VM
Installation : VM
Installation : VM
Installation : VM

Vous aimerez peut-être aussi