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

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-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 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-amd 64-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 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 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 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 <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" uploads/Science et Technologie/ 2010-09-23-organisation-dmz6 1 .pdf

  • 23
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager