Administrer une grappe de calcul Jean Parpaillon INRIA-IRISA PARIS Team
Sommaire Présentations Modèles de déploiement Problématique Par image Par description «Diskless» Performances Quelques outils Récapitulatif 2
Présentations 3
Présentations IRISA-INRIA 1975 : IRISA à Rennes Mars 2007 : 624 personnes/30 équipes 1967 : IRIA à Rocquencourt 1979 : IRIA devient INRIA 2007 : 3700 personnes sur 6 centres 2200 permanents 1000 doctorants Formation par la recherche Transfert industriel 4
Présentations Équipe PARIS Programmation des systèmes parallèles et distribués pour la simulation numérique à grande échelle Responsable scientifique : Thierry Priol Intergiciels de grilles Gestion de données sur grilles Modèles de programmation avancés pour grilles Infrastructure expérimentale de grille : Grid5000 Systèmes d'exploitation pour grilles et grappes Kerrighed (Single System Image) [1] [2] Projet Européen XtreemOS (OS pour grilles) 5
Présentations Infrastructure Projet Kerrighed Mini-grappes de 4 portables (dev) Cluster «Beowulf» (40 Pcs) Grid'5000 Rennes 4 grappes hétérogènes (64-99 nœuds) 590 cœurs (Xeon, Opteron) Giga-Ethernet, Myri 10G, Infiniband 10G 6
Présentations Activités Administration grappes Kerrighed Hétérogénéité des plateformes Intégration de Kerrighed Distributions (RPM,.deb) Grid5000 OSCAR (SSI-OSCAR) Projet OSCAR 7
Problématique Beowulf Homogénéité non garantie Support matériel Présence d'une infrastructure NIS, proxy, NFS, etc Avantages : administration limitée Contraintes : pare-feu, gestion des utilisateurs, etc 8
Évaluation des outils Support distributions Support matériel Facilité prise en main Documentation Intégration distributions Performances du déploiement Taille de la grappe Fréquence de déploiement 9
Cycle d'administration Nœud maître Configuration serveur Création d'un système référence Nœud calcul Description du système Création du système Duplication Mise à jour Post configuration Post configuration Mise à jour 10
Configuration serveur Services requis : NFS, TFTP, DHCP, (DNS), (base de données) Mis à jour fréquemment : NFS (répertoires exportés) DHCP Exclusivité des outils de configuration ex.: fichiers générés à partir d'une base de données 11
Déploiement par image (1) (1) Création d'un système de référence (image) Assistée : spécifique à une distribution Sur le serveur (image «chroot») Sur un «golden client» (2) Duplication du système Post-configuration 12
Déploiement par image (2) Avantages Indépendants de l'os Souplesse de configuration Mises à jour centralisées Inconvénients Création de l'image complexe Hétérogénéité logicielle matérielle 13
Déploiement par description (1) (1) Description du système Paquets, configuration des paquets Description de fonctionnalités (2) (3) Installation des nœuds de calcul, d'après description 14
Déploiement par description (2) Avantages Description explicite du système Gestion de parc hétérogène Pas d'image à stocker Inconvénients Lié à un modèle de système (distribution) Nécessite un proxy (dépôts de paquets externes) Mises à jour non centralisées 15
Déploiement sans disque (1) (1) Création d'un système de référence (image) Voir déploiement par image Ajout spécificités : ramdisk, scripts init, etc. (2) Partage de l'image (3) Démarrage des nœuds 16
Déploiement sans disque (2) Avantages Image : mise à jour centralisée Temps de duplication nul Inconvénients Peu d'outils Fiabilité (serveur fichiers) Performance avec grosses grappes 17
Performances Déploiement d'un seul nœud Dépend du modèle de déploiement Passage à l'échelle Limitation du réseau Limitation du serveur 18
Déploiement d'images 19
Caractéristiques Développé à l'id-imag[3] Utilisé sur Grid'5000 Déploiement d'images pas de création d'image post-configuration Multi plate-forme : Linux (toutes distributions), Solaris, Windows 20
Performances (1) Déploiement en «pipeline» (1) Le nœud 1 reçoit les données du serveur (2) Le nœud n reçoit les données du nœuds n-1 Très bonnes performances sur un réseau plat Bonnes performances sur un réseau hiérarchisé Pas de multicast 21
Performances (2) «Measurement of performances of the kadeploy tool», Julien Leduc [4] 22
Utilisation Installation manuelle : pas de paquets création d'une base de données kaaddnode/kadelnode : ajout/retire des nœuds du système karecordenv : enregistre une image kadeploy : déploit une image kaconsole : accède à une console d'un nœud du cluster kareboot : effectue un redémarrage soft/hard 23
[5] Caractéristiques Déploiement d'images Création d'images avec RPMs : SystemInstaller Réplication d'un «Golden Client» Post-configuration : SystemConfigurator ramdisk, bootloader paramètres réseau paramètres localisation Base pour OSCAR 24
Performances Plusieurs modes de transport rsync multicast BitTorrent Voir [6] 25
Utilisation Paquets disponibles : RPM, Debian Configuration du serveur (PXE, DHCP) si_mkbootserver si_mkdhcpserver Création de l'image : SystemInstaller/Golden Client Post-configuration : /etc/systemconfigurator/systemconfig.conf Moniteur d'installation 26
Création d'image - Autres Utilisation d'outils spécifiques aux distributions Debian : debootstrap RedHat-like : yum SuSe : YaST installroot 27
Les outils des distributions 28
FAI (Fully Automatic Install)[6] Fournit avec Debian Définition de classes cfengine Très souple Complexe à configurer Version Solaris non maintenue 29
Debian preseeding[8] Déploiement de référence Debian Fichier preseeding contient liste de paquets valeurs de configuration Fichier preseeding accessible en http URL en bootparam URL donnée par DHCP 30
Kickstart Déploiement automatisé de RedHat/Fedora/CentOS Fichier kickstart contient liste de paquets valeurs de configuration Fichier Kickstart accessible par NFS, HTTP, local (floppy, CDROM, hd,...) URL en bootparam URL par DHCP GUI : Kickstart configurator 31
Wizards 32
[9] Démarré en 2000 Open Cluster Group [10] Présentation Multi-distribution : Debian, RedHat/Fedora/CentOS, Mandriva, SuSe Intégré aux distributions (v.6.0) Architectures : ia64, x86, amd64 33
Caractéristiques Modulaire Déploiement : SystemImager, KaDeploy (prévu), NFSroot (prévu) Système de paquets : RPM, Debian (compilateur de paquets) Interfaces : GUI, ligne de commande Utilisation de noyaux personnalisés (support du matériel) Déploiement d'un SSI (optionnel) : Kerrighed Feuille de route Diskless Grappes virtuelles : Xen, Qemu 34
Utilisation (1) Étapes guidées entièrement graphiques 35
Utilisation (2) Ajout de sources de paquets additionnelles 36
Utilisation (3) Choix des paquets Service mail LAM/MPI MPICH OpenMPI Torque/MAUI Ganglia SSI etc 37
Utilisation (4) Configuration des paquets 38
Utilisation (5) Création de l'image Méthode de déploiement rsync Multicast BitTorrent 39
Utilisation (6) Définition des nœuds de calcul Adresses réseau 40
Utilisation (7) Attribution IP/MAC Configuration du système de démarrage Floppy DHCP 41
Rocks[11] Basé sur Kickstart Installation serveur/nœuds de calcul guidée Fourni avec OpenMPI, mpich GridEngine Ganglia Performance : envoi des paquets par BitTorrent 42
Diskless 43
NFSRoot Image utilisée par les nœuds de calcul sans déploiement Voir sections précédentes pour création d'image Choix du partitionnement / partagé /tmp et /var en ramfs Modification des scripts init Pas d'outil dédié Debian : nfsbooted 44
Récapitulatif KaDeploy image Configuration Création serveur image Distributions non non * SystemImager image oui oui (RPM) * FAI description non - Debian Debian pre-seed description non - Debian Kickstart description non - RedHat Rocks description (wizard) oui - RedHat OSCAR description (wizard) oui - beaucoup Mandriva Clic description (wizard) oui - Mandriva Clic NFSroot diskless non - * Outil Type 45
Bibliographie [1] Site web projet Kerrighed, http://kerrighed.org/ [2] Société Kerlabs, http://kerlabs.com/ [3] KaDeploy, http://kadeploy.imag.fr/ [4] «Measurement of performances of the KaDeploy tool», Julien Leduc, http://www.grid5000.fr/mediawiki/index.php/special:g5kexperiments?menu=renderexperimen [5] SystemImager, http://wiki.systemimager.org/ [6] «SystemImager and BitTorrent: a peer-to-peer approach for Large-Scale OS Deployment», Brian Elliott Finley, Erich Focht, Bernard Li, Andrea Righi, http://download.systemimager.org/pub/docs/systemimager-linuxtag-2007-paper.pdf [7] Fully Automatic Install, http://www.informatik.uni-koeln.de/fai/ [8] Debian pre-seeding, http://wiki.debian.org/debianinstaller/preseed [9] OSCAR, http://svn.oscar.openclustergroup.org/ [10] Open Cluster Group, http://openclustergroup.org/ [11] Rocks, http://rockscluster.org/ 46