Virtualisation et Haute disponibilité

Slides:



Advertisements
Présentations similaires
Active Directory Windows 2003 Server
Advertisements

Module Systèmes d’exploitation
Qualité de Service sur Linux
Virtualisation de l’OS aux applications
Microsoft Office Groove Le contexte Une utilisation des postes de travail en très grande évolution chez les professionnels. Des lieux de travail.
SOMMAIRE Historique Les différentes techniques Intérets Etat actuel
- Couche 7 - Couche application. Sommaire 1)Introduction 1)DNS 1)FTP et TFTP 1)HTTP 1)SNMP 1)SMTP 1)Telnet.
Le serveur NAS Network Attached Storage, (NAS) désigne un périphérique de stockage relié à un réseau dont la principale fonction est le stockage de données.
Serveur NAS storex.
INTRODUCTION INTRODUCTION ERGONOMIE Tri par cartes Formulaires Interface Installation Lanceur Documentation TECHNOLOGIES XML + XSL CSS Formulaires génériques.
CLUSTERING Grappe d'ordinateurs.
Présentation de l’Architecture Windows NT
simulateur de réseau de machines UML connectées par WiFi mode ad-hoc
La haute disponibilité
Systèmes d’exploitation
Système de stockage réseaux NAS - SAN
Bases et Principes de la Virtualisation. Votre infrastructure informatique ressemble-t-elle à cela ? 2.
Active Directory Windows 2003 Server
FrontCall - 4C Les Centres de Contacts Virtuels
™.
Module 1 : Préparation de l'administration d'un serveur
Serveurs Partagés Oracle
Gérard Gasganias Ingénieur Avant-Vente Microsoft France
L'équilibrage de charge Utilisation, principe et solutions
Support des services et des serveurs
Virtualisation Les conteneurs – OpenVZ
DRDB Un RAID Réseau.
Par Bernard Maudhuit. On peut tout sauvegarder et on doit tout sauvegarder sur des éléments physiques externes à lordinateur CD SVCD DVD et double couche.
Retour dexpérience Supportech INSA.NET Daniel Boteanu – Michaël Piffret.
Windows Server Virtualization
1 © Copyright 2010 EMC Corporation. Tous droits réservés.  Consolidation  Économies d’échelle grâce à la standardisation  Réduction des coûts informatiques.
CEDCOM architecture haute performance pour des applications “big data” Tanguy Raynaud Projet CEDAR.
INFODATADAY 2013 INTEGRIX+ : Modules GRH et AO (Gestion des Ressources Humaines et Always-On) Version 2014.
Plan Définitions et exemples Composants de cluster
Virtualisation d'un serveur sous VMWare Server
GESTION DES UTILISATEURS ET DES GROUPES
Heatbeat au LAL Marec erwan Charbonnel Jaclin.
Plan Qu’est-ce que Windows Server 2008 ?
D. E ZEGOUR Institut National d ’Informatique
Offre DataCenter & Virtualisation Laurent Bonnet, Architecte Systèmes Alain Le Hegarat, Responsable Marketing 24 Novembre 2009.
Infrastructure haute disponibilité pour services informatiques JI2014
P2pWeb Une boite à outils pour construire un réseau coopératif d’hébergement de site Web –Réseau coopératif réseau physique de nœuds sur l ’Internet réseau.
FTP : File Transfer Protocol (protocole de transfert de fichier ) est un protocole de communication destiné à l'échange informatique de fichiers sur.
15/02/2008 v Socle de virtualisation des serveurs Linux version du 15/02/2008.
Module 3 : Création d'un domaine Windows 2000
Le noeud de grille Tier 3 LAPP.
LE PARE-FEU AMON. MAI 2002.
Clustering. Le Clustering est une technique qui consiste à assembler virtuellement plusieurs machines afin de les faire travailler en parallèle. Cela.
Alain Le Hegarat Responsable Marketing Windows Server
Mission 2 : Mission 2 : Répartition de charges (Serveur Web) BTS SIO2Camboulas Damien Riviere Mathieu Calas Guilhem Sirvin Alexis.
Centralisation des sites web d’ELTA & Mise en place d’un serveur NAS
Logiciels virtualisation serveur
Chapitre 17 Sauvegardes.
Administration d’un système Linux [BTS IRIS tv
Installation d’un serveur en réseau. Vmware Qu’est-ce que c’est ? - C’est un logiciel qui permet de virtualiser une machine par le biais d’une autre.
Module 2 : Planification de l'installation de SQL Server
Formation Cisco Partie 2 – IOS.
INTRODUCTION EMC Avamar : Sauvegarde et restauration rapides et efficaces grâce à une solution logicielle et matérielle complète. Intégrant une technologie.
Les logiciels de virtualisation
Gestion des documents internes avec SQL Server 2005 Date de publication : janvier 2006.
9 février 2010 Enrique Ruiz Mateos Architecte avant-vente Microsoft
Système de récupération de données pour EMC Avamar.
Installation du PGI – CEGID
Haute disponibilité pour les bases de données Osman AIDEL.
Retour d'expérience de l'utilisation du cloud comme infrastructure de service Guillaume PHILIPPON.
VEILLE TECHNOLOGIQU E LE CLOUD R. Mars al A. Guel louz B. Covo lo C. Eise nhauer G. Monn el.
PetaSky: Expérimentations avec HadoopDB et Hive 1 Amin Mesmoudi.
Journées informatique IN2P3/Dapnia, Lyon Septembre 2006 Consolidation des serveurs par virtualisation Retour d’expérience sur l’utilisation de VMware.
JI2006Muriel Gougerot - Nicole Iribarnes Virtualisation au LAPP.
OpenVz, Pacemaker Virtualisation et Haute disponibilité Fabien Muller – Hubert Hollender.
Transcription de la présentation:

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

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

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 3

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

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 5

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 6

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 7 7

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

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 9 9

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 10 10

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 11 11

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

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 13

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 14

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

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 16

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 17

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

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 19

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 20

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 21

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 22

OpenVZ : Installation sous Debian Installation (noyau patché + utilitaires) : aptitude install linux-image-2.6.26-2-openvz-amd64 aptitude install vzctl vzdump vzquota vzprocps shutdown -r now uname –r : 2.6.26-1-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 23

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

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 sem-xstra@ipcms.u-strasbg.fr vzdump –restore /mnt/xstra/xstra.tgz 101 Migration à chaud : Fonctionne avec rsync et ssh (automatisation via clé ssh) Vzmigrate –r no –online –v 172.16.0.102 101 OpenVz, Pacemaker 25

OpenVZ : Configuration Fichier de configuration générale : /etc/vz/vz.conf Fichiers de configuration des VPS : /etc/vz/conf/<ctid>.conf /etc/vz/conf/<ctid>.mount /etc/vz/conf/<ctid>.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 26

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 27

OpenVZ : Configuration Exemple : fichier <ctid>.conf ONBOOT="no" # UBC parameters (in form of barrier:limit) KMEMSIZE="14372700:14790164" LOCKEDPAGES="356:356" TCPSNDBUF="1720320:2703360" TCPRCVBUF="1720320:2703360" OTHERSOCKBUF="1126080:2097152" DGRAMRCVBUF="262144:262144" NUMOTHERSOCK="360:360" DCACHESIZE="3409920:3624960" NUMFILE="9312:9312" AVNUMPROC="180:180" NUMIPTENT="128:128" # Disk quota parameters (in form of softlimit:hardlimit) DISKSPACE="1048576:1153024" 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="130.79.200.200" IP_ADDRESS="130.79.210.3" NETIF="ifname=eth0,mac=00:18:51:7C:A9:57,host_ifname=veth2010.0,host_mac=00:18:51:91:C1:E5" OpenVz, Pacemaker 28

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

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 30

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 31

Pacemaker (évolutions) 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 32

Pacemaker (évolutions) OpenVz, Pacemaker 33

Pacemaker : Installation sous Debian Modification du fichier /etc/apt/source.list : deb http://www.backports.org/debian lenny-backports main contrib non- free deb http://people.debian.org/~madkiss/ha 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 34

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: 172.16.152.130 mcastaddr: 226.94.1.1 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 35

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 36

Pacemaker (GUI) OpenVz, Pacemaker 37

Pacemaker (GUI) OpenVz, Pacemaker 38

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

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

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

Solution mise en œuvre Baie Provigo 610 SAS : 2 Serveurs Calleo 121 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 42

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

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 OpenVz, Pacemaker 44