Utilisation de matériels industriels avec des outils de virtualisation open source Open Source dans le monde industriel
Christophe Sauthier Ancien Président de Ubuntu fr Développeur Ubuntu Officiel Développeur OpenStack Fondateur de Objectif Libre
Objectif Libre SSLL spécialisée dans l'infrastructure linux: Mise en place / Audit Gestion Formations Gros focus sur des outils "modernes" et innovants : Gestion de parc (Puppet et GLPI) Virtualisation (KVM, LXC, OpenStack..)
Rôle de la plateforme Gestion d'automates acquisition d'informations contrôle Contraintes : Matériel spécifique (cartes APPLICOM) Fonctionnement sans interruption (haute disponibilité) Stockage de données (bases SQL) Sécurité d'accès réseau 1 même infrastructure (6 serveurs) répliquée sur 15 sites
Mais Matériel actuel vieillissant => renouvellement Complexité d'evolution du matériel Accès règlementé Rigidité des serveurs physiques Complexité d'évolution logicielle Segmentation par serveur par application Besoin de déplacement sur site pour nouvelle installation => Recherche d'une solution actuelle : La Virtualisation
La virtualisation sous Linux
La virtualisation sous Linux Les isolateurs (containers) Exécution de plusieurs instances en parallèle d'un même OS Très peu d'overhead Certaines contraintes OS modifié Même OS exactement et noyau partagé Plusieurs implémentations sous Linux / Unix LXC OpenVZ BSD Jails
La virtualisation sous Linux Hyperviseurs de Type 2 Programme assez lourd qui s'installe au dessus d'un système d'exploitation existant Virtualisation (ou émulation) des éléments matériels pour les systèmes virtualisés Très simple à mettre en oeuvre mais mauvaises performances Les plus connus : Microsoft VirtualServer Parallels VirtualBox VMWare Fusion/Player/Workstation/Server
La virtualisation sous Linux Hyperviseurs de Type 1 Une partie (ou globalité) d'un noyau optimisé pour permettre l'accès direct des noyaux des systèmes invités aux ressources matérielles. Meilleures performances Les hyperviseurs de type 1 les plus connus sont : KVM Xen VMWare ESX/ESXi Microsoft Hyper V Server
Evolution Proposée
Evolution Proposée Organisation Proposée par site 2 machines physiques Chaque machine héberge 3 VMs : 1 VM de gestion des automates 2 VM avec services annexes VMs identiques sur chaque hyperviseur
Evolution Proposée Technologies utilisées Red Hat Enterprise Linux pour les systèmes (hôtes et invités) Machines virtuelles KVM Technologie SR IOV pour l'accès direct au matériel APPLICOM depuis les VMs Paravirtualisation (VirtIO) pour les performances Gestion du réseau virtuel avec Open vswitch Haute disponibilité au sein des VMs avec DRBD et Pacemaker
KVM
KVM Kernel based Virtual Machine La base la plus courante de la virtualisation sous Linux Hyperviseur de type 2 Fork de QEMU (avec qemu kvm), avec la prise en charge du module noyau KVM pour permettre de meilleures performances
KVM Historique Une suite logique aux jeux d'instructions des fondeurs, permettrant l'accès aux périphériques => un module pour les instructions AMD (svm) et un pour les instructions Intel (vmx) Inclus dans le noyau (>= 2.6.20) Multiarchitectures: x86 PowerPC arm (Linux 3.9) Développé à la base par Qumranet, ce dernier a été racheté par Red Hat
KVM Outil Libre et support multi OS Projet libre qui est placé sous plusieurs licences : mélange de GPL et LGPL Il permet de virtualiser différents OS : Linux Windows BSD Solaris...
KVM VirtIO, l'optimisation par la paravirtualisation Le système invité sait qu'il est virtualisé => accelération des accès aux périphériques Les éléments qui sont donc paravirtualisés sont : carte ethernet contrôleur de disque mémoire interface VGA (pour tirer partie de SPICE ou des drivers VMWare)
KVM Gestion du PassThrough Rendre accessible un matériel PCI ou USB de l'hôte sur un système invité Identification via les id PCI/USB Indispensable pour du matériel qui ne possède pas de driver pour tous les OS Cas des cartes contrôleurs de GDF (APPLICOM)
Open vswitch
Open vswitch Présentation switch virtuel multi couches capable de fonctionner sur plusieurs hôtes en utilisant tunneling (GRE) IPSec SPAN configuration automatique de matériel réseau via NetFlow Capable de gérer la norme 802.1Q (VLAN) le protocole STP (Spanning Tree, contrôle des boucles)
Open vswitch La nouvelle norme Module noyau (intégré depuis Linux 3.3, 2012/03) pour utiliser ces fonctionnalités réseau avancées Solution choisie par défaut ou intégrée dans de nombreux produits : OpenStack via le composant Neutron Xen Server 6.0 Xen Cloud Platform...
Open vswitch Utilisation Réplication de la séparation précédente mais en logiciel Mise en place plusieurs VLAN sur plusieurs machines physiques
Gestion de la Haute Disponibilité : DRBD et Pacemaker
Gestion de la Haute Disponibilité : DRBD et Pacemaker DRBD Distributed Replicated Block Device Périphérique bloc répliqué et distribué => Une sorte de RAID1 sur le réseau Utilisé pour créer un système de fichiers partagés en actif actif ou actif passif
Gestion de la Haute Disponibilité : DRBD et Pacemaker Pacemaker Bascule automatique des services d'une VM vers une autre (actif/passif) La bascule peut être faite en quelques secondes Gestion du fencing pour s'assurer qu'un hôte est effectivement inaccessible
Conlusions
Conlusions Apports de la virtualisation 2 machines au lieu de 5 ou 6 Souplesse de manipulation des disques virtuels Pour les mises à jour Pour les backups et les restaurations Possibilité d'évolutions sans ajout de matériel Meilleure gestion de l'obsolescence du matériel
Conlusions Apport Logiciels Libres Prix Durée de vie et pérénité Pas de vendor lock in
Questions? Sinon plus tard... christophe.sauthier@objectif libre.com Twitter: @chrissauthier