guillaume urvoy-keller licence r&t...

105
Virtualisation Guillaume Urvoy-Keller Licence R&T UNS

Upload: nguyendang

Post on 12-May-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

Virtualisation

Guillaume Urvoy-KellerLicence R&T UNS

Page 2: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/162

Plan

➢Références

➢Partie I➢Qu'est-ce-que la virtualisation?

➢Pourquoi virtualiser?

➢Ce que l'on peut faire une fois un parc de serveurs virtualisé

➢Les différentes solutions de virtualisation

➢Les concepts liés à la virtualisation : cloud computing et green IT

Page 3: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/163

Plan

➢Partie II : comment ça marche➢Retour sur l'architecture d'un ordinateur et les frontièresmatériel/OS/Application

➢Les critères de Popek et Golberg pour la virtualisation d'un ISA

➢Détail sur Vmware et Player

Page 4: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/164

Plan

➢Partie III : Switchs virtuels : OpenVswitch

➢Partie IV : Etude de cas passage à un parc virtualisé –INSA de Lyon

➢Partie V : Vmware Vsphere

➢Partie VI : Cloud

Page 5: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/165

Références

➢Vmware Vsphere 4 - Eric Maillé – ENI éditions

Page 6: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/166

Références

➢Virtualbox – A. Romero - PACKT

Page 7: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/167

Références

➢Les bases « théoriques » – Smith and Nair - Elsevier

Page 8: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/168

Partie I

Page 9: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/169

Qu'est-ce-que la virtualisation?

➢Ensemble de techniques qui permet de faire tournerplusieurs systèmes d'exploitation sur une machinephysiquement simultanément (≠ multi-boot)

➢Couche de virtualisation est appelée hyperviseur (=hypervisor, virtual machine monitor VMM)

➢Masque ressources physiques aux systèmes d'exploitations

Page 10: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1610

➢2 modes de fonctionnement d'un processeur(classiquement) : mode noyau et mode utilisateur

10

Dé-privilégier un OS

OS

apps

kernel mode

user mode

Page 11: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/161111

Dé-privilégier un OS

OS

apps

kernel mode

user mode

virtual machine monitor

OS

apps

Page 12: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1612

Le zoo

➢Xen Server de Citrix - 4% du marché (mais Amazon WebServices...)

➢Hyper-V de Microsoft - 20% du marché

➢Vsphere de VmWare - 60% du marché

➢Virtualbox d'Oracle

➢ KVM – Kernel Virtual Machine – Natif Linux - Openstack

➢La virtualisation se fait surtout dans les grandesentreprises actuellement → les PME sont un marché àconquérir

Page 13: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1613

Pourquoi virtualiser?

➢Dans les années 1990-2000, le coût desserveurs décroissent

➢En valeur absolue du fait de la concurrence

➢Par rapport au coût des mainframes encore trèsprésents

➢Les éditeurs (Microsoft, distribution Linux)recommandent une application/service parsystème d'exploitation →

➢Une machine pour le DNS

➢Une machine pour le mail

➢Une machine pour NFS, etc.

Page 14: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1614

Pourquoi virtualiser?

➢Au final:➢Une multiplicité de serveurs dans les datacenters (ou salles serveursdans les entreprises)

➢80% ont une utilisation moyenne inférieure à 10%

➢Des coûts d'exploitation/maintenance (personnel du serviceinformatique) qui croissent avec le nombre de serveurs

➢Des coûts en place : les salles serveurs ne sont pas indéfinimentextensibles

➢Des coûts en climatisation/électricité élevés → NE JAMAISNEGLIGER CES COÛTS

Page 15: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1615

Pourquoi virtualiser?

➢Les serveurs deviennent si puissants qu'une seuleapplication par serveur n'est plus justifiable

➢Processeurs 64 bits multi-coeurs

➢Un serveur en 2009 est estimé, en moyenne, 10 à 12 fois pluspuissant qu'un serveur en 2004

