Datagrid WP4: Fabric Management Enrico Ferro - LNL E, Ferro 09/05/2002 Sommario E. Ferro 09/05/2002 Datagrid WP4: overview WP4, Installation & Configuration subtask: overview LCFG Sviluppi futuri 2 Datagrid Il progetto è diviso in “Work Packages”: – WP1: Workload Management – WP2: Data Management – WP3: Monitoring Services – WP4: Fabric Management – WP5: Mass Storage Management – WP6: Testbed – WP7: Network – WP8-10: Applications La durata complessiva è di 3 anni (2001-2003). Milestones: month 9 (Sept 2001), month 21 (Sept 2002), month 33 (Sept 2003) E. Ferro 09/05/2002 3 WP4: obiettivi e organizzazione “Aims to deliver a computing fabric comprised of all the necessary tools to manage a centre providing Grid services on clusters of thousands of nodes” Si tratta di strumenti orientati ad una gestione della farm – totale – centralizzata WP4 è diviso in 6 tasks/sottosistemi – Configuration management (CERN + PPARC) – Resource management (ZIB) – Installation & node management (CERN + INFN + PPARC) – Monitoring (CERN + INFN) – Fault tolerance (KIP) – Gridification (NIKHEF) E. Ferro 09/05/2002 4 Architecture overview - Interface between Gridwide services and local fabric; - Provides local Grid User authentication, authorization and mapping of grid credentials. Resource Broker (WP1) Fabric Gridification Data Mgmt - provides transparent (WP2) access to different cluster batch systems; - enhanced capabilities (extended scheduling policies, advanced Local User reservation, local accounting). Resource Management Farm A (LSF) - fault tolerance correlation engines detect failures and trigger recovery actions. Monitoring & Fault Tolerance Configuration Management (WP5) - software repositories; (Mass storage, - Node management to Disk pools) E. Ferro 09/05/2002 - central measurement Mgmt repository Fabric provides health and status view of services and resources; Other Wps Farm B (PBS) - provides the tools to install Grid Data and manage all software running on theStorage fabric nodes; install, upgrade, remove and configure software packages on the nodes. Grid Info Services (WP3) - provides the tools for gathering and storing performance, functional and environmental changes for all fabric elements; User job control Installation & Node Mgmt - provides a central storage and management of all fabric configuration information; - central DB and set of protocols and APIs to store and retrieve information. 5 Installation & Software Mgmt Prototype E' basato su un tool sviluppato all’Università di Edinburgo: LCFG (Large Scale Linux Configuration) Caratteristiche principali: – installazione automatica del S.O. – installazione/upgrade/remove di tutti i pacchetti software (basato su RPM) – gestione centralizzata della configurazione – modulare – estendibile http://www.lcfg.org E. Ferro 09/05/2002 6 LCFG: aggiornamento dei clients XML profiles LCFG Config Files rdxprof daemon rdxprof HTTP +inet.services ftp <inet> +inet.allow ftp sshd Boot Generic Boot <allow cfg:template="allow_$ tag_$ daemon_$"> +inet.allow_ftp 192.135.29. /etc/shadow /etc/services Make XML Profile /etc/group /etc/inetd.conf /etc/passwd Web Server </allow_RECORD> XML Profiles..... .... /etc/hosts.allow mickey:x:999:20::/home/Mickey:/bin/tcsh in.telnetd : 192.168., 192.135.30. .... in.ftpd : 192.168., 192.135.30. Server Component Component Component <allow_RECORD cfg:name="ftp"> +inet.allow_sshd 192.135.29. <allow>192.135.30.</allow> +inet.daemon_sshd yes inet auth ..... +auth.users Local cache mickey Components </auth> +auth.userhome_mickey /home/mickey <user_RECORD cfg:name="mickey"> +auth.usershell_mickey /bin/tcsh <userhome>/home/MickeyMouseHome</userhome> Clients <usershell>/bin/tcsh</usershell> Abstract configuration parameters for all nodes stored in a central repository E. Ferro 09/05/2002 </user_RECORD> A collection of agents read configuration parameters and either generate traditional config files or directly manipulate various services 7 LCFG: come funziona il client All'avvio, viene caricato un demone (rdxprof) che resta in ascolto su una porta UDP. Inoltre un componente "master" (boot) esegue tutti i componenti di LCFG. Quando e' notificato un cambiamento della configurazione dal server, se necessario viene riscaricato il profilo (=documento XML con la configurazione completa del nodo) via HTTP Una volta ricevuto il profilo XML, viene salvato su una cache locale e sono riattivati i componenti la cui configurazione è mutata E' anche possibile che i clients interroghino periodicamente il server (polling) Ci sono componenti non supportano la possibilità di riconfigurarsi "a caldo" (es. modifica partizioni) E. Ferro 09/05/2002 8 Cos’e’ un componente LCFG? È uno script shell/PERL Ciascun componente fornisce un certo numero di “metodi” (start, stop, config,...) che sono invocati al momento opportuno (all'avvio del sistema, in fase di shutdown, in caso di cambiamento della configurazione, etc...) Accede alla cache locale contenente la configurazione del nodo Configura gli opportuni servizi, traducendo i parametri di configurazione in normali files di configurazione (es. inetd.conf) oppure gestendo direttamente i demoni E. Ferro 09/05/2002 9 LCFG: componenti custom LCFG mette a disposizione i componenti per gestire tutti i servizi standard di una macchina: inet, syslog, nfs, cron, ... Un amministratore può creare nuovi componenti custom per configurare e gestire le applicazioni nei propri sistemi: – definisce i nomi e la struttura gerarchica dei propri parametri di configurazione in un file .def (le informazioni da aggiungere al profilo XML) – crea il componente (è uno script); deve includere il componente “generic”, nel quale sono definite delle funzioni comuni (accesso ai dati, log, messaggi standardizzati, ...) – ridefinisce i "metodi" vuoti (start, stop, config, ...) con il proprio codice e utilizzando i servizi offerti da "generic" E. Ferro 09/05/2002 10 LCFG: node installation procedure Root Image with LCFG environment DHCP Server IP address Config URL LCFG Config XML Files Profiles LCFG Server LCFGboot Components: First via floppy Load minimal config Root Image complete Load complete orwith via network disk partitioning, network,... After reboot LCFG data via DHCP: LCFG configuration via components installation of required environment Initialization script IPcomplete Address, Gateway, HTTP packages the mounted via node NFS starts LCFG server URL copy configuration of LCFG configuration WEB Server Software Packages reboot NFS Server Software Repository Client Node E. Ferro 09/05/2002 11 LCFG: pro & contro Pro: – In uso da anni in un ambiente complesso ed eterogeneo, con centinaia di nodi da gestire, dal cluster ai notebook – Supporta la completa installazione e gestione di tutto il software (sia O.S. che applicazioni) – Molto flessibile, estendibile e customizzabile Contro: – Complesso: curva di apprendimento iniziale ripida – Manca monitoraggio centralizzato in caso di problemi sui client (es. un componente non riesce a killare un demone) – Mancanza di tools user-friendly per la creazione e gestione dei files di configurazione (ed eventuali errori possono essere molto pericolosi!). – Il software da installare deve essere in formato RPM E. Ferro 09/05/2002 12 Sviluppi futuri Nuova versione di LCFG (fine maggio) Linguaggio di alto livello per la configurazione (attualmente è descritta con semplici coppie nome+valore), check più rigorosi sulla consistenza della configurazione Miglioramento del supporto a RPM Integrazione con software del Monitoring Subtask di WP4 Scalabilità Passaggio ad HTTP per la distribuzione dei package da installare (attualmente NFS) Installazione con PXE Installazione con tools RedHat (kickstart files) E. Ferro 09/05/2002 13