Ein GFS für alles - heinlein- · PDF fileiSCSI vs. FC Technik / CFS & GFS. S L A C, 7.-8....

45
Ein GFS für Alles? Theorie und Praxis bei der Umstellung auf ein globales Filesystem. Peer-Joachim Koch MPI für Biogeochemie - Jena

Transcript of Ein GFS für alles - heinlein- · PDF fileiSCSI vs. FC Technik / CFS & GFS. S L A C, 7.-8....

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 5

Ein GFS für Alles? Einleitung / Institut

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 16

Ein GFS für Alles? Technik / CFS & GFS

S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 17

Ein GFS für Alles? Grundlagen / CFS & GFS

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 30

Ein GFS für Alles? Institut / Stand Feb 2006

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 39

Ein GFS für Alles? Institut / Stand 2006

S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 40

Ein GFS für Alles? Institut / Stand Mai 2006

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

S L A C, 7.-8. Dez. 2006 Peer-Joachim Koch Seite 45

Ein GFS für Alles?

Noch Fragen ?

END / BGC