Introduction à la virtualisation



Documents pareils
Virtualisation sous Linux L'age de raison. Daniel Veillard

Utilisation de matériels industriels avec des outils de virtualisation open source. Open Source dans le monde industriel

Virtualisation open source État de l'art

Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D.

Visualization sur Ubuntu: Quels Choix? Nicolas Barcet

SMB137 - Cinquième partie

Hyper-V R2 (Module 1) : Introduction

Virtualisation: définitions. Problème des datacenters actuels. Le DATA Center aujourd'hui. Le Data Center d'hier

Table des matières. A - Introduction 13. B - Qu'est-ce que la virtualisation? 13

LXC : Une technologie de contextualisation ultra light intégrée au kernel Linux

Qu est ce qu un un serveur?

Stéphane DERACO, DSI CNRS l Argos Devops : de l hyperviseur aux conteneurs l 11/12/2014 DOCKER

Hyperviseur vs Docker. le choc des virtualisations

A Libre Ouvert. Médiathèque Jacques Ellul. le

A propos de la sécurité des environnements virtuels

Virtualisation Vserver et OpenVz en entreprise

LA VIRTUALISATION. Etude de la virtualisation, ses concepts et ses apports dans les infrastructures informatiques. 18/01/2010.

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4.

Table des matières 1. Introduction. 1. Avant-propos Remerciements Chapitre 1 Virtualisation de serveurs

Sébastien Geiger IPHC Strasbourg

Le Cloud Open-Mind! Emilien Macchi

Plan de cet après-midi

Présentation OpenVZ. Marc SCHAEFER. 9 janvier 2009

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures

Retour d expérience de la plateforme de virtualisation sous Proxmox VE à l IPHC journée SysAdmin du 04/12/2014 à l INRA de Toulouse

Point sur la virtualisation

Virtualisation de serveurs Solutions Open Source

Red Hat Enterprise Virtualization. Architecte Sénior michaellessard

Gérer ses environnements de développement avec Vagrant RMLL 2012

IaaS à la sauce Portails Focus sur. Pierre Aubert Orange Portails OF/DMGP/Portails/DOP 1 er Juillet 2013

Red Hat Enterprise Virtualization 3.0 Instructions d'installation et informations importantes

Systèmes d'informations historique et mutations

Sécurité & Virtualisation Istace Emmanuel

Kernel based Virtual Machine

Virtualisation et le hosting. Christophe Lucas Sébastien Bonnegent rouen.fr>

Virtualisation pour un data centre flexible. Imed Chihi Fedora 12 Release Party, 05 Décembre 2009 ISET Charguia, Tunis

Plan de la conférence. Virtualization. Définition. Historique. Technique. Abstraction matérielle

Concept de machine virtuelle

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

JOSY VIRTUALISATION 9 ET 10 JUIN 2011 POSTE DE TRAVAIL ET VIRTUALISATION. Sébastien Geiger IPHC

Kernel based Virtual Machine

Par CADICI Grégory & FRITZ Rémy

Installation d une architecture VMware Infrastructure 3 : Bilan et perspectives

ARCHITECTURE ET SYSTÈMES D'EXPLOITATIONS

Machine virtuelle W4M- Galaxy : Guide d'installation

Les méthodes de sauvegarde en environnement virtuel

PPE 1 PRISE EN MAIN DE VMWARE VSPHERE 5.5 & CONFIGURATION D UNE MACHINE VIRTUELLE

Virtual Box Mettez un PC dans votre... PC

SRS DAY: Problématique liée à la virtualisation

La Virtualisation Windows chez CASINO. Philippe CROUZY Responsable Infrastructure Equipes Systèmes -Stockage

Les avantages de la virtualisation sont multiples. On peut citer:

Hands on Openstack : Introduction

L'automatisation open source pour SI complexes

au Centre Inter-établissement pour les Services Réseaux Cédric GALLO

EN Télécom & Réseau S Utiliser VMWARE