➢Remplacer les serveurs à raison de un pour un n'est pluspossible!!

Page 16: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1616

Avantages de la virtualisation

➢Plaçons-nous dans le cas où la virtualisation est effective

➢Vous avez acheté :➢Deux gros serveurs, 1 système de stockage partagé

➢Des licences d'un outil de virtualisation, par exemple VMWARE

➢Les formations pour votre personnel

Page 17: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1617

Avantages de la virtualisation➢Réduction des coûts

➢20 à 40% en général

➢Avantages additionnels :

➢Gain de place

➢De nouvelles fonctionnalités

Page 18: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1618

Avantages de la virtualisation

➢Migration des machines virtuelles d'un serveurphysique à l'autre

➢Utile si panne → notion de disponibilité

➢TRES utile pour maintenance des serveurs physiques

Page 19: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1619

Avantages de la virtualisation

➢Mise en service quasi-instantanée d'une nouvellemachine

➢En général, avec une interface graphique, vous:➢Spécifiez le nombre de CPU, la quantité de mémoire, de disque, lesaccès réseaux, le système d'exploitation

➢Indiquez où se trouve l'ISO de l'OS

➢Démarrez l'installation.... mais c'est long!!!

➢ Mieux : vous avez préparé des “templates” (machinesquasi-finalisées) et vous les instanciées au derniermoment

➢Ce que fait createvm

➢Ce que font VmwareVSphere, Amazon Web Service, Openstack, etc.

Page 20: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1620

Avantages de la virtualisation

➢Possibilité de faire des instantanés (snapshots) desmachines

➢Exemple : ➢vous voulez installer une nouvelle fonctionnalité sur une machine,faire une mise à jour

➢Vous n'êtes pas sûr du résultat.

➢Vous :

➢Faites un instantané

➢Effectuez le test

➢Si l'installation échoue, vous … revenez dans le temps!!!

Page 21: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1621

Exemple : Snapshot sous Virtualbox

Page 22: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1622

Avantages de la virtualisation

➢Isolation

➢Avec la virtualisation, on respecte toujours la règle « unservice/une appli » par machine

➢Pas de passage de virus inter-VM, pas d'effacement de fichier,etc.

➢Ajustement des ressources pour machines virtuelles trèssimple → ajustement mémoire, CPU en un clic

➢À chaud ou à froid suivant la solution

Page 23: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1623

Avantages de la virtualisation

