Chap 1 - C - V - Virtualisation
Chap 1 - C - V - Virtualisation
Chap 1 - C - V - Virtualisation
Chap 1 - Virtualisation
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*
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).
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
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.
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)
– 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
23
Confidential C
Virtualisation : statistiques 2020
24
Confidential C
Virtualisation : statistiques 2020
Confidential27
C
THANK YOU!
Any questions?
You can find me at:
▪ https://khaledbelghith.info
28
Confidential C