Administrer une grappe de calcul - resinfo.cnrs.fr

46
Jean Parpaillon INRIA-IRISA – PARIS Team Administrer une grappe de calcul

Transcript of Administrer une grappe de calcul - resinfo.cnrs.fr

Jean ParpaillonINRIA-IRISA – PARIS Team

Administrer une grappe de calcul

J. Parpaillon - Administrer une grappe de calcul 2

Sommaire

✔ Présentations✔ Modèles de déploiement

✔ Problématique

✔ Par image

✔ Par description

✔ « Diskless »

✔ Performances

✔ Quelques outils✔ Récapitulatif

J. Parpaillon - Administrer une grappe de calcul 3

Présentations

J. Parpaillon - Administrer une grappe de calcul 4

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

J. Parpaillon - Administrer une grappe de calcul 5

Présentations – Équipe PARISProgrammation 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)

J. Parpaillon - Administrer une grappe de calcul 6

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

J. Parpaillon - Administrer une grappe de calcul 7

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

J. Parpaillon - Administrer une grappe de calcul 8

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

J. Parpaillon - Administrer une grappe de calcul 9

É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

J. Parpaillon - Administrer une grappe de calcul 10

Cycle d'administrationNœud maître Nœud calcul

Configurationserveur

Création d'unsystème référence

Description dusystème

Mise à jour

Duplication Création dusystème

Postconfiguration

Postconfiguration

Mise à jour

J. Parpaillon - Administrer une grappe de calcul 11

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

J. Parpaillon - Administrer une grappe de calcul 12

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

J. Parpaillon - Administrer une grappe de calcul 13

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

J. Parpaillon - Administrer une grappe de calcul 14

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

J. Parpaillon - Administrer une grappe de calcul 15

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

J. Parpaillon - Administrer une grappe de calcul 16

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

J. Parpaillon - Administrer une grappe de calcul 17

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

J. Parpaillon - Administrer une grappe de calcul 18

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

J. Parpaillon - Administrer une grappe de calcul 19

Déploiement d'images

J. Parpaillon - Administrer une grappe de calcul 20

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

J. Parpaillon - Administrer une grappe de calcul 21

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

J. Parpaillon - Administrer une grappe de calcul 22

Performances (2)✔ « Measurement of performances of the kadeploy tool », Julien Leduc [4]

J. Parpaillon - Administrer une grappe de calcul 23

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

J. Parpaillon - Administrer une grappe de calcul 24

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

[5]

J. Parpaillon - Administrer une grappe de calcul 25

Performances

✔ Plusieurs modes de transport✔ rsync

✔ multicast

✔ BitTorrent

✔ Voir [6]

J. Parpaillon - Administrer une grappe de calcul 26

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

J. Parpaillon - Administrer une grappe de calcul 27

Création d'image - Autres

✔ Utilisation d'outils spécifiques aux distributions✔ Debian : debootstrap✔ RedHat-like : yum –installroot✔ SuSe : YaST

J. Parpaillon - Administrer une grappe de calcul 28

Les outils des distributions

J. Parpaillon - Administrer une grappe de calcul 29

FAI (Fully Automatic Install)[6]

✔ Fournit avec Debian✔ Définition de classes

✔ cfengine

✔ Très souple✔ Complexe à configurer✔ Version Solaris non maintenue

J. Parpaillon - Administrer une grappe de calcul 30

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

J. Parpaillon - Administrer une grappe de calcul 31

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

J. Parpaillon - Administrer une grappe de calcul 32

Wizards

J. Parpaillon - Administrer une grappe de calcul 33

Présentation

✔ Démarré en 2000✔ Open Cluster Group [10]

✔ Multi-distribution : Debian, RedHat/Fedora/CentOS, Mandriva, SuSe

✔ Intégré aux distributions (v.6.0)✔ Architectures : ia64, x86, amd64

[9]

J. Parpaillon - Administrer une grappe de calcul 34

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

J. Parpaillon - Administrer une grappe de calcul 35

Utilisation (1)

✔ Étapes guidées entièrement graphiques

J. Parpaillon - Administrer une grappe de calcul 36

Utilisation (2)

✔ Ajout de sources de paquets additionnelles

J. Parpaillon - Administrer une grappe de calcul 37

Utilisation (3)

✔ Choix des paquets✔ Service mail

✔ LAM/MPI – MPICH - OpenMPI

✔ Torque/MAUI

✔ Ganglia

✔ SSI

✔ etc

J. Parpaillon - Administrer une grappe de calcul 38

Utilisation (4)

✔ Configuration des paquets

J. Parpaillon - Administrer une grappe de calcul 39

Utilisation (5)

✔ Création de l'image✔ Méthode de déploiement

✔ rsync

✔ Multicast

✔ BitTorrent

J. Parpaillon - Administrer une grappe de calcul 40

Utilisation (6)

✔ Définition des nœuds de calcul✔ Adresses réseau

J. Parpaillon - Administrer une grappe de calcul 41

Utilisation (7)

✔ Attribution IP/MAC✔ Configuration du système de

démarrage✔ Floppy

✔ DHCP

J. Parpaillon - Administrer une grappe de calcul 42

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

J. Parpaillon - Administrer une grappe de calcul 43

Diskless

J. Parpaillon - Administrer une grappe de calcul 44

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

J. Parpaillon - Administrer une grappe de calcul 45

Récapitulatif

Outil Type Distributions

KaDeploy image 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 - *

Configuration serveur

Création image

J. Parpaillon - Administrer une grappe de calcul 46

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=renderexperiment&id=209

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