Architecture de serveurs virtualisés
Transcription
Architecture de serveurs virtualisés
Architecture de serveurs virtualisés pour la communauté mathématique Jacquelin Charbonnel Journées ARAMIS - Lyon, juin 2012 version 1.1 Plan ● KVM pour un laboratoire ● KVM pour la Plateforme en Ligne pour les Mathématiques ● Exemple : plateforme d'hébergement web ● Le projet PLACO Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 Architecture de serveurs virtualisés pour la communauté mathématique 2 / 47 KVM pour un laboratoire Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 Architecture de serveurs virtualisés pour la communauté mathématique 3 / 47 ● ● LAREMA ● laboratoire de mathématiques ● une demi-centaine d'utilisateurs une dizaine de serveurs physiques ● hyperviseurs ● serveurs applicatifs interactifs ● serveurs d'infrastructures (NFS, LDAP, DNS, DHCP, ntp) ● serveurs de calcul ● serveur de sauvegarde Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 Architecture de serveurs virtualisés pour la communauté mathématique 4 / 47 ● 2 hyperviseurs ● KVM sous CentOS 6 ● une quinzaine de VM VM VM VM VM VM VM VM VM VM hyperviseur KVM Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 hyperviseur KVM Architecture de serveurs virtualisés pour la communauté mathématique 5 / 47 Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 Architecture de serveurs virtualisés pour la communauté mathématique 6 / 47 Candidats à la virtualisation ● messagerie SMTP+IMAP (postfix+dovecot) ● web + webmail (apache, squirrelmail, roundcube) ● firewall + reverse proxy + MX principal (iptables, apache, postfix) ● monitoring (icinga) ● – monitoring des ressources du laboratoire – monitoring des ressources de la DSI serveurs ssh – tunnels pour les chercheurs du labo tunnels pour les chercheurs de la fédération des Pays de Loire divers – ● – générateur d'images LTSP Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 Architecture de serveurs virtualisés pour la communauté mathématique 7 / 47 Jugés non virtualisables ● serveurs applicatifs – ● serveur de sauvegarde – ● pour raison d'isolation serveur de calcul – ● pour raison de performance pour raison de performance (à approfondir) serveurs d'infrastructure : nfs, ntp, ldap, dhcp, dns – services utilisés par les hyperviseurs Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 Architecture de serveurs virtualisés pour la communauté mathématique 8 / 47 Principe #1 : couches de serveurs ● ● 2 couches de serveurs ● les hyperviseurs appartiennent à la couche #1 ● les VM appartiennent à la couche #2 principe : ● la couche #1 ne doit pas utiliser les services de la couche #2 – ● un hyperviseur ne doit pas dépendre de services hébergés sur une quelconque VM pourquoi ? ● écarter les interdépendances (bloquantes au démarrage) Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 Architecture de serveurs virtualisés pour la communauté mathématique 9 / 47 Principe #2 : les data ● data = homedir, mailboxes, htdocs, etc. ● aucun gros volume de données sur disques virtuels (containers) ● ● data exportées par NFS depuis un serveur physique dédié pourquoi ? ● 1 gros disque = 1 gros fichier sur l'hyperviseur (plusieurs Go) – lourd à copier, sauvegarder, déplacer, comparer Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 Architecture de serveurs virtualisés pour la communauté mathématique 10 / 47 Principe #2 : les data ● data exportées par NFS depuis un serveur physique dédié VM VM VM VM VM VM VM VM VM NFS Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 NFS Architecture de serveurs virtualisés pour la communauté mathématique 11 / 47 Principe #3 : les VM les VM sont présentes sur chacun des 2 hyperviseurs ● VM non attachées à l'hyperviseur (déplaçables) ● chaque VM est – en production sur 1 host – en backup sur l'autre pourquoi ? ● PRA simple ● équilibrage de charge (manuel) des VM en production VM VM VM VM VM VM VM VM VM VM VM Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 VM VM VM VM VM VM VM Architecture de serveurs virtualisés pour la communauté mathématique 12 / 47 Principe #4 : les containers ● container = disque de VM ● les containers sont sur LVM sur l'hyperviseur ● pourquoi ? ● bénéficier des snapshots au niveau du fs VM VM VM VM VM VM VM LVM Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 VM VM VM VM VM VM VM VM VM VM VM LVM Architecture de serveurs virtualisés pour la communauté mathématique 13 / 47 Backups ● backups des data ● backup des systèmes des VM ● backup des containers Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 Architecture de serveurs virtualisés pour la communauté mathématique 14 / 47 Backup des data ● backup du serveur NFS ● intégré au système de backup général ● archivage daily, weekly, monthly VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM NFS VM VM VM NFS backup + archivage Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 Architecture de serveurs virtualisés pour la communauté mathématique 15 / 47 Backup des systèmes ● systèmes sauvegardes via chaque VM ● intégré au système de backup général des serveurs ● archivage daily, weekly, monthly VM VM VM VM VM VM VM VM VM Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 VM VM VM VM VM rsync (backup + archivage) VM VM VM VM rsync (backup + archivage) Architecture de serveurs virtualisés pour la communauté mathématique 16 / 47 Backup des containers ● sauvegardés 1 fois par mois ● sur le second host ● sans archivage rsync (mensuel) VM VM VM VM VM VM VM LVM Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 VM VM VM VM VM VM VM VM VM VM VM LVM Architecture de serveurs virtualisés pour la communauté mathématique 17 / 47 Backup des containers processus : pause de toutes les VM (virsh suspend) ● snapshot LVM du LV contenant les disques (lvcreate --snapshot) ● redémarrage de toutes les VM (virsh resume) ● rsync des disques du snapshot sur l'autre hyperviseur (rsync) ● suppression du snapshot LVM (lvremove) ● rsync des définitions de VM (.xml) Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 Architecture de serveurs virtualisés pour la communauté mathématique 18 / 47 moins d'1 sec ● Reprise d'activités ● démarrer la VM sur l'autre hyperviseur ● restauration du dernier backup du système (backup) ● reboot VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM rsync (restauration) NFS Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 NFS Architecture de serveurs virtualisés pour la communauté mathématique 19 / 47 La PLM Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 Architecture de serveurs virtualisés pour la communauté mathématique 20 / 47 ● ● Plate-forme en ligne pour les mathématiques ● infrastructure répartie géographiquement ● utilisée par 61 laboratoires (2168 utilisateurs) 4 sites techniques (Bordeaux, Lille, Angers et Lyon) ● 8 hyperviseurs sous CentOS 6 ● 50 VM Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 Architecture de serveurs virtualisés pour la communauté mathématique 21 / 47 Les services ● serveurs de licences logicielles ● proxy de consultation des revues scientifiques en ligne ● un annuaire de la communauté mathématique française ● gestion de noms de domaine (math.cnrs.fr, ● messagerie (@math.cnrs.fr) ● outils de production et d'organisation personnelle (webmail, agenda, carnet d'adresses) ● serveurs interactifs, de calcul ● outils de travail collaboratif (hébergement web, listes de diffusion, partages réseaux, subversion, web-conférence) resinfo.org, etc.) Historique ● initialement sous VMware server 1.x ● 2009-2011 : migration vers KVM ● 2012 : normalisation de l'infrastructure Pourquoi migrer, pourquoi KVM ? ● ● VMware 1.x ● fin de vie de VMware Server 1.x (2009) ● 1 petit bug jamais résolu au niveau des snapshots VMware 2.x ● pas de console native – ● console via un navigateur web KVM ● opensource ● bien supporté par RedHat (-> natif dans CentOS) ● communauté très active, développement rapide Bilan ● meilleures performances ● installation + facile ● intégré à la distribution CentOS ● rien à recompiler à chaque nouveau kernel ● pas de tools à installer sur les VM 2012 : la normalisation ● simplifier au maximum ● ● ● supprimer les dépendances entre sites dissocier les fonctions ● virtualisation ● stockage ● backup et archivage sur chaque site : ● banaliser les hyperviseurs ● support d'un nombre quelconque d'hyperviseurs 2012 : la normalisation ● ● 1 site = ● n hyperviseurs banalisés ● 1 serveur NFS ● 1 serveur pour PRA (miroir du serveur NFS) ● 1 vrai réseau interne privé physique 1 VM = ● 1 interface réseau interne NATée (ntp, dns, dhcp, NFS, log, ssh d'admin, system update) ● 1 interface publique si le service rendu est public ● déplaçable d'un hyperviseur à l'autre ● configuration gérée par Puppet ● 1 nouveau site pour le backup délocalisé (Grenoble) site de la PLM réseau public VM VM VM VM VM VM VM VM VM VM VM VM hyperviseur KVM hyperviseur KVM VM VM VM hyperviseur KVM NAT réseau interne serveur NFS Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 serveur NFS miroir Architecture de serveurs virtualisés pour la communauté mathématique 29 / 47 Principe #1 : les data ● data = homedir, mailboxes, htdocs, etc. ● aucun gros volume de données dans les containers ● exportées via NFS depuis un serveur physique dédié VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM NFS Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 Architecture de serveurs virtualisés pour la communauté mathématique 30 / 47 Principe #2 : VM et containers les VM et leurs containers sont sur LVM exporté par NFS VM non attachée à l'hyperviseur (déplaçable) VM VM VM VM VM VM VM NFS Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 VM VM VM VM VM VM LVM VM LVM VM LVM NFS Architecture de serveurs virtualisés pour la communauté mathématique 31 / 47 Trafic NFS ● pour minimiser le trafic NFS ● pas de log en local sur les VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM syslog Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 Architecture de serveurs virtualisés pour la communauté mathématique 32 / 47 Backups ● backups des data ● backup des systèmes des VM ● backup des containers Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 Architecture de serveurs virtualisés pour la communauté mathématique 33 / 47 Backup data + backup systèmes ● backup du serveur NFS (backupPC) VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM backupPC Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 Architecture de serveurs virtualisés pour la communauté mathématique 34 / 47 Backup des containers ● miroir avec DRBD VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM NFS DRBD Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 Architecture de serveurs virtualisés pour la communauté mathématique 35 / 47 Plan de Reprise d'Activité VM VM VM VM VM VM VM VM VM VM VM VM data VM VM VM containers DRBD Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 Architecture de serveurs virtualisés pour la communauté mathématique 36 / 47 Plan de Reprise d'Activité VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM NFS DRBD Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 Architecture de serveurs virtualisés pour la communauté mathématique 37 / 47 Exemple : l'hébergement web ou comment la virtualisation peut améliorer les perfs Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 Architecture de serveurs virtualisés pour la communauté mathématique 38 / 47 ● 70 sites web ● sites statiques, CMS (SPIP, drupal, etc.) ● quelques sites gourmands en ressources ● ● générateurs d'images à la volée quelques sites très fréquentés Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 Architecture de serveurs virtualisés pour la communauté mathématique 39 / 47 Architecture initiale ● 1 front-end + 1 back-end ● 1 site = 1 virtual host ● 10 disques virtuels de 4Go nagios apache http ssh apache http rprox /home1 /home2 /home3 http ssh /htdocs1 /htdocs2 /htdocs3 /htdocs4 /htdocs5 cms apache / mysql / sshd hyperviseur VMware Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 Architecture de serveurs virtualisés pour la communauté mathématique 40 / 47 Architecture initiale ● monolithique : 1 site peut impacter la performance des autres ● gros disques virtuels (4Go) : lourd à gérer nagios apache http ssh apache http rprox /home1 /home2 /home3 http ssh /htdocs1 /htdocs2 /htdocs3 /htdocs4 /htdocs5 cms apache / mysql / sshd hyperviseur VMware Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 Architecture de serveurs virtualisés pour la communauté mathématique 41 / 47 Achitecture actuelle ● RAM de chaque webxx : 2Go ● granularité CPU / IO / RAM ● plusieurs versions possibles (php, etc.) apache db web01 apache http rprox mysql web02 http web03 web04 web05 ssh /ht do cs cms sshd hyperviseur KVM Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 /h /ht ome do cs DRBD Architecture de serveurs virtualisés pour la communauté mathématique 42 / 47 Le projet PLACO Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 Architecture de serveurs virtualisés pour la communauté mathématique 43 / 47 Architecture de PLACO ● générateur de plates-formes collaboratives ● les services : ● listes de diffusion (sympa) ● environnement personnel (horde) – agenda, carnet d'adresse, webmail ● hébergement web (apache) ● partage réseau (apache webdav) ● versionning (subversion) ● base d'authentification unique : OpenLDAP ● 2 hyperviseurs possibles : Xen et KVM ● 2 OS possible : Debian et CentOS Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 Architecture de serveurs virtualisés pour la communauté mathématique 44 / 47 Plateforme collaborative générée apache db web apache http rprox mysql ldap http subversion sympa hyperviseur Xen ou KVM Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 Architecture de serveurs virtualisés pour la communauté mathématique 45 / 47 Mode d'emploi ● installer le générateur # wget --no-check-certificate -P /tmp https://svn.math.cnrs.fr/placodev/tags/stable/install.sh # . /tmp/install.sh ● créer une plate-forme minimale (annuaire+reverse proxy) # placosh init_platform ● personnaliser (ajout de guests) apache # placosh install_sympa db web # placosh install_web_hosting apache http rprox mysql ldap http subversion sympa # placosh install_svn ... hyperviseur Xen ou KVM Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 Architecture de serveurs virtualisés pour la communauté mathématique 46 / 47 En savoir plus... http://placodev.mathrice.fr Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012 Architecture de serveurs virtualisés pour la communauté mathématique 47 / 47