Ein GFS für Alles?Theorie und Praxis bei der Umstellung auf ein globales
Filesystem.
Peer-Joachim KochMPI für Biogeochemie - Jena
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 2
Ein GFS für Alles?
Wer bin ich ? Entwicklung der letzten Jahre Technische Aspekte von GFS bzw. Cluster-Filesystemen Umsetzung in der Praxis am Beispiel des MPI BGC
Einleitung / Übersicht
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 3
Ein GFS für Alles?
Curiculum vitae
1965 Peer-Joachim Koch in Berlin geboren1985 Abitur in Cuxhaven, WS85 Chemiestudiums an der FU-Berlin
1991 Abschluss Dipl.chem. an der FU Berlin. Beginn der Promotion
1998 Abschluss der Promotion
1983-85 Freier Mitarbeiter bei einem EDV-Dienstleister in Cuxhavenab 1990 als Programmierer in der Abteilung von Prof. Bradazeck (FU) tätig
1991 Eigene „Firma“, unter anderem tätig für TRANSWARE GmbH
(Netzwerk, Hardware, TK, etc)
04/1998 - 06/1999: System Administrator bei Prof. Helmut Grubmüller MPI für Biophysikalische Chemie in Göttingen (Parsytec par. Rechner)
ab 07/1999 - Juni am MPI für Biogeochemie in Jena. Stellver. Leiter der EDV.
Einleitung / curiculum vitae
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 4
Ein GFS für Alles?
Gründungsjahr 1997; ca.150 Mitarbeiter+ GastwissenschaftlerErforschung globaler Stoffkreisläufe und der daran beteiligten biologischen, chemischen
und physikalischen Umsetzungen. Kohlenstoff, Sauerstoff, Wasserstoff und Stickstoff
Einleitung / Institut
Biogeochemisch
eProzesse
Biogeochemisch
eSyste
me
Integration
biogeochem.
Kreislä
ufe
MPI für Biogeochemie
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 6
Ein GFS für Alles? Einleitung / Institut
Messturm in Leinefelde
Tall-Tower (300m!) in Zotto
Weltweite Datenerhebung !
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 7
Ein GFS für Alles?
Theoretische Gruppen:Simulationsrechnungen: I/O – intensive und Daten intensive Rechnungen; Zugriff auf weltweite Klimadaten !!
„Freiland“-Gruppen:kontinuierliche Messungen (-> Sekundentakt!)SAT-Daten (geplant ab 2004; 2007*) ~ 1-10GB/Tag
Service-Abteilungen:Speicherung von C14-Messungen, Gas- und Isotopenanalyse, chem. Analytik
Einleitung / Institut
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 8
Ein GFS für Alles?
Entwicklung der Fileserverkapazität in den letzten Jahren(pers. Daten!):
1990 20 MB für eine ganze(!) Arbeitsgruppe (d.h. ~ 1 MB
pro Mitarbeiter)
1994 ~ 50 MB / MA
1998 ~ 1 GB / MA
2001 ~ 10 GB ''
2006 ~ 200 GB ''
2007 > 400 GB '' !!! (geschätzt)
Entwicklung / Diskspace
1990 1994 1998 2001 2006 2007Jahr
10-2
10-1
100
101
102
103
104
105
Kap
zitä
t[M
B]/N
utze
r
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 9
Ein GFS für Alles?
Entwicklung der letzten Jahre (Rechenleistung):
1990 erste IBM RS/6000 1996 Intel PPRO (200MHz !)
1998 PowerPC DualCore 400MHz
2001 PA-Risc 8700 (800MHz)
2006 AMD/Intel 64Bit / ~3GHz (Dual/Quad-Core ...)
Entwicklung / CPU
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 10
Ein GFS für Alles?
Fazit:Die Speicherkapazität hat sich in den letzten Jahren potentiert !
Die Rechenleistung hat sich vervielfacht. Aber auch die Anzahl an CPU's (Cores!) hat sich potentiert.
Günstige Einzelpreise haben zur massiven Verbreitung von (Linux-)Clustern geführt (-> TOP500)
Aber welcher Fileserver kann 128 working Nodes bedienen ? Oder 512 ...
Entwicklung / aktuell
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 11
Ein GFS für Alles?
Mehr Daten(alles wird gespeichert und digitalisiert)
Viel mehr Clients(jeder hat einen PC, Messgeräte, ...)
Mehr I/O Operationen(hohe CPU Leistung, großer Datendurchsatz)
neue Anwendungsfelder(Cluster, Messgeräte, Suchmaschinen, ...)
Entwicklung
}für einen alten
Fileserver ... ?
BGC Fileserver von 1998(ext. SCSI-Raid ca. 70GB)
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 12
Ein GFS für Alles?
Was sind eigentlich: Clusterfilesystem bzw.
Globale Filesysteme
Unterschiede zu „normalen“ Filesystemen
Konnektivität in einem SAN:
iSCSI vs. FC
Technik / CFS & GFS
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 13
Ein GFS für Alles?
Lösungen für LINUX - eine Auswahl !
Technik / CFS & GFS
CXFS (SGI) - OS: SGI, Linux,Windows, Solaris, AIX, MAC OS Xhttp://www.sgi.com/products/storage/tech/file_systems.html
GFS2 (Red Hat) - OS: Linux (Kernelbestandteil* !) *im nächsten Kernelrelease !
http://sources.redhat.com/cluster/gfs/
GPFS (IBM) - OS: Linux, AIXhttp://www.ibm.com/systems/clusters/software/gpfs.html
Lustre (Cluster File Systems Inc.) - OS: Linuxhttp://www.lustre.org/
OCFS2 (Oracle Cluster Filesystem) - OS:Linux (Kernelbestandteil !)http://oss.oracle.com/projects/ocfs2/
StorNext (ADIC) - OS:Linux, Solaris, HP-UX, AIX, IRIX, MacOS X1 und Windows (1XSAN)http://www.adic.com/
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 14
Ein GFS für Alles?
„Normaler“ Fileserver
Technik / CFS & GFS
Data 1
PowerRun Attn. Fault Remote
h p s e rv e r rx 5 6 7 0
File Server 1RaidSystem
Data 2
PowerRun Attn. Fault Remote
h p s e rv e r rx 5 6 7 0
File Server 2RaidSystem
Netzw
erk
Jeder Fileserver greift dediziert auf ein Raid- bzw. Speichersubsystem und das darauf liegende Filesystem zu.Die Kontrolle liegt exklusiv
beim Server bzw. dem OS des Servers.
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 15
Ein GFS für Alles?
„Normaler“ Fileserver (2)
Technik / CFS & GFS
Data 1
PowerRun Attn. Fault Remote
h p s e rv e r rx 5 6 7 0
File Server 1RaidSystem
Data 2
PowerRun Attn. Fault Remote
h p s e rv e r rx 5 6 7 0
File Server 2RaidSystem
Netzw
erk
Beim Ausfall einer Hardwarekomponente ist ein Zugriff auf das Filesystem nicht mehr möglich!Kann der Server den IO nicht mehr bewältigen -> Austausch.
X
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 18
Ein GFS für Alles? Grundlagen / CFS & GFS
Zugriffssteuerung
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 19
Ein GFS für Alles? Grundlagen / CFS & GFS
Zugriffssteuerung
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 20
Ein GFS für Alles? Grundlagen / CFS & GFS
Zugriffssteuerung
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 21
Ein GFS für Alles?
iSCSIVorteile:
SCSI in IP „verpackt“
Kommunikation über normale Netzwerkinfrastruktur Routingfähig Billig!?! Die meisten Server haben viele Netzwerkanschlüsse.Mittlerweile viele Treiber verfügbar.Geschwindigkeit nur vom Netzwerk abhängig
Nachteile:
Sehr hoher Overhead im Protokoll !
Datensicherheit – Speicher im normalen Netzwerk sichtbar?Hohe CPU-Belastung (vor allem bei Verschlüsselung!)Failover nur eingeschränkt Verfügbar
Vergleich / iSCSI vs. FC
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 22
Ein GFS für Alles? Vergleich / iSCSI vs. FC
FCVorteile:
FC Protokoll extrem schlank
unabhängige Netzwerkinfrastruktur (Trennung Daten- und Speichernetz)Hohe Performance (aktuell 4GB)De facto Standard – universelle UnterstützungMittlerweile viele Treiber verfügbar.Failover-Lösungen etabliert (viele Hersteller untersützen mittlerweile direkt Multipathing!)
Eigene Netzwerkstruktur notwendig
Nachteile:
Hoher Kosten (Kontroller, Switch, ...) !
Eigene Netzwerkstruktur notwendig !
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 23
Ein GFS für Alles?
Entwicklung am MPI für Biogeochemie
Ausgangspunkt:1998: Standard PC, 100MBit, ext. SCSI-Raid, Linux
Anforderung: Satelliten-Daten, neue Arbeitsgruppen, neue StrukturCompute-Server HP N- Klassekompatibel Bibliothekssystem (Oracle-DB) (Backupsystem !)File-System Größe > 750 GBim laufenden Betrieb erweiterbarFür Nutzer einheitliche Struktur (NFS / Samba)
Umsetzung / BGC
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 24
Ein GFS für Alles?
Entscheidung
LINUX (98/99):Hardware war noch nicht so leistungsfähig wie heute
professioneller Support nur eingeschränktFilesystem-Problematik (ext2, reiser,...)!
HPUX - Server:da Compute-Server und Orcale Server von HP auchFile-Server von HP. Dadurch einheitliche Architektur, ausgereiftes Filesystem, Samba, Support !
Umsetzung / BGC
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 25
Ein GFS für Alles? Institut / Stand 2000
Im ersten Schritt: direkte FC-Anbindung ohne SAN
SCSI-Raid mit
FC-Ausgang
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 26
Ein GFS für Alles? Institut / Stand 2001
Im zweiten Schritt: Neues Raid und SAN !
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 27
Ein GFS für Alles? Institut / Stand 2005
Dritter Schritt: Aufteilung in $HOME und $Groups !
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 28
Ein GFS für Alles?
Stand 2005
Fileservice total überlastet (1 PC mit GB lastet das System aus) Über 20 Filesysteme in einer VG (4 TB; größtes FS 1TB)
Backupzeiten 4-10h (TSM inkrementelles Backup) !
AnforderungskatalogAusbaufähig des neuen Systems auf 20-100TBSkalierbar ( -> neues LINUX-Cluster), bzw. redundante AuslegungNFS / Samba exportAnbindung an LDAPAuf verschieden Plattformen verfügbar (LINUX, HPUX, AIX)Home-Verzeichnisse müssen ebenfalls funktionieren.
Umsetzung / BGC
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 29
Ein GFS für Alles?
AuswahlMonolitisches File-Server zu teuer.Außerdem nicht leistungsfähig genug.x86 ist wesentlich billiger ! ( -> horizontale vs. vertikale Skalierung)
GFS2, Lustre etc. sind NUR auf Linux verfügbarSoll aber auch auf AIX (Backup-Server) und HPUX laufen ..
-> StorNext Auf allen Plattformen verfügbar (LINUX, HPUX, AIX) und
es gab schon praktische Erfahrungen bei der GwDG!
Auswahl / BGC
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 31
Ein GFS für Alles?
# **************************************************************************** GlobalSuperUser Yes ## Must be set to Yes for SNMS Managed File Systems ## WindowsSecurity NoQuotas Yes FileLocks Yes DataMigration No ## SNMS Managed File Systems Only ## InodeExpandMin 32KInodeExpandInc 128KInodeExpandMax 8MFsBlockSize 4K JournalSize 16M AllocationStrategy Round MaxConnections 32 ForceStripeAlignment Yes ThreadPoolSize 32 # default 16, 512 KB memory per threadInodeCacheSize 32K # 800-1000 bytes each, default 8K
Debug 0x0 MaxLogSize 16M MaxLogs 4
GFS-Konfig Teil 1 / BGC
Konfiguration eines GFS-Filesystems
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 32
Ein GFS für Alles?
[DiskType Meta_Journal_Drive] Sectors 140498944 SectorSize 512
[DiskType ATA_DataDrive] Sectors 933197824 SectorSize 512
[StripeGroup MetaJournalFiles] Status UP MetaData Yes Journal NoExclusive Yes Read Enabled Write Enabled StripeBreadth 256KMultiPathMethod Rotate Node SN_Meta_SNWG 0
[StripeGroup RegularFiles] Status UPExclusive NoRead Enabled Write Enabled StripeBreadth 256KMultiPathMethod Rotate Node SN_SNWG_01 0 Node SN_SNWG_02 1Node SN_SNWG_03 2Node SN_SNWG_04 3Node SN_SNWG_05 4Node SN_SNWG_06 5Node SN_SNWG_07 6Node SN_SNWG_08 7Node SN_SNWG_09 8Node SN_SNWG_10 9
GFS-Konfig Teil 2 / BGC
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 33
Ein GFS für Alles? GFS-Konfig Teil 3 / BGC
Erweiterung geplant für 12/2006
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 34
Ein GFS für Alles?
Vorbereitungen der Umstellung:
Test des gesamten System (Server, Switch, Raid) über 2 Monate.Abgleich aller Daten mittels rsync Neue virtuelle IP's für NFS und Samba (jeweils Gruppen, Home)
Am Tag der Umstellung – letzter Abgleich aller Daten.Aktivieren der neuen IP's und der Dienste und ...
Umsetzung / BGC
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 35
Ein GFS für Alles?
Apr 13 15:05:27 sizilia kernel: Unable to handle kernel NULL pointer dereference at 000000000000003c RIP:Apr 13 15:05:27 sizilia kernel: <ffffffff80231b56>{__down_read+6}Apr 13 15:05:27 sizilia kernel: PML4 f13ed067 PGD eaa37067 PMD 0Apr 13 15:05:27 sizilia kernel: Oops: 0002 [1] SMPApr 13 15:05:27 sizilia kernel: CPU 0Apr 13 15:05:27 sizilia kernel: Pid: 770, comm: nfsd Tainted: P U (2.6.5-7.191-smp SLES9_SP2_BRANCH-200506281458560000)Apr 13 15:05:27 sizilia kernel: RIP: 0010:[<ffffffff80231b56>] <ffffffff80231b56>{__down_read+6}Apr 13 15:05:27 sizilia kernel: RSP: 0018:00000100e9ac3688 EFLAGS: 00010006Apr 13 15:05:27 sizilia kernel: RAX: 00000100e7e38170 RBX: fffffffffffffff4 RCX: 0000000000000000Apr 13 15:05:27 sizilia kernel: RDX: 0000010037ffe800 RSI: 00000000000000d0 RDI: 0000000000000038Apr 13 15:05:27 sizilia kernel: RBP: 00000100d930d000 R08: 0000000000000000 R09: 00000100f7ec1ee0Apr 13 15:05:27 sizilia kernel: R10: 00000100f51be480 R11: 0000000000000002 R12: 00000100f654ec00Apr 13 15:05:27 sizilia kernel: R13: 0000000000001000 R14: 0000000000001000 R15: 0000000000000001Apr 13 15:05:27 sizilia kernel: FS: 0000002a9588e6e0(0000) GS:ffffffff80562e80(0000) knlGS:00000000556d5860Apr 13 15:05:27 sizilia kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003bApr 13 15:05:27 sizilia kernel: CR2: 000000000000003c CR3: 0000000000101000 CR4: 00000000000006e0Apr 13 15:05:27 sizilia kernel: Process nfsd (pid: 770, threadinfo 00000100e9ac2000, task 00000100e7e38170)Apr 13 15:05:27 sizilia kernel: Stack: 0000000000000000 fffffffffffffff4 00000100d930d000 0000000000000246Apr 13 15:05:27 sizilia kernel: fffffffffffffff4 ffffffff80193097 00000003e9ac37bc 00000100f26e7400 ......Apr 13 15:05:28 sizilia kernel: Code: f0 fe 4f 04 0f 88 d2 00 00 00 8b 07 85 c0 78 15 48 8d 4f 08Apr 13 15:05:28 sizilia kernel: RIP <ffffffff80231b56>{__down_read+6} RSP <00000100e9ac3688>Apr 13 15:05:28 sizilia kernel: CR2: 000000000000003cApr 13 15:07:51 sizilia sshd[2079]: Accepted keyboard-interactive/pam for root from ::ffff:141.5.16.54 port 59264 ssh2Apr 13 15:07:51 sizilia sshd[2077]: Accepted publickey for root from ::ffff:141.5.16.59 port 32990 ssh2Apr 13 15:09:01 sizilia kernel: <6>nfsd: non-standard errno: -4Apr 13 15:09:01 sizilia kernel: nfsd: non-standard errno: -4Apr 13 15:09:01 sizilia kernel: nfsd: non-standard errno: -4Apr 13 15:09:01 sizilia rpc.mountd: Caught signal 15, un-registering and exiting.
Produktion / BGC
Core dump: NFSD arbeitet nicht mehr ....
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 36
Ein GFS für Alles?
Was nun ... ?
Die beiden Maschinen mit den SAMBA-Servern laufen!-> 80% der Nutzer bekommen nichts mit.
Beiden NFS-Server stürzen ab: .... und Wessen Schuld ?Alles entspricht zu 100% der Kompatibilitätsmatrix – wem hilft's ?
Umsetzung / BGC
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 37
Ein GFS für Alles?
2 Probleme ... ?!?!
1) StorNext für 2.6 Kernel hat einen Fehler in der Verarbeitung des File-Locking. Die fehlerhafte Verarbeitung führte zum CoreDump des NFS-Daemons!
2) SLES 9 Kernel < 2.6.5-7.253 hat ebenfalls einen Fehler im NFS-Code -> NFS-Verzeichnisse werden manchmal falsch eingehängt !
Lösung:Neue StorNext-Version und neues Kernel. -> Kein Fehler mehr ... [nach nur 6 Wochen :( ]
NFS Lock Error / BGC
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 38
Ein GFS für Alles?
Nächster Schritt:
Einbindung eines neuen Linux-Clusters mit 128 Cores,davon 4 Headnodes als GFS-Clients.
Phase 2 / BGC
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 41
Ein GFS für Alles? File Space / BGC
Zweites Problem nach 6 Monaten !
File-Services steht vollständig ...Nach einer kurzen Analyse ergibt sich folgendes Bild: 5 von 6 Filesysteme funktionieren ohne Probleme. 1 Filesystem ist a) zu 100% belegt und b) ist auf dem Meta-Data- Server nicht mehr aktiv. => GFS-Clients können nicht mehr auf ein FS zugreifen. Daher stehen bei allen GFS-Clients die Dienste, die auf das betroffene Filesystem zugreifen wollen.
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 42
Ein GFS für Alles?
Problem Anamnese ..Ursache lag im LINUX-ClusterParalleler Zugriff der Workingnodes und der Headnodes haben dazu geführt, das viele Nodes parallel schreiben wollten, bis derFile-Space erschöpft war, obwohl noch viele Prozesse schreiben wollten. Die Prozesse haben einerseits zur Blockade geführt, alsauch zum Abschalten dieses Filesystems geführt !
GFS / BGC
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 43
Ein GFS für Alles?
Lösung:Aufräumen ... (löschen)
Prinzipielles Problem des parallelen IO im Cluster.
Quota leider nicht sinnvoll möglich, da 3 Gruppen sich den Filespaceteilen ...
Manuell Kontrolle bzw. Benachrichtigung der Gruppen ...
GFS / BGC
S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 44
Ein GFS für Alles?
Zusammenfassung:+ GFS ist praxistauglich (selbst HOME-Verzeichnisse funktionieren)
+ Sehr gute Performance
-- Komplexität des Fileservice steigt weiter
+ Redundanz, Erweiterung, bzw. Austausch einzelner Teile ist einfach!
Offene Fragen:Backup/Restore – wie sichert man ein 10 oder 100 TB Filesystem ?Zusammenspiel NFS/SAMBA mit GFS (bzw. Clusterfs) nicht immereinfachHSM – Ansätze vielleicht besser als mehr TB ? (noch Komplexer!)
GFS / BGC