Virtualisation & Cloud Computing

Page 1 sur 31Lecteur de document UniversityLib

Virtualisation & Cloud Computing

Information Technology, Virtualization, Cloud Computing · course

Voir tous les documents en systèmes d'exploitation et cloud

Virtualisation & Cloud Computing Mehrez Ben Soltan S/D de la Technologie de linformation et de la communication Plan

2

D finitions

Virtualisation compl te

Para-Virtualisation

Virtualisation au niveau de lOS

Int r ts de la virtualisation

Virtualisation des serveurs

3

La virtualisation des serveurs permet dex cuter

plusieurs SE sur un m me serveur physique sous la forme

de VM, dont chacune peut acc der aux ressources de

calcul du serveur sous-jacent.

Consiste aussi regrouper un cluster de serveurs en une

seule et m me ressource consolid e, de fa on

optimiser lefficacit globale et r duire les co ts.

Techniques de virtualisation

9

On distingue principalement trois techniques de virtualisation:

Para-virtualisation

Virtualisation compl te

Cloisonnement.

Para-Virtualisation

10

Dans une solution de para-virtualisation, lOS invit est modifi

pour tre ex cut par la VM.

Les modifications effectu es visent rendre lOS invit au

courant du fait qu'il s'ex cute dans une VM.

LOS invit collabore plus troitement avec lOS h te, en utilisant

une interface sp cifique, au lieu d'acc der au mat riel virtuel via

les couches d'abstraction (cas de la virtualisation compl te)

Un paravirtualiseur est un noyau h te all g et optimis pour ne

faire tourner que des noyaux dOS invit s, adapt s et optimis s.

Les applications en espace utilisateur des OS invit s tournent

ainsi sur une pile de deux noyaux optimis s.

Para-Virtualisation

11

En pratique, un syst me para-virtualis poss de

quelques pilotes de p riph riques et sous-syst mes

modifi s, qui lui permettent de communiquer directement

avec le syst me h te, sans avoir passer par une couche

d'abstraction pour parler au mat riel virtuel.

Para-Virtualisation

12

Avantages :

un gain de performances, du fait du contournement des

couches d'abstraction

le syst me invit collabore activement avec la VM, il ne se

comporte plus comme un OS part enti re s'ex cutant

directement sur du mat riel. Il adapte son comportement pour

que les acc s au mat riel soient des appels directs via des

pilotes.

Limites :

Comme lOS invit doit tre modifi pour tre

paravirtualis , l'usage de la para-virtualisation est donc

g n ralement limit aux syst mes libres.

Para-Virtualisation

13

Quelques hyperviseurs :

Citrix XENServer

VMWare vSphere

Hyper-V (Microsoft)

KVM

Virtualisation compl te (full

virtualization)

14

Permet de faire fonctionner nimporte quel OS en tant

quinvit dans une VM: Windows, GNU/Linux, Mac OS X,

etc.

La virtualisation compl te consiste muler l'int gralit

d'une machine physique pour le syst me invit .

Le syst me invit croit s'ex cuter sur une v ritable

machine physique.

Publicité

La caract ristique principale de la virtualisation compl te :

les syst mes invit s n'ont pas tre modifi s pour tre

utilis s dans une VM utilisant une technologie de

virtualisation.

Virtualisation compl te

15

Avantage: Pour lutilisateur final, ce type de

virtualisation est la plus simple mettre en place et est

la plus pratique.

Limite: L'empilement de couches d'abstraction et

l'impossibilit pour la VM d'acc der directement au

mat riel, affectent les performances du syst me invit

qui seront assez loign es de celles d'un syst me

natif .

Virtualisation compl te

16

Quelques hyperviseurs

VMWare Workstation

Parallels Desktop for Windows et

Linux

KVM: Int gr au noyau GNU/Linux

partir de la version 2.6.20

Virtualisation compl te

17

Usages principaux:

Attribution dynamique des ressources : certains produits

(VmWare vSphere) permettent d'attribuer des ressources en

fonction de la consommation.

Gestion de la haute disponibilit : certains produits

(VmWare vSphere) permettent de basculer des VM d'un

serveur un autre en cas de panne

Virtualisation assist e par le mat riel

18

Consiste introduire des fonctionnalit s de la

virtualisation directement dans les processeurs des