Systèmes informatiques

Présentation d HyperV

OpenStack Le cloud libre. Thierry Carrez Release Manager, OpenStack

Mise en œuvre d une infrastructure de virtualisation au CNRGV

Virtualisation des Serveurs et du Poste de Travail

Module : Virtualisation à l aide du rôle Hyper-V

Chapitre 2 : Abstraction et Virtualisation

Sébastien Geiger IPHC Strasbourg

Windows serveur 2008 installer hyperv

A Les différentes générations VMware

Eric Maillé Comparatifs des hyperviseurs Vmware ESX / Microsoft HyperV

Hyper-V v2 : une évolution majeure des services de virtualisation

Configuration système requise

Gestion des Appliances. M. AIRAJ Ecole Informatique IN2P

Virtualisation et ou Sécurité

Etude d architecture de consolidation et virtualisation

Automatiser le Software-Defined Data Center avec vcloud Automation Center

NFE107 Urbanisation et architecture des systèmes d information. Juin «La virtualisation» CNAM Lille. Auditeur BAULE.L 1

PLATE-FORME DE CLOUD COMPUTING SLAPOS. Intégration d applications

en version SAN ou NAS

Debian Lenny - Virtualisation avec Libvirt/KVM Debian GNU/Linux

Virtualisation du poste de travail. Denis CASANOVA UFR Sciences & Technologies CUME - 29 Mars 2012

But de cette présentation. Bac à sable (Sandbox) Principes. Principes. Hainaut P

Délivrer des postes de travail virtuels et des applications virtuelles en utilisant des technologies Open Source

VMWARE VSPHERE ESXI INSTALLATION

VMWare Infrastructure 3

vbladecenter S! tout-en-un en version SAN ou NAS

CURSUS VIRTUALISATION

Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI. Année universitaire David Genest

Brochure Datacenter. Novell Cloud Manager. Création et gestion d un cloud privé. (Faire du cloud une réalité)

Un exemple de cloud au LUPM : Stratuslab

Informatique en nuage Cloud Computing. G. Urvoy-Keller

Acronis Backup Advanced Version 11.5 Update 6

DES SAUVEGARDES ET DES RESTAURATIONS DE DONNEES SANS CONTRAINTES DE LIEU NI DE TEMPS

Veille Technologique Docker

Xen. Quelques notes autour de Xen

La virtualisation, des postes de travail

Synerway Guide de Compatibilité. Version 4.0

EN Télécom & Réseau S Utiliser VMWARE

Anatomie d'un cloud IaaS Représentation simplifiée

La plate forme VMware vsphere 4 utilise la puissance de la virtualisation pour transformer les infrastructures de Datacenters en Cloud Computing.

Transcription:

Introduction à la virtualisation Sébastien Douche @sdouche https://github.com/sdouche/presentation-virtualisation; 1 / 77

Qui suis je? 39 ans. Pas trés intelligent mais j'aime comprendre. Geek depuis 1984 Fan de Logiciels Libres depuis 1995 CTO chez un éditeur logiciel depuis 2007 Développeur (Python, Go, Dart, Rust) Sysadmin (Linux / BSD) Speaker (Git, Python, Go, organisation, management...) Adore les jeux de sociétés modernes Motard (Honda CBR RR) Aime l'humour noir et les blagues pourries 2 / 77

Objectif de cette soirée 3 / 77

Vous donnez un peu de culture admin et montrez l'utilité des outils de virtualisation pour le développemment 4 / 77

Je ne suis pas un spécialiste de la virtualisation, juste un grand utilisateur 5 / 77

je n'ai rien à vous vendre 6 / 77

Culture 7 / 77

2 anectodes 8 / 77

9 / 77

Déclic 10 / 77

Pattern et anti-pattern 11 / 77

On pense avec des mots 12 / 77

Multiplier les cultures donne une vision plus cohérente 13 / 77

Lean, Agile, Devops sont avant tout une question de culture 14 / 77

