OpenVz, Pacemaker Virtualisation et Haute disponibilité Fabien Muller – Hubert Hollender.

Slides:



Advertisements
Présentations similaires
Virtualisation et Haute disponibilité
Advertisements

Evolution des services Retour sur les incidents récents: Disfonctionnements cluster SUN (répertoires disques) : – Incidents et actions réalisées Disfonctionnements.
Outil Système Complet d'Assistance Réseau CRDP de l'académie de Lyon Documentation librement inspirée de la présentation.
Ghost (Création d'image Système)‏ C.R.I.P.T Informatique (BOYER Jérôme)‏
Composants Matériels de l'Ordinateur Plan du cours : Ordinateurs et applications Types d'ordinateurs Représentation binaires des données Composants et.
Logiciel Assistant Gestion d’Événement Rémi Papillié (Chef d’équipe) Maxime Brodeur Xavier Pajani Gabriel Rolland David St-Jean.
CREER SON SERVEUR DOMESTIQUE LIBRE Régis VINCENT – Octobre 2011 Benjamin.
Projet tuteuré 2009 Les clients légers Alexandre Cédric Joël Benjamin.
Travailler à l'ensimag avec son matériel personnel (dans les locaux Ensimag ou depuis l'extérieur) 1.Introduction 2.La clé USB Ensilinux 3.Rappels : Accès.
Les Logiciels Libres en pratique Samedi 25 mars 2006 Toulibre
LES FONCTIONS D'UN SYSTEME D'EXPLOITATION ● Le système d'exploitation contrôle entièrement les ressources matérielles locales. ● Il est responsable de.
Étude de cas: Implantation de Zimbra chez Remax Québec Hugues Clouâtre Gestion-Ressources Inc.
Messagerie Open Source à la DGCP Implémentation réalisée par IBM et Pilot Systems Sylvain Viollon.
Le système Raid 5 Table des matières Qu'est ce que le RAID ? Les objectifs Le raid 5 Les avantages et les inconvénients Les composants d’un Raid.
Séminaire Novembre Sphynx Historique (1) Sphynx 1.0 Sortie debut 2003 Même base que l'Amon-1.5 Utilisation freeswan-1.99 Générateur de configuration.
Passer aux Logiciels Libres à la maison Libres Clics 2007 Thomas Petazzoni Dimanche 7 Janvier.
Jean-Marie Clipet Proxmox VE - VVT 26 juin Proxmox VE.
VHFFS : Enlarge your hosting Sylvain Rochet Samuel Lesueur Cette présentation est sous contrat Paternité-Partage des Conditions Initiales à l'Identique.
Séminaire Novembre 2006 Séminaire Novembre 2006 Bilan et perspectives.
1 PIPOL Plateforme INRIA de Portage Logiciel Maurice BREMOND & Yann GENEVOIS JRES 2009.
Xen et l' Art de la Virtualization Antoine Nivard Responsable technique Adéquat région Ouest Responsable de Site francophone de XEN Computer.
L'utilisation des logiciels libres dans les Services de documentation de l'Institut d'Etudes Politiques de Lyon Journées du logiciel libre à Lyon – 13.
L’intérêt de sauvegarder certaines données stockées localement sur les postes clients est souvent trop sous-estimée par nos utilisateurs. Casse matérielle,
Module 13 : Implémentation de la protection contre les sinistres.
Diffusion en streaming de vidéos d’assistance au dépannage
Mise en place d’un système de partage de fichiers
Outil Système Complet d'Assistance Réseau
Solutions EOLE pour les ENR
Virtualisation Anton Soubré Romain Meallet Dimitry Duong Jéremy Calado
V12N avec Xen et IBM BladeCenter
Albertine DUBOIS et Alexandre LIEGE
Présentation Scribe NG Serveur pédagogique.
Utilisation de PostgreSQL
Séminaire EOLE Dijon Septembre 2008
SOMMAIRE 1: ORALE 2: Les 3 systèmes de gestion de base de donnés 3:ORACLE DATA BASE 4:MY SQL 5:Oppen Office.org Base 6:Concurrence Conclusion.
PORTEFEUILLE DE COMPETENCES
Séminaire EOLE Beaune Septembre 2007
Journée Analyse D0, 19 janvier 2004
CLUSTER DE BASCULEMENT SERVEUR DHCP
Téléchargement IOS - Commande tftpdnld du ROM Monitor
Lustre au DAPNIA.
2018/8/9 CLAP Cluster de virtualisation et de stockage distribué du LAPP Mardi 26 avril 2016 Entrez votre nom.
CeMEB La plateforme MBB
Présentation OCS-Inventory au LAPP
Virtualisation avec KVM
CeMEB La plateforme MBB
mardi 11 septembre 2018mardi 11 septembre 2018
Documentation technique (Linux)
Windows Server 2012 Objectifs
SRT2 APACHE.
Prise en main Emmanuel Braux Institut Mines Telecom / Télécom Bretagne
Système d’exploitation
Migration de l’architecture classique vers le cloud privé
Mise en œuvre d’une solution de portail
Les protocoles de la couche application Chapitre 7.
Retour d’expérience: OBM solution d’agendas partagés à l’IPNO
Application par la composition de micro-services
Un cloud de production et de stockage
Déploiement de noeuds de clusters chez EDF R&D avec GOsa²
Michaël HERVIEUX Thomas MEURISSE
Système d’exploitation: Principe IFT6800 – E 2008 Pierre Poulin.
LIVE MIGRATION Windows Server 2012 & Hyper-V3
Notions d'architecture client-serveur. Présentation de l'architecture d'un système client/serveur Des machines clientes contactent un serveur qui leur.
REPLICA Hyper-V Comme solution à un PRA
1 DEPLOIEMENT D’UN SYSTEME DE REPARTITION DE CHARCHE (LOAD BALANCING) Abasse KPEGOUNI, Ingénieur Systèmes et Réseaux.
Sommaire Les réseaux de capteurs sans fils Les réseaux de capteurs sans fils Communication dans Contiki Communication dans Contiki Réalisation Réalisation.
Présentation PISTE pour les partenaires raccordés en API
Transcription de la présentation:

OpenVz, Pacemaker Virtualisation et Haute disponibilité Fabien Muller – Hubert Hollender

OpenVz, Pacemaker Plan de l’exposé Contexte Technologie de virtualisation Technologie de clustering OpenVZ Pacemaker Solution mise en oeuvre Bilan

OpenVz, Pacemaker Problématique de départ Sécuriser les services de la DMZ - Emission des messages électroniques (SMTP) - Serveurs web institutionnels - Machines d’accès et de transfert de fichiers - Serveur d’agendas (OBM, Phpgroupware) Renouvellement de la solution existante - Mécanismes de haute disponibilité - Virtualisation

OpenVz, Pacemaker Plan de l’exposé Contexte Technologie de virtualisation Technologie de clustering OpenVZ Pacemaker Solution mise en œuvre Bilan

OpenVz, Pacemaker Technologie de virtualisation Ensemble de techniques et d’outils permettant de faire tourner plusieurs systèmes d’exploitation sur un serveur Partage de ressources En respectant deux principes fondamentaux :  Le cloisonnement : chaque système d’exploitation à un fonctionnement indépendant sans aucune interférence mutuelle  La transparence : le fonctionnement en mode vitualisé ne modifie pas le fonctionnement du système ni des applications

OpenVz, Pacemaker Technologie de virtualisation Intérêts :  Economique : mutualisation du matériel, bénéfice en terme de coût d’acquisition, de possession (rack, électricité, climatisation, réseau) et d’exploitation  Facilité d’administration : installation, déploiement et migration aisées des machines virtuelles entre serveurs physiques, simulation d’environnements de qualification ou de pré- production, création de plateforme de tests ou de développements réutilisables à volonté  Sécurisation : séparation des systèmes virtuels et hôtes (invisibles), répartition des utilisateurs, allocation dynamique des ressources, dimensionnement des serveurs facilités

OpenVz, Pacemaker Technologie de virtualisation Différentes techniques :  Machine virtuelle : Utilisation d’un logiciel. Emulation partielle ou totale d’une machine  Hyperviseur complet : Utilisation d’un noyau hôte léger permettant de faire tourner des systèmes d’exploitations natifs  Paravirtualiseur : Utilisation d’un noyau hôte allégé permettant de faire tourner des systèmes d’exploitations invités, adaptés et optimisés  Isolation : Séparation forte entre différents contextes logiciels sur un même noyau de systèmes d’exploitation