➢Il y a souvent dans les entreprises de vieilles applicationstournant sur des OS spécifiques (ex: OS/2 d'IBM) → on peutespérer les virtualiser sans les modifier

➢Indépendance des machines virtuelles vis-à-vis du hardware→ la couche virtuel (hyperviseur) offre toujours le mêmematériel virtuel

Page 24: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1624

Les différentes types de virtualisation

➢Il existe plusieurs façons de catégoriser les offres➢Niveau 1 (natif ou bare-metal en anglais) versus niveau 2 (hébergéou host-based en anglais)

➢Virtuel versus paravirtuel

➢Lourde (OS virttualisé) ou légère (OS partagé)

➢ Lourde : VMWare, Virtualbox, etc

➢Légère : Docker --> voir TP

Page 25: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1625

Niveau 1 vs. Niveau 2

➢Niveau 1 / Bare-metal : ➢Offres dédiées à la production : salles de serveurs, datacenters.

➢L'hyperviseur est installé en premier sur la machine physique

➢On boot sur un CD comme sur un OS traditionnel pour installer l'hyperviseur

➢Exemples : Vmware ESX/ESXi serveurs, Hyper-V de microsoft

Source : wikipedia

Page 26: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1626

Niveau 1 vs. Niveau 2

➢Niveau 2/ Host-based➢L'hyperviseur s'installe au dessus d'une OS existant

➢Exemple : vos machines en salle 410 qui ont VMWare player etVirtualbox installés au dessus de Windows ou Linux

➢Offres utiles pour les utilisateurs finaux

➢Utiliser MacOS et Windows simultanément

➢Donner aux employés une machine virtuelle sous le contrôle du serviceinformatique pour accéder à des services clefs.

Page 27: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1627

Est-ce une windows avec MacOS oul'inverse??

Page 28: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1628

Autour de la virtualisation➢Côtés serveurs, les constructeurs (IBM, HP, DELL, NEC,CISCO,...) proposent des machines compatibles avec dessolutions de virtualisation

➢Exemple : le site de Dell listant les OS testés sur un serveur

Page 29: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1629

Autour de la virtualisation

➢Le stockage: ➢la virtualisation offre la consolidation des machines physiques

➢Elle va de pair souvent avec la consolidation du stockage

Utilisation de SAN : storageArea networks

Serveur VMWARE 1

Serveur VMWARE 2

Baies de disque accessibles par réseau dédié TRES haute vitesseRéseau LAN

 classique pour les clients

Page 30: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1630

Autour de la virtualisation : Les fabricants de processeurs

➢Intel et AMD proposent des fonctionnalités spécifiquespour le support de la virtualisation

➢Intel-VT, AMD-V

Page 31: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1631

Autour de la virtualisation : Les éditeurs de logiciels

➢Pour la sauvegarde :➢Data Recovery de VMWare

➢Veem Backup de Veem

➢Conversion machines physiques en machinesvirtuelles :

➢VMWare Converter

➢HP Server Migration Pack

➢Supervision de pools de serveurs virtualisés :➢Vfoglight de Vizioncore, etc.

Page 32: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1632

Les concepts liés à la virtualisation

➢Cloud computing➢Fournir des ressources informatiques à une entreprise quine paye que ce qu'elle consomme

➢Les entreprises ne sont plus propriétaires de leur matérielinformatique mais n'en supporte pas le coût!!

➢Une entreprise spécialisée gère un centre de calcul(datacenter) et offre une puissance de calcul et destockage à la demande – Ex: Amazon EC2

➢La virtualisation permet d'envisager ce type de service

➢ Location VM : IaaS : Infrastructure as a Service➢Si vous ne louez qu'une application (ex : Googledrive/opendoc) SaaS : Software as a Service

Page 33: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1633

Partie II : Virtualisation lourde et légère

Page 34: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/163434

VM Système et VM Processus

Page 35: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1635

VM Système

➢Ex: Vmware, Xen

➢Package complet : OS + applications

➢OS virtualisé = OS hébergé

➢OS hôte = OS de la machine physique

➢OS hébergé est une simple application du point de vuede l'hôte (mode utilisateur et non noyau)

Page 36: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1636

VM Processus

➢La majorité des système d'exploitation peuvent être vuscomme des VM processus➢En effet, ils supportent plusieurs processus simultanés,chacun ayant l'illusion que les ressources machines lui sontdédiées

→ L'OS permet un partage temporel des ressources et fournitune MV processus répliquée pour chaque application

Page 37: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1637

VM processus obtenue avec langage de haut-niveau

➢Un compilateur génère un code intermédiaire similaire à uncode machine, appelé ISA virtuel ➢Une VM va traduire ce code ISA virtuel en code machinepour un OS et un ISA spécifique

➢Ex : Java

Page 38: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1638

VM processusVirtualisation légère : lescontainers Linux

Page 39: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1639

Container versus hyperviseur

➢Partage du noyau entre toutes les VMs (ou containers)

➢Sur un serveur typique:➢10-100 machines virtuelles

➢100-1000 containers

➢Un containter est un groupe de processus dans unemachine Linux, isolés des autres processus qui tournentsur la machine

➢Utilisation des namespaces (du noyau Linux) pour assigner à ungroupe de processus : isolation, leur propre pile réseau (interfaces,sockets, routage), volumes

➢Utilisation du cgroups (du noyau Linux) pour assigner desresources à ces processus par exemple de la CPU, de la mémoire

➢ Similaire à ce que vous faites sous Virtualbox

Page 40: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1640

Container versus Hyperviseur

➢De l'intérieur, ressemble à une VM

➢De l'extérieur, ressemble à des processus normaux

➢Un container peut être une VM complète ou un groupede processus par exemple un serveur Apache ou MySQL

➢Moteurs de gestion de containers:

➢LXC (LinuX Containers – August 2008)

➢Docker (started in March 2013)

➢Openvz (started in 2005)

Page 41: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1641

Management des VMs etcontainers

Page 42: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1642

Gestion de VMs

➢ Vmware Vsphere, Citrix Xen permettent de gérerquelques serveurs physiques

➢Vagrant: Gestion de VMs indépendamment deshyperviseurs

➢Notion d'images (boxes de Vagrant)

➢Configuration automatique de VM: support de Puppet, Chef, Ansible

➢Un fichier qui contient toute la configuration

Page 43: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1643

Fichier de configuration Vagrant

Page 44: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1644

Gestion de VMs

➢Plateforme de gestion de clouds

➢Openstack

➢Chaque fonction (managementdef VM, réseaux, volumes, identités) est uncomposant (au final un service Linux)

➢Nova: compute nodes (hyperviseurs)➢Cinder : volumes➢Neutron : réseaux

➢ Les composants interagissent via une API REST

➢ Les nœuds Compute (serveurs physiques) peuvent faire tourner deshyperviseurs différents : KVM, Xen, Citrix, etc

Page 45: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1645

Gestion de containers

➢Orchestration de containers➢Serveur unique: Docker, LXC

➢Several multiplesl: Docker Swarm

➢ Orchestration avancés : Kubernetes, Swarm, Mesos

Page 46: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1646

Rappel sur l'architecture des ordinateurs et lesbases des OS

➢Rappels nécessaires pour comprendre les problèmesque doivent gérer les hyperviseurs.

➢Composants

➢Couche ISA

➢Système d'exploitation (OS – Operating System)

Page 47: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/164747

Page 48: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1648

Va chercher les instructions en mémoire et lesexécute

Chaque instruction passe par une série d'étapesdurant son exécution : ◦ Lecture depuis la mémoire◦ Décodage◦ Chargement instruction et opérande dans registres◦ Exécution ◦ Écriture résultat dans la mémoire

48

Processeur

Page 49: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1649

Processeur

➢Série d'étapes → instructions sont exécutées dans unpipeline

➢ Pipeline permet de continuer à utiliser le processeurmême si une instruction est en attente d'une lecturemémoire par exemple

➢Il peut perdurer des blocages. ➢Ex: une instruction attend le résultat d'une instruction en amont dansle pipeline

➢C'est le boulot du compilateur de présenter lesinstructions dans le meilleur ordre possible

Page 50: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/165050

ISA

➢Architecture d'un processeur définit :➢ Un ensemble de ressources : mémoires, registres, ...➢Un ensemble d'instruction qui travaillent sur les registres et lamémoire

➢Définition des ressources de stockage + instruction →Instruction Set Architectures (ISA)➢On distingue :

➢Une partie utilisateur pour les programmes → calculs➢Une partie système pour l'OS → gestion ressources

Page 51: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/165151

Registres

➢Registres génériques (aussi appelés de travail)

➢Peuvent héberger différents types de valeur

➢Registres typés : pour des opérandes spéciales,

➢ Propres à chaque ISA

➢par ex: pointeur vers segment mémoire dans l'ISA IA-32 d'Intel

➢Registres spécifiques :

➢Compteur de programme : indice d'instruction courante

➢Condition

Page 52: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/165252

Instructions partie utilisateur ISA

➢Quatre ensembles principaux :➢Chargement/déchargement mémoire ↔ registres➢Arithmétique sur les entiers, logique et décalage➢Arithmétique flottante

➢Utilise les registres flottants➢Valeurs interprétées différemment des registrespour entiers

➢Branchements et sauts

Page 53: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/165353

ISA Système

➢Processeurs offrent différents mode d'exécution(privilèges) :

➢En général 4, numéroté de 0 à 3

➢Windows et Unix utilisent en général les niveaux 0 et 3

➢Niveau 0 : mode système, donné à l'OS qui lui permet de répartiréquitablement les ressources entre programmes

➢Niveau 3 : programmes utilisateurs

➢Le mode d'exécution est stocké dans un registrespécifique

Page 54: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/165454

Registres Systèmes

➢Registre d'horloge➢Registre traps et interruptions➢Registre de masquage des traps et interruptions➢Pointeur de table des pages

➢Correspondance pages logiques/physiquesgardée dans une structure mémoire➢Ce registre stocke son adresse

Page 55: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1655

Traps et interruptions

➢Traps et Interruptions mènent à un transfert du contrôle duprocesseur à l'OS➢Interruption : une requête d'un périphérique auprès de l'OS➢Trap (=déroutement):

➢Une erreur durant l'exécution d'une instruction (faute depage, division par 0, ..)

ou➢Une demande explicite d'un programme (ex: accèsdisque)

Page 56: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1656

ISA Système : gestion du processeur

➢L' OS doit être capable de donner le contrôle duprocesseur à un processus utilisateur

➢Saut à une instruction d'un programme utilisateur➢Changement du registre « mode d'exécution »

➢… et il doit être capable de le récupérer.➢Se fait au travers d'un timer qui va créer uneinterruption

Page 57: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1657

ISA Système : gestion des E/S➢Soit sous forme d'instruction spécifiques

➢Soit sous forme d'adresses mémoire spécifiquestraduites par le contrôleur mémoire comme desinstructions à effectuer

➢Grande variété de périphériques → en général l'ISA offredes instructions de base et le détail est géré par l'OS

➢Souvenez-vous : l'OS est le seul à pouvoir utiliser ces instructions ouces adresses mémoires!

Page 58: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1658

Système d'exploitation - Rappel

Page 59: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1659

Tâches de l'OS

➢Gère les ressources pour les programmes des utilisateurs(processus)

➢Multiplexage temporel du processeur entre les différentsprocessus➢Gestion de la mémoire réelle via la table des pages et laTLB

➢Quand il y a une erreur de pagination, l'OS prend la main➢Gestion des entrées/sorties: ➢Processus invoquent l'OS au travers d'appels système (trap)➢OS utilisent une interface pour les périphériques (drivers – pilotes)

Page 60: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/166060

Page 61: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1661

Interface avec l'OS

➢ISA mode utilisateur accessible directement aux programmes➢ABI (Application Binary Interface) est l'interface avec l'OS➢API: librairies de haut niveau (par rapport à ABI)➢Appels systèmes:

➢Gestion des processus, ex : fork()➢Gestion mémoire, ex : malloc()➢Entrées/sorties, ex : . read()

➢Abstraction des traps et interruptions au niveau ABI = signaux

Page 62: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1662

ISA, ABI, API

Page 63: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1663

VM Systèmes : hyperviseursniveau 1 et 2

63

Page 64: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1664

Gestion de l'état des VMs

➢Le VMM doit stocker l'état des VMs lorsqu'une VMest remplacée par une autre➢Cet état agrège les états :

➢Des registres

➢De la table des pages mémoires

➢Des entrées/sorties

➢Deux (grandes) options pour le changement decontexte :

➢Indirection – peu efficace car, par ex., opération entreregistres imposent plusieurs accès mémoires

➢Recopie – possible si même ISA entre hôte et invité

Page 65: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1665

Page 66: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1666

Contrôle globale par VMM

➢VMM doit avoir un moyen de récupérer la main sur lesVMs

➢Equivalent au multiplexage temporel d'un OS

➢Comme pour ce multiplexage, on vise l'équité (entre VMs)

➢Moyen le plus simple : VMM gère le timer de temps

➢Comme les OS des Vms veulent l'utiliser pour leursprocessus, il faudra l'émuler pour elles → timer de tempsvirtuel

Page 67: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1667

Contrôle globale par VMM

Page 68: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1668

Virtualisation des ressources – le processeur

➢Formellement, 2 approches :

➢Emulation

➢Nécessaire si ISA différent entre hôte et invité

➢Exécution directe (en natif) :

➢Hôte et invité doivent avoir le même ISA

➢Plus rapide qu'émulation

➢Certaines instructions (dépend de l'ISA) doivent être émuléesde toutes façons :

➢Les instructions émises par les programmes peuvent être exécutés sansmodifs

➢Les instructions émises par OS invité doivent souvent être émulées ( carOS invité est vu comme un programme !)

Page 69: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1669

Conditions pour avoir un ISA virtualisable

➢Article Popek et Goldberg 1974

➢La virtualisation ne date pas d'hier

➢Déjà très utilisée sur mainframe IBM

➢ Hypothèses (version abrégée) :

➢Hardware = 1 (seul) processeur

➢Le processeur a 2 modes : système et utilisateur

➢Certaines instructions ne peuvent être exécutées qu'en modesystème

➢E/S non considérées mais les résultats peuvent êtreétendus

Page 70: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1670

Instructions sensibles et non sensibles

➢Les instructions sensibles sont celles qui sont :➢Modifient la configuration des ressources, par exemple la mémoire ou le moded'exécution (type contrôle)

➢Ex : SPT - Set CPU timer (IBM/370)

➢Dont le résultat dépend de l'état des ressources (→ type comportemental)

➢Ex : Load Real Address (IBM/370)

➢Les instructions qui ne sont ni de type contrôle nicomportementales sont dites bénignes (non sensibles)

Page 71: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1671

Propriété (Popek et Goldberg)

Propriété : les instructions sensibles doivent être unsous-ensemble des fonctions privilégiées (qui nepeuvent être exécutées qu'en mode privilégié)

Page 72: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1672

Ce que l'on peut faire si la propriété estsatisfaite

➢Toutes les instructions non sensibles peuvent êtreexécutées en mode natif (sans intervention VMM) →rapidité➢VMM garde le contrôle des ressources : unprogramme ne peut modifier les ressources systèmes(car ces fonctions ne peuvent être exécutées qu'enmode privilégié)➢Assurer l'équivalence : un programme s'exécute demanière identique dans l'environnement réel ouvirtuel and native machine

Page 73: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1673

Rôle VMM sous la propriété de P&G : attendreles trap!

Page 74: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1674

Le cas de l'ISA Intel x86

➢“Analysis of the Intel Pentiums Ability to Support aSecure Virtual Machine Monitor” USENIX 2000, J. Robin,C. Irvine

➢Sur les 250 instructions, 17 sont sensibles mais nonprivilégiées (elles sont dites critiques)

➢Exemple: popf

➢Popf en mode Utilisateur: change drapeau ALU

➢Popf en mode noyau: change ALU et les drapeaux système

➢Ne génère pas de trap en mode utilisateur

➢Q : voyez-vous le problème en environnement virtualisé?

Page 75: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1675

R : si le popf est exécuté par l'OS invité, il s'exécuteracomme un popf en mode utilisateur → l'OS invité n'effectuepas la modification qu'il croit ET le VMM n'en est pasinformé car pas de trap!!!

Voici ce qui se passerait si tout allait bien (ex avec LPSW del'IBM 370)

Page 76: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1676

Traitement des instructions critiques

➢Le VMM doit scanner le code et patcher lesinstructions critiques (avant leur exécution)➢Problème : le code a des branchements et il estparfois difficile de savoir quelle branche sera prise àl'avance

Page 77: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1677

Virtualisation du processeur : en résumé

➢Les conditions de Popek et Goldberg ne sont passatisfaites par les ISA actuelles

➢Le VMM doit donc scanner le code➢Mais uniquement pour l'OS invité

➢Il doit scanner pour patcher➢Des optimisations sont possibles pour améliorer les performances

Page 78: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1678

Une des tâches les plus complexes du fait de laprolifération des périphériques

Technique générale : offrir une interfacevirtualisée à l'OS invité

Virtualisation des E/S

Page 79: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1679

Virtualisation des E/S

➢Typologie de périphériques:➢Dédiés. Ex : écran, clavier. Virtualization n'est pas nécessaire maissouvent effectuée

➢Partitionnés. Ex : disque

➢Partagés. Ex: carte réseau

➢Spoolés. Ex : imprimante. Partagé, mais à un niveau de granularitéélevé (fichiers dans spooler). En pratique, imprimantes souventaccédées par le réseau → retour au cas précédent

➢Inexistants. Ex : switch virtuel qui permet la communication inter-VM.

Page 80: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1680

Options:◦ Appel systèmes?◦ pilotes?◦ Opération E/S?

A quel niveau virtualiser les E/S?

Page 81: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1681

Faciles à intercepter, car ces opérationsentrainent des traps.

Mais difficiles à interpréter car normalement c'estun driver qui envoie plusieurs opérations d'E/Ssimultanées qui ont du sens prises ensemble → ilfaudrait que le VMM ait cette vision globale

Au niveau des opérations d'E/S?

Page 82: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1682

Appel au pilote se fait par un appel système Pour que le VMM puisse l'intercepter, il faut qu'il

connaisse les détails de l'OS invité et du pilote. Une façon de faire, souvent utilisée, est de fournir à l'OS

invité des drivers spéciaux (dits virtuels) qui facilitentl'appel au VMM dans les E/S.

Après cela, deux options : ● VMM natif → doit avoir les « vrais » pilotes en internes● VMM hébergé → peut demander à l'OS hôte de faire le

boulot. Ex : Vmware player et Virtualbox font cela

Au niveau du pilote?

Page 83: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1683

Demande que leVMM émule l'ABI Trop difficile en pratique

Au niveau appel système?

Page 84: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1684

Un exemple de VMM hébergé :Vmware player

Page 85: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1685

Introduction

➢L'architecture IA-32 s'est développé comme un micro-processeur bon marché

➢Pas de support multi-utilisateurs en tête lors de la conception del'ISA

➢Au contraire, les équipes d'IBM qui travaillaient sur le System/370 etsa virtualisation contrôlaient le hard et le soft !

➢De plus, l'architecture des PC s'est développée commeune architecture ouverte → pléthore de périphériques, decartes mères, etc.

Page 86: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1686

Introduction

➢Vmware a donc plusieurs problèmes :➢Elle ne contrôle pas le développement du hardware

➢Elle ne contrôle pas le développement du software (Windows, Linux)

➢Débuter avec une solution hébergée était donc LAbonne stratégie

Page 87: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1687

Architecture hébergée

➢3 composants :➢VMM-n

➢n = natif

➢C'est le VMM

➢Il travaille en mode privilégié – module du noyau

➢VMM-u

➢ u = utilisateur

➢C'est l'application que vous lancez

➢VMM-d

➢d= driver

➢Permet la communication entre les 2 mondes

Page 88: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1688

Host App

VMApp

Host OS

Hardware

Mode utilisateur

Mode  provilégié

Applications

OS invité

VM

VMDriverVMMonitor

➢VMMonitor peut « changer sa personnalité » de OS hôteen application grâce à VMDriver pour demander à l'OSl'accès aux drivers

Page 89: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1689

Partie III : Switchs virtuels:OpenVswitch

sources : http://openvswitch.org/slides/LinuxSummit-2011.pdfhttp://openvswitch.org/slides/OpenStack-131107.pdf

Page 90: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1690

Introduction

➢Plusieurs VMs sur même hôte➢Partage des interfaces physiques réseau

➢Fonctionne sur les hyperviseurs Linux : Xen, KVM,VirtualBox

➢Open source, débute en 2009

Page 91: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1691

Liste des contributeurs

Page 92: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1692

Packaging

➢Stack réseau par défaut de Xen Cloud Plaborm (XCP)

➢Natif dans Citrix XenServer et base de leur switch virtueldistribué - Distributed Virtual Switch (DVS)

➢Distributions :➢ Debian

➢Ubuntu

➢ SUSE

➢Red Hat

Page 93: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1693

Fonctionalités

➢Protocoles réseaux :➢Openflow: basé sur un controlleur centralisé qui fournit des règles à l'ensemble des switches

➢Philosophie différente des protocoles distribués classiques (spanning tree niveau 2 ouroutage niveau 3) où chaque switch/routeur est indépendant.

➢Les switches en Openflow supportent des règles niveau 2 à 4

➢Ex : src IP = 192.168.1.0/24 sr@c MAC=AE:19:23:FC:A2 and tcp.srcport=128 --> outputport = 5

➢ Peut aussi fonctionner comme un switch classique

➢Protocoles de tunneling : GRE et VXLAN

Page 94: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1694

Fonctionnalités

➢Reporting:➢Netflow

➢Wireshark niveau routeur: une ligne par flot (TCP, UDP connexion) avec durée et volume. Tient dansla mémoire des switches qui n'ont pas de disque dur

➢sFlow ( netflow échantillonné – par ex, 1 trame sur 100 ou 1000)

➢Port mirroring: réplication de trafic

➢ACL (Access Control List) et QoS (Qualité de Service)

Page 95: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1695

L2 vs Openflow

➢L2 forwarding classique

OpenFlow : ➢Premier paquet nécessite l'installation d'un règle → le switchcontacte le controleur.

➢Paquets suivants dans le fast path

Page 96: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1696

Composants principaux OVS

Page 97: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1697

Composants de transmission

➢Ovs-vswitchd (Slow Path)➢Logique de transmission (apprentissage des @ MAC, mirroring,VLANs, et NIC bonding)

➢Configuration distante

➢Openvswitch_mod.ko (Fast Path)➢Module noyau Linux

➢ Lookup (trouver règle Openflow ou @ MAC/port), modification, etenvoie

➢ Encapsulation/decapsulation des tunnels

Page 98: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1698

Plan de Controle

➢ Base de données qui contient la configuration du oudes swiches: interfaces, définition des tunnels

➢Adresse OVSDB et controleur OpenFlow

➢Configuration est stockée sur le disque et ré-installationaprès reboot

Page 99: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/1699

Déploiement typique avec Openstack

➢Tunnels (VXLAN, GRE) entreswitchs virtuels

➢Management centralisé desswitches

➢VTEP : virtual tunnelendpoint

➢Support minimal de la partswitchs physiques

➢Autres options avec plus desupport des switchesphysiques possibles

Page 100: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/16100

Performance

➢A key factor in production environments

Page 101: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/16101

Performance

➢Test set up: DUT = Device Under Test

➢p/vNIC = physical/virtual NIC

Page 102: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/16102

Performance

➢Switches: Linux bridge, OVS, IP forwarding (routing entreIP par le noyau)

➢Resultats en pps (paquet par s): c'est ce qui compte.Petits paquets → stresse les entrées/sorties

Page 103: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/16103

Performance

➢Switch envoie des paquets sur différents CPU : passage àl'échelle jusqu'à ce qu'on atteigne le maximum de coeurs

➢Visible quand on est près de la saturation → quand lespaquets deviennent petits

Page 104: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/16104

Performance

Page 105: Guillaume Urvoy-Keller Licence R&T UNSiutsa.unice.fr/.../ext/Cours/Virtualisation/Virtualisation-lp-2016.pdf · Les critères de Popek et Golberg pour la virtualisation d'un ISA Détail

3/7/16105

Performance

➢Transférer entre une NIC physique et une virtuelle (dansune VM) engendre plus de changements de contexe auniveau noyau entre processus OVS et processushyperviseurs