Valeur Principe Pratique 15 / 77

Intérets 16 / 77

La virtualisation offre plusieurs opportunités Coté ops : Meilleure utilisation des ressources (serveur, place, électricité, etc) Installation, déploiement et migration facilités Isolation (sécurité, modification locale, etc) Coté dev : Disposer de plusieurs envionnements de développement Tester son code dans un environnent normalisé Simuler la production Éviter le «ça marche chez moi»! 17 / 77

Et surtout, éliminer un goulet d'étranglement et ainsi réduire le temps de cycle (cycle time) 18 / 77

Histoire 19 / 77

Les premiers travaux proviennent du centre scientifique de Cambridge d'ibm pour le développement expérimental de CP/CMS (1967 1972). Il permet de simuler un environnement mono-utilisateur (CMS) par dessus la gestion des VM (VM-CP). Les versions actuelles sont z/os et z/vm. 20 / 77

Vocabulaire 21 / 77

Émulation / virtualisation 22 / 77

Hôte (host) / invité (guest) 23 / 77

Bare-metal 24 / 77

VM (Virtual Machine ou Machine virtuelle) 25 / 77

VE (Virtual Environment ou Environnement) 26 / 77

Techniques 27 / 77

Hyperviseur de type 1 28 / 77

Hyperviseur léger et optimisé pour gérer les accés aux matériels qui tourne en bare-metal 29 / 77

30 / 77

Hyperviseur de type 1 Avantages : OS complet (avec son noyau) OS non modifié isolation complète Inconvénients : lourdeur de mise en oeuvre lourdeur de gestion overhead moyen (peut être fortement réduit) 31 / 77

Hyperviseur de type 2 32 / 77

Hyperviseur qui fonctionne sur un OS et qui émule le matériel 33 / 77

34 / 77

Hyperviseur type 2 Avantages : OS complet (avec son noyau) OS non modifié isolation complète Inconvénients : lourdeur de mise en oeuvre lourdeur de gestion overhead monstreux 35 / 77

Virtualisation (VM) vs Para-virtualisation (PV) Que ce soit en hyperviseur de type 1 ou 2, on peut ajouter des drivers pour indiquer au noyau qu'il est un invité. On parle alors de para-virtualisation. Cela diminue l'overhead et améliore les performances. 36 / 77

Accélération matérielle (HVM, HPV) 37 / 77

Virtualisation assisté par le processeur Intel (2005+) : VT-x VT-d (I/O MMU virtualization) VT-c AMD (2006+) : AMD-V AMD-Vi (I/O MMU virtualization) 38 / 77

conteneur 39 / 77

Permet d'isoler l'exécution des applications dans une VE 40 / 77

41 / 77

Conteneur Avantages : simplicité rapidité de mise en oeuvre grande densité peu d'overhead cache commun (page sharing) meilleur gestion des ressources (cpu. disque...) Inconvénients : un seul noyau nécessite une couche sécurité (SELinux / Apparmor) 42 / 77

Isolation Sous Linux, c'est le service noyau Namespace qui gère l'isolation : PID namespace : isolation des ID de process Net namespace : isolation du réseau IPC namespace : isolation des ressources IPC UTS namespace : isolation des identifiants de nom et de domaine Mount namespace : isolation des points de montage du système 43 / 77

Limitation des ressources Sous Linux, c'est le service noyau Control Groups (cgroups) aui gère la limitation : # root@srv1:/sys/fs/cgroup# ls -1 blkio cpu cpuacct cpuset devices freezer hugetlb memory perf_event 44 / 77

Processus sans privilège Sous Linux, c'est le service noyau capabilities qui gère les droits. 45 / 77

Technologies 46 / 77

