Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Chap 1 - C - V - Virtualisation

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 28

Cloud & Virtualisation

Chap 1 - Virtualisation

Préparé par : Khaled Belghith

Confidential C
Introduction
❑ Virtualiser : proposer, par l'intermédiaire d'une couche
d'abstraction proche du matériel, une vue multiple d'un
matériel unique, en sérialisant les appels vus concurrents de
l'extérieur.

2
Confidential C
Analogie avec les processeurs
• Cadence max atteinte (~3.6GHz)
• Naissance du multi-cœurs suivit de l'Hyper-
threading (1 cœur = 2 cœurs logiques)
(Ex: Core i7 => 1 processeur, 4 cœurs physiques hyper-threadés
=> soit 2x4=8 cœurs logiques).

• La virtualisation consiste à
« augmenter » le nombre de cœurs.

3
Confidential C
Terminologie
❑ Le système hôte (host) est l’OS principal de l’ordinateur.
❑ Le système invité (guest) est l’OS installé à l’intérieur d’une
machine virtuelle.
❑ Une machine virtuelle (VM) est un ordinateur virtuel qui utilise
un système invité.
❑ Un ordinateur virtuel est aussi appelé serveur privé virtuel
(Virtual Private Server ou VPS) ou environnement virtuel (Virtual
Environment ou VE)

4
Confidential C
Intérêts
❑ Usage optimale des ressources
❑ Installation, déploiement et migration facile
❑ Économie sur le matériel
❑ Sécurisation
❑ Isolation
❑ Allocation dynamique
❑ Diminution des risques

5
Confidential C
Historique
❑ Idée développée au centre IBM de
Cambridge et de Grenoble en 1972
(VM/CMS) (pseudo-machine.) avec le
MIT
❑ Mi-90’s émulateurs d’Atari, Amiga, NES,
SNES, …
❑ Début des années 2000 : VMware
❑ Logiciels libre : Xen, KVM, Qemu,
Bochs,...
❑ Propriétaire (mais gratuits) : VirtualPC,
Virtual Server et Vmware Server,… 6
Confidential C
Différents domaines
❑ Virtualisation d’applications (du contexte d’exécution).
❑ Virtualisation de serveur
❑ Virtualisation du réseau (VLAN)*
❑ Virtualisation du stockage*

(*: non traité dans ce cours)

7
Confidential C
Différentes techniques de virtualisation
❑ Usage de couches logicielles intermédiaires
❑ 4 types de technologies

8
Confidential C
Techno #1 : Virtualisation d’OS ou Isolateur
❑ Logiciel qui isole l’exécution des applications
dans des contextes d’exécution.
❑ Généralisation de la notion de « contexte »
Unix, plus isolation
▪ des périphériques,
▪ des systèmes de fichiers
❑ Solution très performante et économique
en mémoire mais
❑ Partage du code noyau (donc mauvaise
isolation).

Exemple : chroot (changement de racine), Linux Vserver, OpenVZ, Docker, LXC


(usage des Cgroups du noyau Linux),... 9
Confidential C
Techno #2 : Hyperviseur de type 2
ou Achitecture hébergée
❑ Logiciel (assez lourd
généralement) installée sur l’OS
❑ Virtualise et/ou émule le matériel
❑ Comparable à un émulateur mais accès
«direct » au CPU, RAM, FS.
❑ Performances réduites si le CPU doit être
émulé
❑ Bonne étanchéité entre les OS invités.

Exemples : VirtualBox, QEMU, Vmware (workstation, fusion,player),


Microsoft Virtual PC, Parallels desktop, Oracle VM Virtual Box
10
Confidential C
Techno #3 : Hyperviseur complet
(dit de type-1 ou bare-metal)

❑ Noyau système léger et optimisé


❑ Outils de supervision
❑ Permet l’exécution d’OS natifs
❑ Usage d’instructions dédiées à la
virtualisation (sinon émulation).
❑ Méthode de virtualisation la plus
performante
❑ Contraignante et onéruse

Ex: Citrix XEN, KVM, Vmware vSphere (VMware ESX) ,…


11
Confidential C
Techno #4 : Paravirtualisation
(Hyperviseur de type 1 également)

❑ Noyau système allégé et optimisé


❑ Noyau invités adaptés et optimisés
❑ Noyau invité sait qu’il est virtualisé
❑ Noyau invité communique avec l’hyperviseur
de manière explicite (hypercalls)
❑ Utilisable sans les instructions spécifiques (ex
: VT-x ou AMD-v).
❑ Impraticables pour les systèmes non libres.

Exemples : Vmware Vsphere, XEN, Microsoft Hyper-V server, KVM,...


