Hvad er GPFS, og hvad kan jeg bruge det til?

09. juni 2012

Peter Christensen
Peter ChristensenSenior it-specialist

IBM GPFS (General Parallel File System) blev oprindeligt udviklet som et multimedie filsystem. For at få en acceptabel hastighed på streaming af data til og fra disk til multimedieapplikationer var det nødvendigt samtidigt at overføre data fra én datastrøm til mange diske gennem mange servere, som alle opererer på samme filsystem.

I dag fremtræder GPFS som et cluster baseret, High Performance, Enterprise filsystem. GPFS tilbyder blandt andet følgende funktionelle fordele:

  • Mulighed for meget store filsystemer.
  • Uproblematisk skalering af lagrede datamængder - såvel vækst som reduktion.
  • Meget høj pålidelighed og tilgængelighed.
  • Skalering af performance.
  • Mulighed for deling af filsystemer mellem forskellige platforme - lige pt AIX, Linux og Windows.
  • Automatiseret Information Life Cycle Management.


GPFS bliver i dag anvendt som datagrundlag for alt lige fra High Performance Computing systemer til kommercielle applikationer, som kræver hurtig adgang til store datamængder. For at give et eksempel, så benytter man et ca. 21TB GPFS filsystem som fælles datagrundlag for processerne i IBM's WATSON Jeopardy implementering.

Hvilke elementer indgår i et GPFS-cluster?

Et GPFS-filsystem er et cluster af servere - eller noder - der giver adgang til filsystemer spredt over et antal diske. Tilgængeligheden af et GPFS cluster bliver styret af forskellige former for quorum mekanismer.

GPFS-clustre bliver i dag opbygget på supporterede versioner af AIX, Linux (RedHat og SUSE) samt på Windows Server 2008 R2. Det er dog vigtigt at notere, at du ikke kan anvende server noder på Windows sammen med server noder på AIX og/eller Linux.

Filsystemer

Et GPFS-filsystem bliver sammensat af et antal hele diske. For at opnå forøget tilgængelighed kan filsystemerne konfigureres med intern replikering af såvel data som metadata. Alle diske, der benyttes af samme filsystem, bør have samme størrelse. Hvis filsystemet bliver konfigureret med replikering, og diskene tilhører forskellige fejlgrupper, vil GPFS automatisk placere de to kopier i hver sin fejlgruppe.

Noder

Noderne i et GPFS cluster er enten servernoder eller klientnoder. Servernoderne har direkte adgang til de diske, der udgør de forskellige GPFS-filsystemer. I et mindre GPFS cluster kan du med fordel arrangere, at alle server noder har adgang til alle diske. Klient noderne har ikke selv adgang til diske, men tilgår GPFS-filsystemer over netværksforbindelser til servernoder.

Diske

Du kan kun tilgå et GPFS-filsystem med hele diske. Enten skal alle servernoder have adgang til en given disk, eller alternativt kan et udsnit - op til otte - af servernoderne have adgang. Hvis storage-konfigurationen består af flere enheder, som fejlmæssigt er isolerede fra hinanden, kan hver disk markeres som tilhørende en fejlgruppe.

Quorum

Et GPFS clusters tilgængelighed bliver bestemt af en quorum (flertal) mekanisme. Som standard bruger man quorum af de noder, der er konfigureret som tilhørende quorum-gruppen. Hvis du kun har et lige antal quorum-noder, kan du ikke afgøre quorum af disse noders tilgængelighed. I stedet kan du udnævne en eller tre diske som quorum-diske. Clusteret bevarer i så fald sit quorum, såfremt blot en af quorum noderne kan se et flertal af disse diske.

Eksempler på GPFS clustre

I det følgende afsnit gennemgår jeg nogle forskellige konfigurationer, som illustrerer mulighederne i GPFS. Hver konfiguration udnytter en eller flere af egenskaberne ved GPFS.