QEMU Type : émulateur http://wiki.qemu.org Avantages : Licence Libre mature (2003) project actif Utilisé par VirtualBox, Xen et KVM Émule les architectures IA-32 (x86) / x86-64, MIPS R4000, Sun SPARC sun4m / sun4u, ARM development boards, SH4 SHIX board, PowerPC, ETRAX CRIS, MicroBlaze... KQEMU pour les vieux matériels Inconvénients : trés lent! 47 / 77

Xen Type : hyperviseur de type 1 http://www.xenproject.org Avantages : Licence Libre mature (2003) projet actif géré par la Xen Project Governance projet upstream depuis Linux 3.0 hyperviseur x86, x86_64, Itanium, ARM PV / HVM / Pv-on-HVM distribution AlpineLinux XenServer libéré écosystême riches (2k partenaires certifiés) nombreuses fonctionnalités(live Migration, Save & Restore, sécurité...) Inconvénients : pas dans toutes les distributions Linux / *BSD bien adapté a Red Hat 48 / 77

KVM Type : hyperviseur de type 1 http://www.linux-kvm.org/ Avantages : Licence Libre mature (2007) hyperviseur x86, x86_64, ARM (en dev) projet actif financé par Red Hat projet upstream depuis Linux 2.6.20 ré-intégré dans QEMU maintenu par les distributions Linux / *BSD HVM / Pv-on-HVM utilisé par Red Hat comme offre de virtualisation Inconvénients : pas de ml utilisateur manque de documentation écosytème financé par Red Hat demande un admin Linux plus confirmé pas de PV 49 / 77

VMware vsphere Hypervisor (ESXi) Type : hyperviseur de type 1 http://vmware.com Avantages : gratuit mature (2007) projet actif financé par VMware offre la plus complète (vcenter, NSX...) Inconvénients : licence propriétaire écosysteme propriétaire outillage sous Windows offre complète très cher 50 / 77

Oracle VM VirtualBox Type : hyperviseur de type 2 http://virtualbox.org Avantages : Licence Libre mature (2007) projet actif financé par Oracle IHM / CLI Linux, Windows, Mac OS X, Solaris packages pour toutes les distributions simple d'utilisation Documentation (manuel utilisateur 455 pages, FAQ, ml...) Inconvénients : instabilité occasionnelle performance (http://bit.ly/1h9odf3) 51 / 77

chroot / FreeBSD Jail Type : conteneur Par défaut sur toutes les distributions Linux / BSD Avantages : Licence Libre facilité de mise en oeuvre Inconvénients : ne gère que l'isolation FS 52 / 77

Linux-VServer Type : conteneur http://linux-vserver.org Avantages : Licence Libre maturité (2001) fonctionne à partir du noyau 2.4 sécurité? Inconvénients : demande un noyau Linux patché se synchronise avec les noyaux RHEL QOS basic (ulimit, rlimit...) plus trop utilisé 53 / 77

OpenVZ Type : conteneur http://openvz.org Avantages : Licence Libre mature (2005) Projet très actif (sponsorisé par Parallels) beaucoup de fonctionnalité documenté (quick start de 119 pages) QOS / quota isolation user, process, FS, réseau, device fonctionnalités (snapshot, dump / restore, etc) sécurisé Inconvénients : demande un noyau Linux patché se synchronise avec les noyaux RHEL pas de support des distributions Linux 54 / 77

LXC Type : conteneur http://linuxcontainers.org Avantages : Licence Libre intégré upstream utilise des technos standards bindings python3, ruby, lua and Go Inconvénients : manque d'outillage nécessite Apparmor ou SELinux 55 / 77

Autres : Bochs Solaris Zone DOSEMU VMware Player VMware Workstation VMware Fusion Oracle VM Microsoft Hyper-V Server Microsoft VirtualPC Microsoft Virtual Server Parallels Server Bare Metal Parallels Desktop Parallels Parallels Server IBM z/vm 56 / 77

Formats 57 / 77

Plusieurs format existent : IMG / RAW VDI VHD Qcow2 (standard Logiciel Libre) VMDK (Standard, Fixed, Split2G, Stream Optimized, ESX) Note : Il est plus effiace d'utiliser des partitions LVM / ZFS / BTRFS 58 / 77

