Chapitre 01
Chapitre 01
Chapitre 01
Email: chakir.elkasri@usmba.ac.ma
1 Introduction
2 Concepts et définitions
4 Cloud Computing
2
Introduction: Objectifs
3
Introduction générale
lorsqu’on parle d’informatique, on cite généralement deux
concepts:
Concept du matériel
Fournit les équipements physiques
Concept du logiciel
Gérer le matériel
4
Introduction générale
La grande demande sur les ressources matérielles et
logiciels pose des défis devant l’architecture traditionnelle
Multitude de services (DNS, DHCP)
Multitude de serveurs ( FTP, centre de calcule
Déploiement d’un serveur physique pour chaque service
Le taux d'utilisation des ressources moyen est de l'ordre
de 10%
6
Introduction générale
7
Introduction générale
8
Introduction générale
Intérêts :
Usage optimal des ressources
Réduction des couts et de la complexité des
systèmes
Fournir l’isolement des ressources informatiques
pour assurer la fiabilité
Eliminer les redondances du matériel
Economiser le matériel --->économiser l’énergie
allocation dynamique de la puissance de calcul en
fonction des besoins de chaque application a un
instant donne
9
Introduction générale
Terminologie :
Le système hôte (host) est l’OS principale de
l’ordinateur
Le système invité (guest) est l’OS installé à
l’intérieur d’une machine virtuelle
Machine virtuelle (VM) est ordinateur virtuel qui
utilise un système invité
Ordinateur virtuel est aussi appelé serveur privé
virtuel (Virtual Private Server VPS) ou
environnement virtuel ( Virtual Environement VE)
10
Introduction générale
11
Introduction générale
La virtualisation est réellement présente depuis
trois décennies mais monopolisé par les
grandes sociétés.
12
Organisation du cours
1 Introduction
2 Concepts et définitions
4 Cloud Computing
13
Concepts et définitions
1. Histoire de la virtualisation
1. La machine Atlas
2. Le projet M44/44X
3. CP/CMS
4. Autres projets de partage de temps
2. Définition de la virtualisation
3. Pourquoi l’utiliser?
4. Technologies de la virtualisation
5. Types de la virtualisation
14
Histoire de la virtualisation
Pour répondre à la question la plus importante :
C’est quoi la virtualisation ?
Il est utile d’étudier les fondements et les
naissances des techniques utilisées derrières
Dans cette partie de ce cours nous traiterons les
étapes les plus marquants de l’histoire de la
virtualisation
15
Histoire de la virtualisation
Ordinateur Atlas
17
Histoire de la virtualisation
Ordinateur Atlas
Il s’agit de la première étape pour la création
d’une couche d’abstraction entre le matérielle
et les logiciels.
18
Histoire de la virtualisation
Projet M44/44X
IBM a répliqué par le projet M44/44x qui a
permis d’aboutir à une nouvelle architecture des
SE intégrant une couche d’abstraction.
La machine principale du projet était un IBM
7044
19
Histoire de la virtualisation
Projet M44/44X
20
Histoire de la virtualisation
CP/CMS
Dans la même philosophie IBM introduit un
nouveau concept dans ces machines 7094,
intitulé System Time charging (CTSS).
22
Histoire de la virtualisation
Autres projets de partage de temps
Les histoires d’IBM ne sont pas les seuls.
Plusieurs projets de recherche se sont concentrés
sur le principe de partage de temps :
LTSS (Livermore Time-Sharing System) Project :
Développé par le laboratoire lawrence à la fin des
années 1960 qui a donné lieu au SE intitulé CDC7600
il a emporté la machine la plus rapide ( plus rapide
que atlas).
23
Histoire de la virtualisation
Autres projets de partage de temps
Projet NLTD
Développé pour améliorer les performances en termes
d’accès réseaux , en intégrant de nombreux protocoles
TCP/IP.
Le projet a été abandonné en 1980.
24
Histoire de la virtualisation
Explosion de la virtualisation en 1990
26
Concepts et définissions
1. Histoire de la virtualisation
2. Définition de la virtualisation
3. Pourquoi l’utiliser?
4. Technologies de la virtualisation
5. Types de la virtualisation
27
C’est quoi la virtualisation?
28
C’est quoi la virtualisation?
La virtualisation moderne permet à plusieurs
instances des systèmes à fonctionner
simultanément sur le même ordinateur.
Chaque instance partage les ressources
disponibles sur le hardware commune.
29
Concepts et définissions
1. Histoire de la virtualisation
2. Définition de la virtualisation
3. Pourquoi l’utiliser?
1. Décentralisation des ressources
2. Avantages fonctionnels
3. Les hyperviseurs
4. Technologies de la virtualisation
5. Types de la virtualisation
30
Pourquoi virtualiser ?
32
Pourquoi virtualiser ?
évolution des couts de l’évolution du IT dans 3
ans.
33
Pourquoi virtualiser ?
34
Avantages fonctionnels
35
Avantages fonctionnels
• Augmenter l'utilisation du serveur
• Simplifier la migration des logiciels existants
Consolidation • Rationaliser les environnements de test et de
développement
36
Architecture virtuelle
37
Architecture virtuelle
38
Architecture virtuelle
39
principe de la virtualisation
Serveurs virtualisés
Hyperviseur
serveur classique
Serveur hôte
principe de la virtualisation
41
Hyperviseur
Les principaux aspects de la virtualisation de poste de travail :
Création de machines virtuelles (VM) : des logiciels appelés
hyperviseurs sont utilisés pour créer et gérer plusieurs machines virtuelles sur un
seul matériel physique.
42
Hyperviseur
Qu’est ce qu’un hyperviseur?
Un hyperviseur est un logiciel qui s’installe directement sur la
couche matérielle ou bien sur un système d’exploitation déjà en
place.
Un hyperviseur opère entre la couche matérielle et les différents
conteneurs qui lui sont ajoutés. Chaque conteneur, également
appelé machine virtuelle, contient une instance d’un système
d’exploitation et une ou plusieurs applications.
La couche de virtualisation simule des périphériques virtuels pour
chaque machine virtuelle et s’occupe de faire le lien entre les
périphériques virtuels et les périphériques physiques.
NB: les machines virtuelles fonctionneront sans avoir besoin du pilote du
constructeur. Et un changement de matériel n’aura aucune incidence sur les
machines virtuelles.
43
Hyperviseur
Alors, un hyperviseur:
Assure le contrôle du processeur et des ressources de la
machine hôte.
Allouer a chaque VM les ressources qu’elle a besoin.
44
Composants d’un hyperviseur
45
Composants d’un hyperviseur
46
Types d’ hyperviseur
Réseaux chakir.elkasri@usmba.ac.ma 47
hyperviseur de type 1
Réseaux chakir.elkasri@usmba.ac.ma 48
hyperviseur de type 2
Réseaux chakir.elkasri@usmba.ac.ma 49
Réseaux chakir.elkasri@usmba.ac.ma 50
Concepts et définissions
1. Histoire de la virtualisation
2. Définition de la virtualisation
3. Pourquoi l’utiliser?
4. Technologies de la virtualisation
5. Types de la virtualisation
51
Technologies de la virtualisation
VMware Server
produit gratuit de VMware
utilisée dans les petits environnements,
pour du test ou pour des particuliers.
limitée dans les grands environnements
limites de mémoire pour les machines virtuelles
basses performances disque.
Prend en charge les machines 64 bits
En tant qu’hôtes
et en tant qu’invités.
Réseaux chakir.elkasri@usmba.ac.ma 52
Technologies de la virtualisation
Réseaux chakir.elkasri@usmba.ac.ma 53
Technologies de la virtualisation
Citrix Xen
Réseaux chakir.elkasri@usmba.ac.ma 54
Technologies de la virtualisation
Bochs:
est un émulateur libre et gratuit d’architecture Intel x86 (32 bits)
Fonctionne sous UNIX et Linux, Windows et Mac OS X,
prend en charge que les systèmes x86.
est un logiciel très sophistiqué et prend en charge un vaste
éventail de matériel
émule toutes les architectures de processeurs x86 et x86_84.
prend également en charge les processeurs multiples
Réseaux chakir.elkasri@usmba.ac.ma 56
Technologies de la virtualisation
QEMU
Programme libre et gratuit d’émulation
Réseaux chakir.elkasri@usmba.ac.ma 57
Technologies de la virtualisation
Réseaux chakir.elkasri@usmba.ac.ma 58
Technologies de la virtualisation
KVM
Linux KVM (Kernel Virtual Machine, machine virtuelle de noyau) est un QEMU
modifié.
À la différence de QEMU, KVM utilise les extensions de virtualisation du
processeur (Intel-VT et AMD-V).
KVM prend en charge de nombreux systèmes d’exploitation invités sous x86 et
x86_64, y compris Windows, Linux et FreeBSD.
Il utilise le noyau Linux comme hyperviseur et fonctionne comme module que l’on
peut charger dans le noyau.
Entièrement intégré au noyau Linux
Facile à utiliser.
Réseaux chakir.elkasri@usmba.ac.ma 59
Technologies de la virtualisation
À noyau partagé
La virtualisation à noyau partagé, aussi appelée virtualisation de système
d’exploitation ou virtualisation au niveau système
sous UNIX et Linux,
partage le noyau avec d’autres processus du système.
utilise une fonctionnalité nommée chroot(modifier la racine).
Chroot modifie le système de fichiers racine d’un processus pour l’isoler de
manière à fournir une certaine sécurité.
On appelle "prison" chroot ou de la virtualisation par conteneurs.
L’ensemble de programmes ou système dans le cas de virtualisation à noyau
partagé fonctionnant dans un environnement chroot protégé
chroot faire croire au système emprisonné qu’il fonctionne sur une machine réelle
avec son propre système de fichiers.
Réseaux chakir.elkasri@usmba.ac.ma 60
Technologies de la virtualisation
À noyau partagé
Le mécanisme de chroot a été amélioré pour mimer un système de
fichiers entier, de sorte qu’un système entier peut fonctionner dans un
chroot, ce qui constitue une machine virtuelle.
Les avantages et inconvénients de cette approche par noyau partagé
sont indiqués dans cette liste :
■■ Avantages
− sécurité et isolation accrues ;
− performances natives ;
− densité plus élevée de systèmes virtualisés.
■■ Inconvénients :
− compatibilité du noyau hôte et invité.
Réseaux chakir.elkasri@usmba.ac.ma 61
Technologies de la virtualisation
Réseaux chakir.elkasri@usmba.ac.ma 62
Technologies de la virtualisation
OpenVZ
Réseaux chakir.elkasri@usmba.ac.ma 63
Concepts et définissions
1. Histoire de la virtualisation
2. Définition de la virtualisation
3. Technologies de la virtualisation
4. Types de la virtualisation
64
Emulation
Réseaux chakir.elkasri@usmba.ac.ma 65
Différents types de virtualisation
Réseaux chakir.elkasri@usmba.ac.ma 66
Différents types de virtualisation
Processus Isolation
V. complète
Virtualisation
Non
modifiés
V. assistée
par le
système matériels
Paaravirtual
modifiés
isation
Réseaux chakir.elkasri@usmba.ac.ma 67
Isolation
L’isolation (cloisonnement) est une technique permettant
d’emprisonner l’exécution des applications dans des contextes
Ne touche que les applications
limiter l’accès aux ressources des différents processus et applications
consommation en ressources est faible
Avoir de bonne performancee, du fait du peu d'overhead (chute de
performance conséquente de l'ajout des couches de virtualisation)
les environnements virtualisés ne sont pas complètement isolés, ils
partagent en particulier le code du noyau.
Avec l’isolation,
l’espace noyau n’est pas différencié,
unique, partagé entre les différents contextes
définit de multiples espaces utilisateurs cloisonnés
Réseaux chakir.elkasri@usmba.ac.ma 68
Virtualisation complète
La virtualisation est dite complète lorsque le système
d'exploitation invité n'a pas conscience d'être virtualisé
L'OS qui est virtualisé n'a aucun moyen de savoir qu'il partage
le matériel avec d'autres OS
l'ensemble des systèmes d'exploitation virtualisés
s'exécutant sur un unique ordinateur, peuvent fonctionner
de manière totalement indépendante les uns des autres et
être vu comme des ordinateurs à part entière sur un réseau.
Limitations :ce type de virtualisation ne permet de
virtualiser que des SEs prévus pour la même
architecture matérielle que le processeur physique de
l’ordinateur hôte
Réseaux chakir.elkasri@usmba.ac.ma 69
Virtualisation complète
Réseaux chakir.elkasri@usmba.ac.ma 70
Virtualisation complète
Réseaux chakir.elkasri@usmba.ac.ma 71
Para-virtualisation
La para-virtualisation est très proche du concept de la
virtualisation complète, dans le sens où c’est toujours un
système d’exploitation complet qui s’exécute sur le matériel
émulé par une machine virtuelle.
La para-virtualisation évite d'utiliser un système hôte complet
pour faire la virtualisation.
Le système invité doit avoir conscience qu’il tourne dans un
environnement virtuel ce qui implique d’employer un noyau
modifié.
Les performances sont bien meilleures en para-virtualisation
qu'en virtualisation complète
Réseaux chakir.elkasri@usmba.ac.ma 72
Para-virtualisation
Réseaux chakir.elkasri@usmba.ac.ma 73
Para-virtualisation
Réseaux chakir.elkasri@usmba.ac.ma 74
Virtualisation assistée par le matériel
La virtualisation assistée par le matériel fait partie de la toute
dernière technologie de virtualisation en la matière
Elle consiste à séparer les ressources matérielles au niveau de la
carte mère de la machine.
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
Technique répand dans les serveurs
hauts de gamme.
Simplifie la virtualisation logicielle
réduit la dégradation de performance
Réseaux chakir.elkasri@usmba.ac.ma 75
Comparaison d’architecture
Vocabulaire :
OS privilégié : Dom0
OS invités : DomU
• DomU standard (paravirt.)
• DomU HVM (hardware assisted)
Deux modes d’usage :
Paravirtualisation :
Noyau spécifique dans le DomU
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)
Réseaux chakir.elkasri@usmba.ac.ma 76
Comparaison d’architecture
Réseaux chakir.elkasri@usmba.ac.ma 77