Comments
Description
Transcript
Data Management System
Trinacria Grid Virtual Laboratory Data Management System gLite – LCG Salvatore Scifo INFN Catania Primo Grid Tutorial Catania, 14-15 Marzo 2006 University of Coimbra www.trigrid.it FESR Sommario • Introduzione al Data Management System • Obiettivi e sfide della Gestione dei Dati • Spazio dei nomi e convenzioni in ambiente GRID • Storage Element (tipologia e interfacce) • Gestione dei dati con il middleware LCG-2 • Gestione dei dati con il middleware gLite 1.4 Catania, Primo Grid Tutorial, 14.03.2006 2 Introduzione (I) • Il Sistema di Gestione dei Dati (DMS) è il sottosistema del middleware GRID dedicato alla manipolazione dei dati. • Le funzionalità offerte sono comunissime all’esperienza di ognuno di noi: – – – – – – – Upload/Download di file Creazione di file/directory Rinominazione di file/directory Cancellazione di file/directory Trasferimento file/directory Visualizzazione directory Creazione di link simbolici • I servizi del DMS vengono esportati tramite specifiche interfacce ai servizi GRID e tramite API per lo sviluppo di applicazioni. Catania, Primo Grid Tutorial, 14.03.2006 3 Introduzione (II) • In ambiente GRID i dati possono essere replicati in locazioni differenti a seconda delle applicazioni che devono utilizzarli • L’utente non ha bisogno di sapere dove un file è conservato fisicamente, l’unica cosa che serve è il Logical File Name (LFN). • DMS lavora con i file: – Ia semantica dei file è ben conosciuta da ognuno di noi nella comune esperienza quotidiana (*.doc, *.ppt, *.txt) – un file è la più fine granularità dei dati. – una ragione storica: le prime due organizzazioni virtuali ad usare Grid (HEP – High Energy Physics e Biomedical) hanno cominciato conservando le informazioni proprio nei file. Catania, Primo Grid Tutorial, 14.03.2006 4 DMS – Obiettivi • Il Data Management System fornisce due principali funzionalità: – File Management – Metadata Management • Un file rappresenta la granularità più fine dei dati • Metadati sono dati che descrivono dati File Management Metadata Management •storage (save, copy, read, list, …) •movement (replica, transfer, ….) •security (access control, ….); •cataloguing •secure database access •database schema virtualization Catania, Primo Grid Tutorial, 14.03.2006 5 DMS – Grid Data Management Challenge NEEDS Requirements LCG gLite Eterogeneità: I dati sono conservati in diverse tipologie di “storage device” ognuno con la propria tecnologia di accesso. Una interfaccia comune per l’accesso alle risorse che mascheri la complessità dei “device” fisici adottati. SRM come interfaccia per RFIO + dCAP (local access) SRM come interfaccia per RFIO + dCAP (local access) gLite File I/O Server Distribuzione: I dati si trovano in locazioni differenti e nella maggior parte dei casi non esiste un “file system” condiviso ne uno spazio dei nomi comune. Una visione uniforme dello storage distribuito. LFC (LCG File Catalog) File Catalog Replica Catalog Metadata Catalog Storage Index Recupero dati: Le applicazioni si trovano in locazioni differenti rispetto ai file che devono essere usati come input. I dati devono essere accessibili indipendentemente dalla loro posizione fisica. GFAL come interfaccia per RFI/O + dCap (remote access) gLite File I/O Server POSIX-Like Library C’è bisogno di “schedulare” la disponibilità dei file al momento del loro utilizzo. GSIFTP File Transfer Service Servizio di controllo d’accesso centralizzato. Secure RFIO File Authorization Service Securezza: I dati devono essere gestiti in accordo con le regole di controllo d’accesso della Organizzazione Virtuale di appartenenza. Tenere traccia delle locazioni dei file all’interno dello storage distribuito. dCAP (gsi compliant) Catania, Primo Grid Tutorial, 14.03.2006 6 File Naming (I) • LFN – Logical File Name – – – – Identificativo logico (human readable) di un file LFN è unico ma mutabile nel tempo Lo spazio dei nomi per gli LFNs è globale e gerarchico per singola VO Sintassi : lfn:<anything_you_want> lfn:/home/gilda/catania/tutorial.txt • GUID – Grid Unique Identifier – Identificativo logico di un file – Unico per construzione (basato sulle specifiche UUID). GUID ed LFN sono associati in una relazione di tipo 1:1 – Sintassi : guid:<40_bytes_unique_string> guid:38ed3f60-c402-11d7-a6b0-f53ee5a37e1d Catania, Primo Grid Tutorial, 14.03.2006 7 File Naming (II) • SURL – Site URL – È utilizzato dallo SRM per identificare i file replicati in uno SE. – GUID e SURLs sono associati in una relazione 1:n. – Sintassi : sfn://<SE_hostname><SE_Accesspoint><VO_path><filename> srm://egee016.cnaf.infn.it:8443/srm/managerv1?SFN=/dpm/cnaf.infn.it/hom e/gilda/catania/tutorial.txt • TURL – Transport URL – È un normalissimo URL utilizzato per trasferire file mediante un qualunque protocollo di trasferimento standard. – Sintassi: <protocol>://<some_string> gsiftp://tbed0101.cern.ch/flatfiles/SE00/dteam/generated/2004-0226/file3596e86f-c402-11d7-a6b0-f53ee5a37e1d Catania, Primo Grid Tutorial, 14.03.2006 8 Relazioni logiche tra i nomi dei file • La seguente tabella mostra le relazioni tra i nomi dei file nell’ambiente GRID: – – – – – GUID e LFN 1:1 (gLite middleware) GUID e LFN 1:N (LCG middleware) LFN e Symbolic Link 1:N GUID e SURL 1:N SURL e TURL 1:1 • Nota: gli Alias sono permessi nel LCG middleware, quindi uno GUID è referenziato da ‘N’ LFNs. Symbolic Link 1 . . LFN LFN TURL 1 . . . . Physical File SURL n TURL n GUID Symbolic Link n File Catalog Physical File SURL 1 (Aliasing) SRM Catania, Primo Grid Tutorial, 14.03.2006 9 DMS – Access File Protocols • File Access – RFIO remote file I/O (sviluppato per Cern Advanced STORage devices) – GSIDCAP – GSI dCache Access Protocol • GFAL – Grid File Access Library – maschera le iterazioni tra RFIO and DCAP e si presenta come una interfaccia Posix-Like per le operazioni di I/O remote – RFIO e GSI DCAP sono utilizzati sia per l’accesso ai file locale che remoto, (es: il workernode utilizza GFAL per lavorare sui file da remoto) • Transfer – GSIFTP è il protocollo di trasferimento più usato ed è supportato da ogni SE Protocol Type Security GSIDCAP – GSI dCache Access Protol (Access Protocol for dCache devices) File I/O GSI enabled RFIO - Remote File I/O (Access Protocol for CASTOR devices) File I/O Secure + Insecure GSI FTP File Transfer GSI enabled Catania, Primo Grid Tutorial, 14.03.2006 10 DMS - Storage Resource Manager • SRM è stato sviluppato come unica interfaccia per la gestione di dischi e sistemi di storage a tape. • SRM è una collezione di protocolli di accesso nativi dipendenti dal sistema di storage. • SRM è stato progettato per nascondere la complessità dello storage all’untente finale (sia esso un client tool o un qualunque altro servizio grid). Catania, Primo Grid Tutorial, 14.03.2006 11 Richiesta di file di analisi SRM SRM in un esempio CERN SE dCache FermiLab SE Castor Nikhef SE Classic SE Catania, Primo Grid Tutorial, 14.03.2006 12 DMS - Tipologia di Storage Element (I) • CLASSIC SE – Consiste di un disco fisico o un array di dischi e un server GSIFTP e un insecure RFIO daemon come Front End. – Le uniche funzionalità di sicurezza sono fornite dal GSIFTP server, quindi l’RFIO daemon agisce solo dentro in confini della LAN del sito Grid. – Il Classic SE non supporta l’interfaccia SRM e le più comuni attività di gestione sono delegate all’amministratore dei sito. (Per esempio, l’allocazione di spazio per le VO avviene mediante partizionamento logico del disco.) • dCACHE DISK POOL MANAGER – Consiste di un server dCache e uno o più pool nodes. Il server rappresenta il singolo punto di accesso allo SE e presenta i files contenuti nel pool di dischi sottoforma di un unico file system virtuale. – GSIFTP viene usato per assicurare il trasferimento dei dati e GSIDCAP per favorirne la manipolazione. – dCache espone una interfaccia SRM. I dischi possono essere aggiunti dinamicamente al pool manager in ogni momento. Catania, Primo Grid Tutorial, 14.03.2006 13 DMS - Tipologia di Storage Element (II) • LCG Disk Pool Manager – Alternativa leggera al dCache DPM. Facile da installare e da gestire e, sebbene no è così potente come dCache, rappresenta comunque una buona scelta per siti di piccola taglia. – Viene utilizzato GSIFTP per lo spostamento dei dati e GSIDCAP per la loro gestione. – I dischi possono essere aggiunti dinamicamente al pool manager in ogni momento ed è fornita una interfaccia SRM. – L’allocazione dinamica dello spazio per VOs è supportata. – In una parola, LCG DPM è una ottima soluzione per convertire velocemente un classic SE in un DPM con un solo disco nel pool server. • GILDA test bed provides different SE: – classic SE (grid009) – dCache DPM (aliserv) – CASTOR is coming soon Catania, Primo Grid Tutorial, 14.03.2006 14 DMS - Tipologia di Storage Element (III) • MSS - MASS STORAGE SYSTEM – MSS è uno Storage Management System Gerarchico utilizzato per file che devono essere trasferiti da un front end di dischi ad un back end costituito da nastri magnetici. – Il processo che si occupa della migrazione asincrona di file si chiama STAGER. – MSS fornisce GSIFTP come protocollo di trasferimento e insecure RFIO per sistemi CASTOR oppure GSICAP per sistemi dCache come interfaccia di accesso ai file. – LCG supporta solo una interfaccia SRM per CASTOR MSS, quindi, ogni sito GRID dovrebbe provvedere alla interfaccia SRM per il proprio eventuale MSS diverso da CASTOR. Catania, Primo Grid Tutorial, 14.03.2006 15 DMS in LCG-2 • I file sono conservati nello Storage Element (SE) • Il Catalog Service è fornito per la gestione delle repliche dei file su differenti SEs. • L’utente può interagire con i Data Management Services attraverso appositi Client Tools. • Non esiste alcuna politica per definire un file volatile piuttosto che permanente; tutti i file sono considerati per default permanenti e la loro gestione è sotto la piena responsabilità dell’utente. Catania, Primo Grid Tutorial, 14.03.2006 16 LGG-2 File & Replica Catalog (I) • Utenti e applicazioni necessitano di localizzare i files (o replica) sull’intera Grid. Il File Catalog è il servizio che permette questa caratteristica mantenendo il “mappings” (relazioni) tra LFNs, GUIDs e SURLs. • In LCG-2, le operazioni di catalogazione dei file sono implementate dal LFC (LCG File Catalog); esso è il migliore sostituto per il meno recente RLS (Replica Location Server). Catania, Primo Grid Tutorial, 14.03.2006 17 LGG-2 File & Replica Catalog (II) • Il passato – RLS è il primo catalogo usato in LCG middleware – Composto da due sotto servizi: LRC (Local Replica Catalog) che mappa gli LFN con gli GUID e il RMC (Replica Metadata Catalog) che mappa i GUID con gli SURLs. • Il presente – LFC è distribuito come servizio centralizzato ed il suo endpoint è pubblicato sul Information Service al fine di essere rintracciabile sia dai DMS tools quanto da ogni altro servizio GRID interessato. • Nota1: un endpoint è semplicemente l’URL del servizio. • Nota2: I due cataloghi non sono sincronizzati; se in un sito coesistono entrambi RLS ed LFC è solamente responsabilità dell’utente assicurare la consistenza delle entries nei due differenti cataloghi. Catania, Primo Grid Tutorial, 14.03.2006 18 LGG-2 File & Replica Catalog (III) • LFC è stato sviluppato per migliorare le performance e la sicurezza, ma sono state aggiunte altre funzionalità quali transazioni, roll-back e spazio dei nomi gerarchico per gli LFNs. • LFC supporta la gestione dei metadati – i metadati di sistema vengono gestiti pienamente – la gestione dei metadati per l’utente è molto ristretta (una singola stringa testuale è permessa). – nel middleware gLite tale situazione si è nettamente evoluta, (si rimanda a FiReMan e AMGA per più dettagli). • Come l’utente può interagire con LCG DMS? – Sono disponibili due tipologie di strumenti: high level tools (lcgutils o lgc-* commands) e low level tools (edg-gridftp-* o globus-url-copy). Catania, Primo Grid Tutorial, 14.03.2006 19 DMS in gLite 1.4 middleware • Le funzionalità del Data Management System sono fornite da un set of web services che rispettano una service oriented architecture (SOA). • L’architettura rispetta 4 parole chiave: – – – – Interoperabilità Portabilità Scalabilità Modularità • Il Data Management System di gLite è composto da tre moduli principali: Storage Element, Catalog e File Transfer Service. Catania, Primo Grid Tutorial, 14.03.2006 20 DMS – Architettura in gLite (I) • Lo Storage Element ha in carica la gestione della conservazione permanente dei dati. • Sono fornite due interfacce: – Storage Resource Manager (SRM) Per dialogare con i Mass Storage System presenti. – gLite File I/O server: Una interfaccia unica per accedere allo SRM e/o al catalogo Fornisce una POSIX-like (Portable Operating System Interface) File I/O API per permettere agli utenti l’implementazione delle proprie applicazioni client. • Il Catalogo mantiene traccia della posizione dei file all’interno del file system distribuito e conserva qualunque tipo di informazione aggiuntiva su tali files. • Il File Transfer Service abilita la GRID a spostare file da/a un sito all’altro. Catania, Primo Grid Tutorial, 14.03.2006 21 DMS – Architettura in gLite (II) Data Management System Storage Element FTS (File Transfer Service) FPS (File Placememt Service) Data Scheduler Storage Storage Storage Storage Storage Mass Storage System Storage Glite I/O Server SRM (Storage Resource Manager) TA (Transfer Agent) FTL (File Transfer Library) Combined Catalog File Catalog Replica Catalog Metadata Catalog Data base Back End RDBMS RDBMS RDBMS RDBMS RDBMS RDBMS Catania, Primo Grid Tutorial, 14.03.2006 22 gLite File I/O at work GUID o LFN vengono risolti nel SURL corretto, il quale è utilizzato dal local SRM per accedere al file. I/O client library API accetta in input sia LFN che GUID. LFN o GUID vengono presentati al I/O server. Worker node Storage Element SRM Client 1. Ask for the file by GUID/LFN IO Server 3. Access the file by SURL Il File Authorization Service controlla se l’utente possiede i corretti diritti di accesso al file desiderato. 2. Check for the right access Combined Catalog (FAS) Resolve LFN to GUID File Catalog Resolve GUID to SURL Replica Catalog Resolve GUID to Metadata Metadata Catalog Catania, Primo Grid Tutorial, 14.03.2006 24 gLite - File Transfer Service (I) Co-location • Grid assume che i dati devono stare insieme alle applicazioni che li usano. Questa assunzione implica la coschedulazione dei dati al momento dell’esecuzione del job associato affinchè essi siano effettivamente dispobibili. Paradigma • Lo SE di destinazione è sempre lo SE locale, lo SE sorgente può stare all’interno o all’esterno dei confini del sito. • Logicamente, per ogni SE esiste un File Transfer Service che controlla tutto il flusso di dati proveniente da altri SEs. Catania, Primo Grid Tutorial, 14.03.2006 25 gLite – File Transfer Service (II) • Il processo di trasferimento dei file coinvolge tre moduli differenti: • Data Scheduler – è responsabile della schedulazione dei dati e tiene traccia del trasferimento di dati tra diversi sites. • File Placement Service – Interroga continuamente il Data Scheduler per individuare tutte le richieste di trasferimento la cui destinazione è lo storage element locale per una data VO; – Tali richieste vengono inserite in una Queue di lavoro locale. – FPS provvede allo spostamento dei dati preoccupandosi di mantenere la consistenza tra il File Catalog e il Replica Catalog. • Transfer Agent – Gestisce lo stato di ogni trasferimento. Esso utilizza la File Transfer Library (transfer tool di basso livello) per eseguire il trasferimento fisico. Catania, Primo Grid Tutorial, 14.03.2006 26 gLite – Catalog services • Il catalogo si preoccupa della organizazione dei file nello SE. • Il requisito di ubiquità è soddisfatto dal meccanismo di replica dei file su più siti GRID. • Il catalog contiene anche le informationi necessarie all’accesso autorizzato ai files conservati nello SE. • Ancora, il catalogo gestisce le relazioni tra the LFN, (fornito dall’utente al momento della creazione), e GUID, (creato da GRID); e tra il GUID e i vari SURLs (identificatori dei diversi replica file). Catania, Primo Grid Tutorial, 14.03.2006 28 Tipi di Catalogo (I) • File Catalog – Permette le operazioni sullo spazio dei nomi logici (LFN) Creazione di directory Rinominazione di file Creazione di link simbolici – Mantiene le relazioni LFN-GUID • Replica Catalog – Fornisce le operazioni riguardanti gli aspetti della replica Lista di tutte le repliche di un file, Aggiunta di una replica Rimozione di una o tutte le repliche – Mantiene le relazioni GUID-SURL • Storage Index – Favorisce le interazioni con il WMS, (per esempio: localizzazione dei file per il Resource Broker) Catania, Primo Grid Tutorial, 14.03.2006 30 Catalog types (II) • Metadata Catalog – Permette di collezionare e conservare informazioni che descrivono i file contenuti nello SE. – Fornisce strumenti per interrogare e manipolare i metadati conservati. • Combined Catalog – Mantiene traccia di tutte le operazioni che vengono eseguite attraverso cataloghi di diverso tipo al fine di mantenere la coerenza e la sincronizzazine tra di essi • FileReplicaManager – È l’implementazione del catalogo combinato adottato in gLite. – Implementa il File Catalog, il Replica Catalog e il Metadata Catalog. – FiReMan implementa anche l’interfaccia StorageIndex, per il job matchmaking process. Catania, Primo Grid Tutorial, 14.03.2006 31 gLite - File Authorization Service • Uso dei servizi Grid – I servizi Grid condividono tutti la stessa infrastruttura di sicurezza. Tutti gli utenti devono acquisire delle credenziali X.509 dalla propria Certificate Authority (CA). – Chiunque voglia accedere a qualunque servizio Grid deve essere registrato ad una Virtual Organization la quale gli permetterà di utilizzare la Grid in accordo con la politica di controllo d’accesso adottata. – DMS controlla l’accesso ai file basandosi sul meccanismo delle Access Control Lists (ACLs). – Prima di accedere ai file un utente deve richiedere al VOMS (Vitual Organization Membership Service) uno short-live proxy il quale contiene, (oltre alle credenziali per l’autenticazione), tutti i permessi necessari per l’autorizzazione all’accesso ai file. Catania, Primo Grid Tutorial, 14.03.2006 32 Come interagire con il DMS di gLite • Command Line tools accessibili da una GRID UI (user interface). – Attraverso una Shell di Unix, l’utente può utilizzare i servizi forniti dalla “command line” utilizzando il file system remoto virtuale in una modalità familiare • gLite-I/O API – Per sviluppare applicazioni che si interfacciano allo SE • catalogs API – Per sviluppare applicazioni che si interfacciano al Catalogo Catania, Primo Grid Tutorial, 14.03.2006 33 DMS - Glossary DMS MMS FiReMan SRM FTS PFS ACLs ACE VOMS LFN GUID URL SURL TURL LHC LCG LFC RFIO GSIFTP CASTOR dCAP : Data Management System : Mass Storage System : File Replica Manager : Storage Resource Manager : File transfer service : Placement file Service : Access Control List : Access Control Element : Virtual Organization Membership Service : Logical File Name : Grid Unique Identifier : Universal Resource Locator : Site URL : Transport URL : Large Handron Collider : LHC Computing Grid : LCG File Catalog : Remote File I/O : Grid Security Infrastructure FTP : CERN Advanced Storage Manager : dCache Access Protocol Catania, Primo Grid Tutorial, 14.03.2006 34 References • gLite homepage – • DM subsystem documentation – • http://egee-jra1-dm.web.cern.ch/egee-jra1-dm/doc.htm FiReMan catalog user guide – • http://www.glite.org https://edms.cern.ch/file/570780/1/EGEE-TECH-570780-v1.0.pdf gLite-I/O user guide – https://edms.cern.ch/file/570771/1.1/EGEE-TECH-570771-v1.1.pdf Catania, Primo Grid Tutorial, 14.03.2006 35 Domande… Catania, Primo Grid Tutorial, 14.03.2006 36