Tech-Talk: iRods
Transcript of Tech-Talk: iRods
Folie 1
Integrated Rule-Oriented Data System (iRODS)
Tobias Schlauch <[email protected]>
Tech-Talk, DLR Braunschweig, 13.05.2009
Folie 2
EinleitungDefinitionen
Grid
Zusammenschluss verschiedener Systeme in einem virtuellen Netzwerk
Data-Grid
Zugriff auf verteilte Datenressourcen
Daten sind verteilt auf verschiedene administrative Domänen und Speicherressourcen
Schwerpunkt liegt auf der kontrollierten, gemeinsamen Nutzung der Daten
Data-Grid-Management-System
Software-Middleware zum Zugriff auf verteilte Datenressourcen
Folie 3
EinleitungSpezielle Herausforderungen im Data-Grid
Interaktion mit heterogenen Speicherressourcen
Umsetzung der Client-Aktionen auf verschiedene Zugriffsprotokolle
Einheitliche Authentifizierungs- und Zugriffskontrollmechanismen
Umsetzung auf verschiedene Identitätssysteme
Einheitliche Management-Policies
Kontrolle von Datenverwendung, -Verbreitung, -Aufbewahrung, …
Effiziente WAN-Zugriffe
Optimierung des Transfers z.B. für große Dateien, hohe Anzahl kleiner Dateien
Folie 4
iRODSÜberblick
iRODS ist eine Data-Grid-Management-System
Nachfolger des Storage Resource Brokers (SRB)
Erweiterung des SRB um regelbasierte Management-Policies
Kompletter „Re-Write“
Entwicklung durch DICE und internationale Kooperationen
CCIN2P3, eScience, ARCS, Shaman, …
Verfügbar als Open-Source-Software (BSD-Lizenz)
Aktueller Release: 2.0.1
Projektseite: http://www.irods.org/
Folie 5
iRODSKernfunktionalitäten
Organisation verteilter Daten in gemeinsamen Collections
Virtuelles Dateisystem
Verwendung logischer Bezeichner für:
Datenobjekte,
Benutzer & Gruppen
und Speicherressourcen
„Infrastrukturunabhängigkeit“
Verwaltung von Metadaten in Form von Name-Value-Unit-Tripel für Datenobjekte
Department
Employee
Simulation
Geometry
Grid Generation
Flow Solution
Visualisation
Folie 6
iRODSKernfunktionalitäten (Fortsetzung)
Automatisierte Anwendung von Management-Policies
Abbildung der Policies auf Regeln in einer Regelbasis
Auswertung der Regelbasis durch eine Regel-Engine
Durchführung aller Aktionen (z.B. Anlegen einer Collection, Einstellen einer Datei, …) unter Kontrolle der Regel-Engine
Anpassung der Policies ohne Anpassung der Server-Software!
Automatisierte Validierung von Bewertungskriterien
Überprüfung der Übereinstimmung des Systemstatus mit den Policies
Folie 7
iRODSKomponenten
Zentraler Metadatenkatalog (iCAT)
Speicherung von Attributen der Datenobjekte und Zustandsinformationen
Autorisierung
iRODS-Server
Installation auf jeder Speicherressource
Regel-Engine zur Kontrolle der Aktionen
Regel-Basis
Repliziert oder bewusst unterschiedlich
Zukünftig: Aktualisierung anhand der Regelbasis des Metadatenkatalogs angedacht
Clients
Zugriff auf Daten
Administration
Folie 8
iRODS Peer-to-Peer-Server-Architektur
iRODS ServerRule Engine
iRODS ServerRule Engine
Metadata CatalogRule Base
DB
Grafik ist dem iRODS-Manual entnommen: http://indico.in2p3.fr/getFile.py/access?contribId=25&sessionId=1&resId=1&materialId=paper&confId=1234
Folie 9
iRODSDatenfluss beim Zugriff auf eine Datei
Grafik basiert auf http://www.vislab.uq.edu.au/research/SRB/background.html
Folie 10
iRODSKommunikation zwischen Client und Server
Proprietäres Protokoll zur Kommunikation zwischen Client und Server
Spezieller Port zur Kommunikation erforderlich (konfigurierbar)
Automatische Bestimmung des Datentransfermodus (konfigurierbar)
Sequentieller Datentransfer (Dateigröße < 32 MB)
Paralleler Datentransfer (Dateigröße > 32MB, multi-threaded)
Reliable Blast UDP (RBUDP)
UDP-basierend
Performancegewinn 10-20%, setzt robustes Netzwerk voraus
Folie 11
Authentifizierungsmechanismen Benutzername & Passwort, GSI-AuthentifizierungZukünftig: Integration von Shibboleth-Authentifizierung (ASPiS-Projekt)Bisher Umweg über SLCS-Server und GSI erforderlich
Verwaltung von Access Control Lists (ACLs) auf DatenobjekteRechte: Lesen, Schreiben, Administrieren
iRODSAuthentifizierung & Zugriffskontrolle
Benutzer SLCS
iRODS
1. IDP-Account
2. SLCS-Zertifikat
3. SLCS-Zertifikat
Folie 12
iRODSData-Grid-Föderationen
Föderationen sind Zusammenschlüsse von Data-GridsErlaubt den Austausch von Daten und Metadaten zwischen verschiedenen Data-Grids Jedes iRODS-Data-Grid (Zone) repräsentiert eigene administrative Domäne und besitzt einen separaten iCATÜber die Policies „Umgang“ mit anderen Zonen definierbarVerfügbar ab Version 2.0.0Geringerer Synchronisationsaufwand gegenüber SRB-Implementierung
FöderationsmodellePeer-To-Peer-ModelHierarchisches ModelReplikations-Model
Folie 13
iRODSBeispiel einer Föderation
Folie 14
iRODSRegeln
Micro-Services bilden Bausteine für RegelnKleine, wohl-definierte Prozeduren (C-Funktionen)z.B. createCollection, replicateObject
Regeln bestimmen Aktionen, die durch den Server auszuführen sind.Aktionen bestehen aus Kette von Micro-Services bzw. anderer RegelnEintritt unter definierten Bedingungen / Ereignissen
Regelformat:actionDef|condition|workflow-chain|recovery-chain
Beispiel:helloWorld||print_hello|nop
Folie 15
iRODSRegel-Engine
Grafik ist dem iRODS-Wiki entnommen:https://www.irods.org/index.php/Rule_Engine
Folie 16
iRODSClient-Schnittstellen
Programmierschnittstellen (APIs)C, Java, Python, PHP, ….
DatenzugriffsschnittstellenFUSE – Mounten von Collections im Dateisystem WebDAV (ARCS-Projekt)Zukünftig: GridFTP über Data Storage Interface (DSI)
Grafische Benutzer Oberflächen (GUIs)Web-SchnittstelleExplorer für Windowsi-Commands – Kommandozeilen-SchnittstelleVielzahl projektspezifischer GUIs
Folie 17
iRODSKollaborationen & Anwendungsprojekte
ARCS Data Fabric
Datenservice für Wissenschaftler
SRB/iRODS-WebDAV-Gateway
Projektseite: http://www.arcs.org.au/
ASPiS-Projekt
Shibboleth-iRODS-Integration
Provenance-iRODS-Integration
Projektseite: http://www.kcl.ac.uk/iss/cerch/projects/portfolio/aspis.html
SHAMAN
Ziel ist Bereitstellung eines „next-generation Digital Preservation framework”
Projektseite: http://shaman-ip.eu/shaman/
Folie 18
Zusammenfassung
Data-Grid
Definitionen und Herausforderungen
iRODS: eine Data-Grid-Technologie
Überblick
Architektur
Datentransfers
Security
Regel-Engine
Client-Schnittstellen
Anwendungsprojekte
Folie 19
Vielen Dank für die Aufmerksamkeit!Fragen??