OVF 59 / 77

OVF Format normalisé de description d'une VM. Chaque logiciel posséde son namespace (vbx, vmdk...) Malheureusement, il est incomplet. 60 / 77

OVF Exemple :?xml version="1.0"?> <Envelope ovf:version="1.0" xml:lang="en-us" xmlns="http://schemas.dmtf.org/ovf/envelope/1" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:vbox="http://www.virtualbox.org/ovf/machine"> <References> <File ovf:id="file1" ovf:href="spv-sysdisk.vmdk" ovf:size="430392832" /> </References> <DiskSection> <Info>List of the virtual disks used in the package</info> <Disk ovf:diskid="sysdisk" ovf:fileref="file1" vbox:uuid="8583a587-88c1-45c3-9365-033899064841" ovf:capacity="16106127360" ovf:populatedsize="430392832"... /> 61 / 77

Le format OVA embarque la VM + le fichier OVF 62 / 77

Sélections d'outils Libres 63 / 77

Petites sélections personnelles : Libvirt (OpenVZ, LXC, KVM, Xen, VMWare) http://libvirt.org ProxMox VE (OpenVZ, KVM) https://www.proxmox.com Docker (LXC) http://docker.io Vagrant (VirtualBox) http://www.vagrantup.com ovirt (KVM, Xen, VirtualBox) http://www.ovirt.org virt-manager (KVM, Xen, LXC) http://virt-manager.org Libguestfs (KVM) http://libguestfs.org virt-tools (KVM) http://virt-tools.org Kimchi (KVM) https://github.com/kimchi-project/kimchi Ganeti (KVM, Xen) https://code.google.com/p/ganeti ConVirt Open Source (KVM, Xen) http://www.convirture.com/products_opensource.php xen-tools (Xen) http://www.xen-tools.org Zentific (Xen) http://www.zentific.com Xen Orchestra (Xen) http://xen-orchestra.com Xen Server (Xen) http://www.xenserver.org 64 / 77

Cloud Computing 65 / 77

Architecture OpenStack Folsom 66 / 77

Principales technologies Libres Cloud : OpenStack http://www.openstack.org Apache CloudStack http://cloudstack.apache.org OpenNebula http://opennebula.org Eucalyptus https://www.eucalyptus.com 67 / 77

Software Configuration Management (SCM) 68 / 77

Les outils SCM sont un gros pas en avant en simplifiant grandement le travail d'administration 69 / 77

Qualités configuration as Code documente parfaitement les changements utilisation d'outils communs avec les dev (outil, langage, etc) langage commun (dev / op) rapidité de déploiement flexible idempotence 70 / 77

Principaux outils Libres CFEngine (C) http://cfengine.com Puppet (Ruby) http://puppetlabs.com Chef (Ruby, Erlang) http://www.getchef.com SaltStack (Python) http://www.saltstack.com Ansible (Python) http://www.ansible.com 71 / 77

Démo 72 / 77

KVM KVM seul qemu-system-x86_64 -nodefaults \ -drive file=debian7.qcow2,if=none,media=disk,id=hd0 \ -device driver=virtio-blk-pci,drive=hd0 \ -boot order=c \ -enable-kvm \ -vga cirrus présentation rapide de virt-manager / virsh manipulation de VM avec libguestfs 73 / 77

VirtualBox présentation rapide de VirtualBox IHM / CLI démo avec une VM format OVF / import OVF + VMDK présentation rapide de Vagrant http://docs.vagrantup.com/v2/ 74 / 77

LXC présentation rapide de LXC (template, commandes) lancement conteneur Ubuntu présentation rapie de Docker http://douche.name/presentation-docker) 75 / 77

Salt démo shell distribué exemple simple de template SLS exemple de modules Salt maison 76 / 77

That's all folks! 77 / 77