12
Confidential C
Pour info : Une 5ème technologie…
Noyau dans l’espace utilisateur
❑ Un noyau exécuté comme une application dans le user-space.
❑ Très peu performant (empilement de deux noyaux !)
❑ Utile au développement noyau.

Ex : UML (User Mode Linux)


http://user-mode-linux.sourceforge.net/

13
Confidential C
Matériel
❑ Le support de la virtualisation peut être intégré au
processeur
▪ Virtualisation des accès mémoire
▪ Protection du processeur physique des accès bas niveaux

❑ Simplifie la virtualisation logicielle


❑ réduit la dégradation de performance

Ex : AMD-v et Intel VT

Confidential C
AMD-V et Intel VT
❑ Jeu étendu d’instructions de virtualisation.
❑ Un «super Bios » fait l’interface avec la puce.
❑ Simplifie la virtualisation logicielle
❑ Réduit la dégradation de performances

15
Confidential C
Quelques solutions (Open source)
❑ QEMU ❑ OpenVZ
❑ KVM ❑ Docker
❑ XEN
❑ VirtualBox

16
Confidential C
❑ Machine virtuelle complète
❑ Techniquement très aboutie
❑ Émulation complète de machine (x86,ARM,MIPS,…)
❑ L’usage du module kQemu pour une virtualisation accélérée.
❑ Émulation par recompilation sur un modèle « just-in-time »
❑ Gourmand en mémoire
❑ Sans accéleration lent et charge l’hôte.

Ex : Xen et KVM reposent sur Qemu


17
Confidential C
VirtualBox

❑ Machine virtuelle, émule un PC complet


❑ Support des instructions de virtualisation
❑ Solution de virtualisation efficace
❑ Repose sur Qemu (au boot au moins)
❑ Gourmand en mémoire
❑ Simple à utiliser

18
Confidential C
❑ Solution libre mais encore utilisée
❑ Vocabulaire :
– OS privilégié : Dom0
– OS invités : DomU
• DomU standard (paravirt.)
• DomU HVM (hardware assisted)

❑ Deux modes d’usage :


– Paravirtualisation :
• Noyau speçifique dans le Dom
• Très bonnes performances

– Virtualisation matérielle
• Virtualisation transparente pour le
système invité.
• Besoin d’un support dans le processeur
(AMD-V ou Intel VT) 19
Confidential C
❑ Projet plus récent que Xen
mais très populaire.
❑ Basé en partie sur QEMU (pour
le supports des périphériques)
❑ Entièrement intégré au noyau
Linux -> Facile à utiliser.
❑ Support de la virtualisation
dans les processeurs
indispensable.
❑ Paravirtualisation (virtio) pour
les performances.

20
Confidential C
OpenVZ
❑ PVS (Private Virtual Server)
❑ Virtualisation de niveau OS basée sur Linux
❑ Un Linux avec plusieurs tables de processus
❑ Chacune son contexte

21
Confidential C
Proxmox VE
❑ Basé sur Linux KVM
❑ Offre une solution de containers LXC
❑ Support payant
❑ Installateur sur Debian

→ Demo Proxmox

22
Confidential C
Virtualisation : statistiques 2020

Business Adoption of Virtualization Technology Business Adoption of Storage Virtualization Solutions

23
Confidential C
Virtualisation : statistiques 2020

Business Adoption of On-premises Desktop Business Adoption of Network Virtualization Solution


Virtualization Solutions

24
Confidential C
Virtualisation : statistiques 2020

Business Adoption of Server Virtualization Solutions by Company


Size
25
Confidential C
Conclusions
❑ Afin d'avoir une idée théorique des performances des applications
au sommet, il faut comparer verticalement l'empilement de couches.
❑ Ne pas virtualiser un serveur déjà beaucoup sollicité (la
virtualisation rajouterai de l’overhead inutile).
❑ Réduit les coûts, facilite l’administration mais
❑ Il faut être capable de gérer un grand nombre de serveurs.

❑ Deux grandes familles de virtualisation :


– Containers/Isolateurs
– Hyperviseurs
Concept indispensable et étroitement lié à la réussite du Cloud !
26
Confidential C
References
❑ “Introduction à la virtualisation”. Jean-Patrick Gelas, UE Cloud Computing – M2, Université
Claude Bernard – Lyon
❑ Livre blanc sur la Virtualisation, Groupe Linagora
❑ https://storify.com/selossej/la-virtualisation
❑ https://fr.wikipedia.org/wiki/Virtualisation
❑ https://www.spiceworks.com/marketing/reports/state-of-virtualization/

Confidential27
C
THANK YOU!
Any questions?
You can find me at:
▪ https://khaledbelghith.info

28
Confidential C

Vous aimerez peut-être aussi