OpenVz, Pacemaker Technologie de virtualisation Machine virtuelle :  Emulation logicielle  Bonne isolation  Coût en performance  Exemples : - Qemu - VMWare - VirtualPC, VirtualServer - VirtualBox

OpenVz, Pacemaker Technologie de virtualisation Hyperviseur complet :  Utilisation d’un micro-noyau  Outils de supervision  Emulation des I/O  Instructions spécifiques  Exemples : - QEMU - KVM - VMWare Server - VirtualPC, VirtualServer - VirtualBox

OpenVz, Pacemaker Technologie de virtualisation Paravirtualiseur :  Micro-noyau hôte optimisé  OS invités adaptés et optimisés  Sans instructions spécifiques  Exemples : - XEN - KVM (avec Virtio) - VMWare ESX et ESXi - Microsoft Hyper-V Server - Oracle VM

OpenVz, Pacemaker Technologie de virtualisation Isolateur :  Séparation en contextes  Régi par l’OS hôte  Mais cloisonnés  Un seul noyau  N espaces utilisateurs  Solution très légère  Exemples - Linux-VServer - BSD Jail - OpenVZ

OpenVz, Pacemaker Plan de l’exposé Contexte Technologie de virtualisation Technologie de clustering OpenVZ Pacemaker Solution mise en œuvre Bilan

OpenVz, Pacemaker Technologie de clustering Cluster = agrégat de machines dans un but de travail coopératif. Cluster : pour 2 fonctionnalités  Augmentation de la puissance de traitement (scalability) : on veut que la puissance de traitement suive de manière linéaire le nombre de machines du cluster.  Augmentation de la disponibilité (availability): on veut minimiser les inconvénients liées aux pannes par la redondance des machines entre elles.

OpenVz, Pacemaker Cluster Haute-Disponibilité Le cluster est composé de 3 sous-systèmes logiques :  l’accès réseau : c’est le point de passage entre les machines du cluster et les machines clientes  le support du système de fichier : baie disque partagées (SCSI / Fiber Channel,ISCSI)  Le coeur de calcul : n couples mémoire-CPU. Obligatoirement :  le service doit pouvoir supporter : un arrêt brutal. un redémarrage brutal.

OpenVz, Pacemaker Cluster Actif-Passif  Déploiement simplifiée, niveaux de performances garanti  Serveur dédié à la reprise de services

OpenVz, Pacemaker Cluster Actif-Actif  tous les nœuds du cluster tournent des services  une seule instance active du service  risque de corruption des données (R/W simultanées)

OpenVz, Pacemaker Cluster à répartition de charges  Ferme de serveurs  Répartition d’un même service sur plusieurs machines  Pour le monde extérieur : un serveur unique

OpenVz, Pacemaker Plan de l’exposé Contexte Technologie de virtualisation Technologie de clustering OpenVZ Pacemaker Solution mise en œuvre Bilan

OpenVz, Pacemaker OpenVZ : principes C'est une virtualisation au niveau noyau en réalisant un partitionnement des ressources systèmes C'est le noyau du système d'exploitation qui fait une isolation entre des machines virtuelles et permet d'exécuter des applications dans des contextes différents Chaque contexte d'exécution est une machine virtuelle (VPS) se partageant le même noyau. Un processus d'une machine virtuelle ne peut pas faire de déni de service en dehors de sa machine virtuelle Il n'y a pas d'« émulation » à proprement parler comme dans d'autres système de virtualisation.

OpenVz, Pacemaker OpenVZ : fonctionnalités Chaque « Virtual Private Servers » VPS est un système indépendant Les VPS sont des systèmes Linux normaux (file system, scripts, programmes) : aucune spécificité openVZ Les VPS sont totalement isolés les uns des autres (mémoire, file system, communication inter-processus (IPC)) Chaque VPS a sa propre adresse réseau, les adresses multiples par VPS sont permises. Le trafic réseau de chaque VPS est isolé (pas de snooping possible).