Jeg gennemgår følgende scenarier:

  1. Cluster med en node med stort lagringsbehov.
  2. Cluster med en server node og klient(er) med behov for samtidig adgang til samme filsystem.
  3. Samme men med flere servernoder for forøget I/O performance.
  4. Samme men med dubleret storage for ekstra tilgængelighed.
  5. Cluster på to lokationer for maksimal datatilgængelighed.
  6. Cluster på to lokationer med PowerHA/Systemmirror (tidl. HACMP) for maksimal applikations- og datatilgængelighed.
  7. Cluster på en hardwareplatform med behov for ukompliceret dataudveksling til anden platform.

Eks. 1. Cluster med en node.

Formålet med en sådan konfiguration vil som oftest være at tilbyde de applikationer, som afvikles på noden, en adgang til filsystemer af "vilkårlig" størrelse. Kandidater til dette kunne f.eks. være TSM servere eller databaseservere.

GPFS - cluster med en node

Eks. 2. Cluster med en server node og klienter

Du anvender typisk denne type GPFS clustre til applikationer, som af forskellige årsager skal afvikles på flere separate servere, men som skal tilgå filsystemet eller data samtidigt. Eksempler på dette kunne være webapplikationer.

GPFS - cluster med en server node og klienter

Eks. 3. Cluster med flere server noder og klienter

Denne type GPFS clustre bliver typisk brugt til applikationer, som af performance hensyn skal afvikles på flere separate servere, men som skal tilgå filsystemet/data samtidigt. For at få nok I/O kapacitet skal diskene betjenes af flere servernoder.
Eksempler er naturligvis multimedieapplikationer, men kunne også være databaser med parallel adgang.

GPFS - cluster med flere server noder og klienter

Eks. 4. Cluster med dubleret storage

Du kan benytte denne type cluster i situationer, hvor du ønsker at eliminere udfald og tab af data grundet fejl i storage-systemer.

Selve clusteret vil ofte være konfigureret med kun en servernode, og sigtet med konfigurationen er, at clusteret skal være upåvirket af at miste den ene side af storage-konfigurationen.

For at anvende disk quorum i denne konfiguration er det nødvendigt at have tre fejlmæssigt uafhængige storage-systemer. Et af disse bidrager udelukkende med den tredje quorum-disk.

GPFS - cluster med dubleret storage

Eks. 5. Cluster på to lokationer

Du kan bruge denne type GPFS-clustre der, hvor du ønsker tilgængelighed til clusterets funktioner - herunder data - selvom en lokation helt eller delvist "forsvinder". Det kan være uplanlagte, udefrakommende hændelser, som forårsager udfaldet, eller årsagen kan være planlagte vedligeholdelser.

Hvis al storage eller en af servernoderne eller begge servernoder på lokation B forsvinder, mærker klienterne på lokation B kun, at filsystemerne reagerer trægt, mens dataadgangen rekonfigureres.

Da et GPFS cluster er baseret på quorum, kan det ikke lade sig gøre med kun to lokationer. Det er helt nødvendigt at have en tredje lokation som en ekstra quorum bidrager. Det kan være et storage-system, der leverer en tredje quorum disk. Eller der kan være en ekstra GPFS-node, der leverer det nødvendige ekstra node-quorum.

Eksemplet viser, hvordan du kan opnå quorum ved at anvende af en GPFS klientnode.

GPFS - cluster på to lokationer

Eks. 6. Cluster på to lokationer med PowerHA

Det cluster, der er vist i det foregående eksempel, er konfigureret således, at data adgang til alle cluster filsystemer bevares ved for eksempel udfald af hele lokation B - men naturligvis kun fra noderne på lokation A.

Ved at tilføje PowerHA (også kaldet HACMP eller SystemMirror) til noder med applikationer, som skal overleve, kan du eksempelvis flytte en applikation fra node "Klient B2" til "Klient A2". Da filsystemet allerede er til rådighed på "Klient A2", er PowerHA's opgave kun at flytte ip-adresser og starte applikationer op.