machines physiques ce qui rend ainsi possibles des

solutions de la virtualisation compl te des syst mes

invit s non modifi s avec de tr s bonnes performances.

Exemple: Les processeurs Intel-VT (Intel Virtualization

Technology) et AMD-V (Advanced Micro Devices

Virtualization)

https://www.youtube.com/watch?v=gqZrarZiHp8

Isolateurs ou cloisonnement

19

On lappelle aussi virtualisation au niveau de

lOS.

Un isolateur est un logiciel permettant disoler

lex cution des applications dans ce qui sont

appel s des contextes, ou bien zones

dex cution (S paration des processus

sex cutant sur un m me OS).

La plupart des OS bas s sur UNIX proposent

un moyen d'isoler les processus.

Le plus r pandu (et le plus ancien) est la

commande chroot, qui permet de cr er un

environnement minimal contenant uniquement ce

qui est strictement n cessaire pour ex cuter le

programme isol .

chroot

20

Qu'est-ce qu'un chroot?

Signifie change root

La commande chroot permet d'isoler la racine du syst me de

fichier (le / de l'arborescence) pour une commande sp cifique.

La racine est la r f rence pour tous les chemins absolus utilis s

par un processus lui permettant d'acc der aux fichiers (librairies,

configurations, etc.) qui lui sont n cessaires.

En r alit , cette racine est un param tre du processus qu'il est

possible de modifier gr ce l'utilitaire chroot. Cela permet de

faire croire ce processus que le dossier que nous lui avons fix

comme racine, est l'origine de tous ses chemins absolus.

chroot

21

Publicité

Exemple

Quand vous travaillez sur Linux et/ou Unix, on

parle de racine pour identifier la base du syst me

de fichier repr sent e par le nom de r pertoire /

De ce r pertoire racine d coule:

chroot srv test

/

chroot /srv/test

/

C'est dire l'arborescence du syst me.

Le principe de chroot est de d finir une

sous-arborescence du syst me de fichier

visible comme la racine du syst me de

fichier.

Par exemple, si nous cr ons les r pertoires

ci-dessous :

En appelant chroot : chroot /srv/test

le shell en cours ne verra que le contenu

de /srv/test mais au lieu de voir le nom de

r pertoire /srv/test il verra la racine /

chroot

22

Des cas dusage :

Mettre en prison les processus (jail): Elle permet par

exemple de lancer des processus critiques dans un dossier

isol du reste du syst me.

Elle permet aussi de cr er des environnements qui

fonctionnent sur des r gles diff rentes du reste du syst me: Il

est ainsi possible de faire tourner une debian au sein d'une

mandriva, ou encore un linux en 32bits au sein d'un linux 64

bits. La seule limitation est que le kernel doit tre

compatible entre les deux distributions.

Isolateurs ou cloisonnement

23

Autres solutions disolation :

Linux-VServer : isolation des processus en user-space,

BSD Jail : isolation en user-space,

OpenVZ : libre, partitionnement au niveau noyau sous Linux

et Windows 2003. C'est la version open-source du logiciel

Virtuozzo.

LXC (LinuX Containers) : libre, usage des Cgroups du noyau

Linux.

LXC

24

Le chrooting a t fortement am lior e pour donner naissance

au principe de conteneurs avec par exemple LXC.

Et c'est LXC qui son tour a servi de base Docker.

LXC repose sur la notion de groupes de contr le Linux, les

cgroups.

Chaque groupe de contr le offre aux applications une isolation totale

des ressources (notamment processeur, m moire et acc s E/S) sans

recourir des machines virtuelles part enti re.

R f rence originale: Containers: Challenges with the memory

resource controller and its performance

https://pdfs.semanticscholar.org/4708/1fd3577460128925282ba5b

8847190d7c8d9.pdf

LXC

25

Les LXC impl mentent :

La gestion de ressources via les groupes de contr le de

processus (impl ment s via le syst me de

fichiers /cgroup) ;

L'isolation de ressources via les nouveaux drapeaux (flags)

de l'appel syst me clone(2) (capable de cr er plusieurs

types de nouveaux espaces de noms pour des choses telles

que les PID et le routage r seau) ;

Plusieurs m canismes d'isolation additionnels (tels que le