OpenVz, Pacemaker OpenVZ : fonctionnalités Migration à chaud : Sauvegarde sur disque de l’état du serveur virtuel via un mécanisme de snaphot. Ce fichier peut alors être transféré sur une autre machine et restauré en état de marche en quelques secondes. Les « beancounters » : Ensemble de paramètres (une vingtaine) pouvant être attribué à chaque serveur virtuel pour imposer des limites et préserver les ressources de la machine hôte. Gestion des ressources : Outils permettant de contrôler l’utilisation des ressources de l’hôte par machine virtuelle (mémoire résidente et virtuelle, quotas d’utilisation CPU et disque, priorités d’accès CPU et disque) OS template : « file system » d'une distribution Linux permettant de « peupler » les VPS, disponibles sous forme de paquetages ou pouvant être créés.

OpenVz, Pacemaker OpenVZ : avantages Pas besoin d’image disque de machine. Il suffit de copier un file system pour installer une machine virtuelle Consommation mémoire légère (la mémoire est mutualisée entre le serveur hôte et les VPS et la mémoire demandée à l'hôte est celle réellement utilisée par les processus du VPS) Cela peut simplement être vu comme un chroot du file system amélioré par une isolation des processus Tous les processus des machines virtuelles font les appels système à un seul noyau. Les E/S sont donc plus efficaces que sur un système qui tournerait à travers une émulation Intégré dans la distribution Debian en standard Gestion fines des ressources

OpenVz, Pacemaker OpenVZ : Installation sous Debian Installation (noyau patché + utilitaires) :  aptitude install linux-image openvz-amd64  aptitude install vzctl vzdump vzquota vzprocps  shutdown -r now  uname –r : openvz-686 Activation du forwarding (sysctl –p) :  Modification du fichier /etc/sysctl.conf # packet forwarding enabled and proxy arp disabled net.ipv4.conf.default.forwarding=1 net.ipv4.conf.default.proxy_arp = 0 net.ipv4.ip_forward=1 # Enables source route verification net.ipv4.conf.all.rp_filter = 1 # Enables the magic-sysrq key kernel.sysrq = 1 # we do not want all our interfaces to send redirects net.ipv4.conf.default.send_redirects = 1 net.ipv4.conf.all.send_redirects = 0

OpenVz, Pacemaker OpenVZ : Installation sous Debian Récupération d'un template d'OS :  cd /vz/template/cache  wget amd64-minimal.tar.gz/ 5.0-amd64-minimal.tar.gz/ Création et configuration du VE :  vzctl create ostemplate \ debian-5.0-amd64-minimal.tar.gz  vzctl set onboot yes –save  vzctl set hostname xstra –save  vzctl set ipadd –save  vzctl set nameserver –save  vzctl set CTID –-diskspace 80G:80G –save  vzctl set 100 –-privvmpages 250M:250M –save  vzctl start 101  vzctl enter 101

OpenVz, Pacemaker OpenVZ : Installation sous Debian Autres commandes utiles :  vzlist  vzctl stop 101  vzctl destroy 101  vzctl exec 101 ps ax ou vztop  vzmemcheck, vzcpucheck, vzcalc Sauvegarde et restauration :  Par défaut dans /var/lib/vz/dump  vzdump –compress –dumpdir /mnt/xstra/ --stop 101 –mailto  vzdump –restore /mnt/xstra/xstra.tgz 101 Migration à chaud :  Fonctionne avec rsync et ssh (automatisation via clé ssh)  Vzmigrate –r no –online –v

OpenVz, Pacemaker OpenVZ : Configuration Fichier de configuration générale :  /etc/vz/vz.conf Fichiers de configuration des VPS :  /etc/vz/conf/.conf  /etc/vz/conf/.mount  /etc/vz/conf/.umount  Configuration lue au démarrage  Modifiable à chaud via l’utilitaire : vzctl set Files system des VPS :  /var/lib/vz - dump pour les sauvegarde - private pour les files systems - template pour les templates

OpenVz, Pacemaker OpenVZ : Configuration Exemple : fichier vz.conf ## Global parameters VIRTUOZZO=yes LOCKDIR=/var/lib/vz/lock DUMPDIR=/var/lib/vz/dump VE0CPUUNITS=1000 ## Logging parameters LOGGING=yes LOGFILE=/var/log/vzctl.log LOG_LEVEL=0 VERBOSE=0 ## Disk quota parameters DISK_QUOTA=yes VZFASTBOOT=yes # The name of the device whose ip address will be used as source ip for VE. # By default automatically assigned. #VE_ROUTE_SRC_DEV="eth0" # Controls which interfaces to send ARP requests and modify APR tables on. NEIGHBOUR_DEVS=detect ## Template parameters TEMPLATE=/var/lib/vz/template ## Defaults for VEs VE_ROOT=/var/lib/vz/root/$VEID VE_PRIVATE=/var/lib/vz/private/$VEID CONFIGFILE="vps.basic" #DEF_OSTEMPLATE="fedora-core-4" DEF_OSTEMPLATE="debian" ## Load vzwdog module VZWDOG="no" ## IPv4 iptables kernel modules IPTABLES="ipt_REJECT ipt_tos ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length" ## Enable IPv6 IPV6="no" ## IPv6 ip6tables kernel modules IP6TABLES="ip6_tables ip6table_filter ip6table_mangle ip6t_REJECT"

OpenVz, Pacemaker OpenVZ : Configuration Exemple : fichier.conf ONBOOT="no" # UBC parameters (in form of barrier:limit) KMEMSIZE=" : " LOCKEDPAGES="356:356" TCPSNDBUF=" : " TCPRCVBUF=" : " OTHERSOCKBUF=" : " DGRAMRCVBUF="262144:262144" NUMOTHERSOCK="360:360" DCACHESIZE=" : " NUMFILE="9312:9312" AVNUMPROC="180:180" NUMIPTENT="128:128" # Disk quota parameters (in form of softlimit:hardlimit) DISKSPACE=" : " DISKINODES="200000:220000" QUOTATIME="0" # CPU fair sheduler parameter CPUUNITS="1000" VE_ROOT="/dataipcmsdmz/lv-serveur-web-11/root/$VEID" VE_PRIVATE="/dataipcmsdmz/lv-serveur-web-11/private/$VEID" OSTEMPLATE="debian-5.0-amd64-minimal" ORIGIN_SAMPLE="vps.basic" HOSTNAME="serveur-web-11.u-strasbg.fr" NAMESERVER=" " IP_ADDRESS=" " NETIF="ifname=eth0,mac=00:18:51:7C:A9:57,host_ifname=veth2010.0,host_mac=00:18:51:91:C1:E5"

OpenVz, Pacemaker Plan de l’exposé Contexte Technologie de virtualisation Technologie de clustering OpenVZ Pacemaker Solution mise en œuvre Bilan

OpenVz, Pacemaker Pacemaker Solution OpenSource de clustering Gestion de la haute disponibilité des services et données Evolution de hearbeat (différentes branches, version 3) Gestion de cluster jusqu’à 16 noeuds Gestion de différents modes : Actif/Passif, Actif/Actif Depuis la version 2 gestion intégrée des ressources Déplacement dynamique/manuel des ressources Co-location et ordre de lancement des ressources

OpenVz, Pacemaker Pacemaker (évolutions) Linux-HAv1 :  Limitation à 2 nœuds en actif/passif  Configuration par scripts (haresources)  Pas de gestion automatique des ressources Linux-HAv2 :  Ajout d’un gestionnaire de ressources (CRM)  16 nœuds en actif/actif ou actif/passif  Les communications se font via la couche heartbeat  Configuration par scripts XML ou interface graphique  Gestion automatique des ressources  Branche de développement arrêtée en 2007

OpenVz, Pacemaker Pacemaker (évolutions) Pacemaker :  Nouvelle branche de développement (OpenAIS)  16 nœuds en actif/actif ou actif/passif  Communications via heartbit ou OpenAIS  Configuration par scripts XML ou interface graphique  Possibilité de simuler des scénarios  Outils de diagnostiques performants Pacemaker (version >= 1.0.5) :  Remplacement de OpenAIS par Corosync  Couche basique pour les communications  Découpage de heartbeat en 3 couches (cluster-glue, resource- agents, heartbeat)

OpenVz, Pacemaker Pacemaker (évolutions)

OpenVz, Pacemaker Pacemaker : Installation sous Debian Modification du fichier /etc/apt/source.list :  deb lenny-backports main contrib non- free  deb lenny main Installation avec corosync :  aptitude install pacemaker  aptitude install pacemaker-mgmt pacemaker-mgmt-client Initialisation de la couche communication (corosync) :  node 1 : sudo corosync-keygen scp /etc/corosync/authkey node2:  node 2 : sudo mv ~/authkey /etc/corosync/authkey sudo chown root:root /etc/corosync/authkey sudo chmod 400 /etc/corosync/authkey

OpenVz, Pacemaker Pacemaker : Installation sous Debian Configuration corosync :  via le fichier /etc/corosync/corosync.conf  modifier au minimum : interface { # The following values need to be set based on your # environment ringnumber: 0 bindnetaddr: mcastaddr: mcastport: 5405 }  activation START=yes dans /etc/default/corosync  démarrage du service : /etc/init.d/coroync start  vérification du status via l’utilitaire de gestion des ressources crm_mon --one-shot -V

OpenVz, Pacemaker Pacemaker : Configuration Via les commandes du gestionnaire de ressources :  crm : Exemple primitive fs-serveur-web-01 ocf:heartbeat:Filesystem \ operations $id="fs-serveur-web-01-operations" op \ monitor interval="20" timeout="40" \ params device="/dev/vg-dataipcmsdmz/lv-serveur-web-01" \ directory="/dataipcmsdmz/lv-serveur-web-01" \ fstype="ext3" primitive ve-serveur-web-01 ocf:heartbeat:ManageVE \ operations $id="ve-serveur-web-01-operations" op \ monitor interval="10" timeout="10" \ params veid="2000" group gr-serveur-web-01 fs-serveur-web-01 ve-serveur-web-01\ meta target-role="Started" Via l’interface graphique:  hb_gui

OpenVz, Pacemaker Pacemaker (GUI)

OpenVz, Pacemaker Pacemaker (GUI)

OpenVz, Pacemaker Plan de l’exposé Contexte Technologie de virtualisation Technologie de clustering OpenVZ Pacemaker Solution mise en œuvre Bilan

Système d'exploitation Debian Pacemaker Corosync OS Virtualisation OpenVZ VE 100 Node 1 Stockage partagé 2,25 Tb en raid 6 VE 103 VE 101 VE 102 Système d'exploitation Debian Pacemaker Corosync OS Virtualisation OpenVZ VE 105 Node 2 VE 108 VE 106 VE 107 failover Solution mise en œuvre

VE2000 Web-01 FTP Web-proxy /28 OBM Postgresql Mysql Web-02 Web-03 Web-04 Web-05 eth0 eth1 eth2 bridge br0 VE2001 VE2002 VE2003 VE1000 VE1001 VE1002 VE1003 VE1004 bridge br /24 OpenVz, Pacemaker Solution mise en œuvre

OpenVz, Pacemaker Solution mise en œuvre Baie Provigo 610 SAS :  8 disques de 500 Go SATA à 7200 tr/min  1 disque Hot Spare  1 Raid Group (7 disques) en Raid 6 (2,5 To utile)  1 contrôleur, cache 1 Go, unité batterie  alimentation redondante  double connexions SAS vers les 2 serveurs 2 Serveurs Calleo 121  Quad Core  8 Go de mémoire, 160 Go (en mirroir), 2 x 1 Gb Ethernet + IPMI Cluster  Actif/Actif  SMTP, OBM, SSH, HTTP, HTTPS, MYSQL, POSTGRESQL

OpenVz, Pacemaker Plan de l’exposé Contexte Technologie de virtualisation Technologie de clustering OpenVZ Pacemaker Solution mise en œuvre Bilan

OpenVz, Pacemaker Bilan Solution en place depuis 9 mois Performante, bon niveau de sécurité Peu consommatrice en ressources Faible coût d’acquisition (environ 6 K€) Investissement pour maitriser la technologie Bonne documentation A tester avec GFS2 et Proxmox