En anvendelse af dette kunne være et to-node GPFS cluster, hvor hver node anvender NFS til at eksportere filsystemer til NFS-klienter. Her kan PowerHA konfigureres, så et nodeudfald medfører, at NFS-serverens ip-adresse flyttes til den overlevende servernode, og at filsystemerne reeksporteres fra denne. Da GPFS altid holder filsystemerne aktive på kørende noder, vil der ikke være behov for inaktivering af storage på en node og aktivering af dette på den anden node i forbindelse med flytning af en service fra en node til en anden, men servicen kan startes umiddelbart efter, ip-adressen er på plads. Mens servicen flyttes, vil NFS klienterne opleve, at serveren ikke svarer. Et typisk tidsspænd for dette er 10 - 20 sek.

Nedenstående illustrerer funktionaliteten (for simpelheds skyld er quorum noden på lokation C udeladt):

GPFS - cluster på to lokationer med PowerHA

Eks. 7. GPFS cluster på Windows med klient på AIX

En særlig anvendelse af GPFS er at understøtte en uproblematisk udveksling af data mellem applikationer på de operativsystemer, som GPFS understøtter.

Disse er i dag (på passende level) for såvel server noder som klient noder:

  • AIX 5.3, AIX 6.1 og AIX 7.1
  • SUSE Linux SLES 9, SLES 10 og SLES 11
  • Red Hat Linux RHEL 4, RHEL 5 og RHEL 6
  • Windows Server 2008 R2


GPFS på Windows forudsætter følgende:

  • Alle noder skal være medlemmer af samme domæne.
  • UNIX Services for Windows skal være installeret på alle noder.
  • Alle server noder skal være Windows noder.
  • Klienter på AIX eller Linux kræver særlig konfiguration. Helst fra begyndelsen!


Nedenfor kan du se et cluster på Windows med en enkelt UNIX-node.

GPFS cluster på Windows med klient på AIX

Jeg håber, at du med denne korte introduktion til GPFS har fået et bedre kendskab til mulighederne i GPFS.

Som det forhåbentligt fremgår, har GPFS nogle egenskaber, som kan være meget nyttige i forhold til specielle udfordringer. Det er også vigtigt at understrege, at selv om GPFS er designet til meget store og krævende konfigurationer, så kan selv meget enkle GPFS-løsninger være "det, der skal til".

Hvis du har yderligere spørgsmål, er du velkommen til at kontakte mig på telefon 70 27 73 30.

Jan Kristian Nielsen - 21.06.2012

Hej Peter, et rigtig godt skriv faktisk noget at det bedste jeg har set der beskriver GPFS - det er et super produkt men det har altid været svært at forklare det men det gør du perfekt.
PS: Det er et af de emner jeg tager op på næste Power møde.
MvH Jan

Henrik Schwenn - 26.06.2012

Tak Peter, for en kort, præcis og overskuelig gennemgang de mangfoldige muligheder som GPFS teknologien giver os.
Mvh Henrik

Steen Jensen - 11.02.2013

Dette dokument er bare en drøm af en beskrivelse, rigtig godt forklaret og jeg fik lige "et nå for søren" da jeg sad og læste det.

Peter Christensen - 21.02.2013

Jeg er glad for at høre, at I har glæde af min beskrivelse. Mvh Peter

Per Rosenquist - 03.12.2013

Spændende, det kunne jeg godt bruge.
Du nævner support for Linux, gælder det også Linux på IBM Power og Linux på IBM Mainframes ?

Peter Christensen - 17.12.2013

Hej Per.

Så vidt jeg ved, at GPFS lige nu supporteret på AIX, Linux (Power og X) og Windows, og det er desuden testet med blandt andet RED HAT v6, 5 og 4 og SUSE Linux Enterprise Server. Du kan se flere eksempler på, hvad GPFS er testet med her:

http://publib.boulder.ibm.com/infocenter/clresctr/vxrx/index.jsp?topic=%2Fcom.ibm.cluster.gpfs.doc%2Fgpfs_faqs%2Fgpfsclustersfaq.html

Der foreligger ikke tests på mainframes fra IBM’s side, og det er heller ikke noget, jeg har erfaring med. Men hvis det er noget, der er relevant, kan vi sikkert undersøge det nærmere.

Mvh Peter

Skriv en kommentar