drapeau -o newinstance du syst me de fichiers devpts).

Cgroups

Publicité

27

Cgroups fournit :

Limitation des ressources : des groupes peuvent tre mis en place afin

de ne pas d passer une limite de m moire cela inclut aussi le cache

du syst me de fichier.

Priorisation : certains groupes peuvent obtenir une plus grande part

de ressources processeur ou de bande passante d'entr e-sortie.

Comptabilit : permet de mesurer la quantit de ressources

consomm es par certains syst mes en vue de leur facturation par

exemple.

Isolation : s paration par espace de nommage pour les groupes, afin

qu'ils ne puissent pas voir les processus des autres, leurs connexions

r seaux ou leurs fichiers.

Contr le : figer les groupes ou cr er un point de sauvegarde et

red marrer.

Virtualisation Vs Isolation

28

La virtualisation permet de cr er des

environnements mat riels virtuels complets mais lourd

en terme de ressources.

Lisolation permet de cr er des environnements logiciels

isol s utilisant le mat riel r el et le noyau courant.

Virtualisation Vs Isolation

29

Lisolation est:

plus performante ( vite la d gradation de performance caus

par l'ajout des couches de virtualisation)

Economique en m moire (partager en particulier le code du

noyau).

Ces environnements sont donc bien adapt s au d ploiement

de nombreux serveurs virtuels de test ou d veloppement

bas s sur un m me OS.

Par contre, avec lisolation, il nest pas possible dutiliser des

noyaux diff rents en m me temps.

Lisolation a donn naissance la conteneurisation.

De la Virtualisation la Conteneurisation

30

Avec la virtualisation:

Probl me de performance: Une VM imite int gralement un serveur (un OS

complet, avec ses pilotes, fichiers binaires ou biblioth ques, etc.). Chaque

VM s'ex cute sur un hyperviseur (qui s'ex cute parfois son tour sur un os

h te) qui lui-m me fait fonctionner le mat riel du serveur physique.

Cela a un co t, notamment au niveau de l'hyperviseur et OS invit s, qui

requi rent chacun beaucoup de ressources mat rielles et de co teuses

licences.

Le nombre de VM qu'un serveur peut h berger est limit par la taille

des VM.

La r surgence de la conteneurisation vise pallier ces lacunes de la

virtualisation:

La conteneurisation vise virtualiser les applications sans trop alourdir le

syst me.

De la Virtualisation la Conteneurisation

32

A la base, le concept de conteneurisation permet aux applications de

partager un OS h te unique, avec ses fichiers binaires, biblioth ques ou

pilotes.

Cette approche r duit le gaspillage des ressources car chaque conteneur

ne renferme que l'application et les fichiers binaires ou biblioth ques

associ s.

Comme le conteneur de chaque application est lib r de la charge d'un

OS, il est nettement plus petit, plus facile migrer ou t l charger, plus

rapide sauvegarder ou restaurer.

Il en r sulte dimportantes conomies m moires et des performances

accrues compar es une virtualisation mat rielle, donc une meilleure

exploitation des machines physiques.

Le r le de l'hyperviseur est alors assur par un moteur de

conteneurisation, tel que Docker (un LXC augment ).

Machines virtuelles VS Conteneur

33

3. Int r ts de la

viratualisation

37

Au niveau des clusters:

Publicité

Haute disponibilit

Assurer la haute disponibilit (High Availability HA)

VM

VM

VM

VM

VM

VM

VM V

M

Serveurs

Switchs Virtuels

Stockage

Cluster

Au niveau des clusters:

Load Balacing

R partition des charges selon la charge des serveurs

V

V

M M

V

M

V

M

V

V

V

M M M

V

M

Cluster

Au niveau des clusters:

Scalabilit facile

Scalabilit facilit : ajout de nouvelles ressources au pool de ressources

VM

VM

VM

VM

VM

Virtual Resource Pools

Cluster

Au niveau des clusters:

Memory Overcommitment

Memory Sharing

Memory Ballooning

Memory Swapping

70%

70%

20%

VM 3

2 GB

VM 2

2 GB

VM 1

2 GB

VM 3

2 GB

VM 3

2 GB

VM 3

2 GB

VM 3

2 GB

VM 2

2 GB

VM 1

2 GB

Hypervisor

4 GB