PowerEdge: Funksjoner i Dell Ready Solutions for HPC BeeGFS-lagring
Summary: Funksjoner i Dell Ready Solutions for HPC BeeGFS-lagring
Instructions
Innholdsfortegnelse
- Innledning
- StorageBench – for å sammenligne ytelsen til ulike RAID-konfigurasjoner
- StorageBench – For å identifisere defekte eller feilkonfigurerte lagringsmål
- Konklusjon og videre arbeid
Innledning
Denne bloggen drøfter de viktigste funksjonene i Dell Ready Solutions for HPC BeeGFS-lagring, som ble lansert nylig. Dette er den tredje bloggen i serien om BeeGFS High-Performance Storage Solution. Den første bloggen annonserte utgivelsen av løsningen. Den andre bloggen drøftet skalerbarheten til Dell Ready Solutions for HPC BeeGFS-lagring. Den ga detaljer om basiskonfigurasjonene, de fleksible skalerbare konfigurasjonene og den målte sekvensielle lese-/skriveytelsen til de forskjellige konfigurasjonene, noe som viser at skalerbarheten er lineær med hensyn til antall servere i løsningen. Den nåværende bloggen fremhever bruken av "StorageBench", referanseindeksen for integrerte lagringsmål for BeeGFS.
BeeGFS er et filsystem med åpen kildekode som kan lastes ned fra www.beegfs.io. Det er et parallelt filsystem som distribuerer data på tvers av flere lagringsmål. Det er en programvaredefinert lagring som kobler det logiske filsystemet fra den underliggende lagringsmaskinvaren, slik at brukeren kan definere hvordan og hvor dataene lagres. Filsystemprogramvaren inneholder bedriftsfunksjoner som høy tilgjengelighet, kvotehåndhevelse og tilgangskontrollister. Hovedfunksjonene til BeeGFS er brukervennlighet, skalerbarhet og fleksibilitet. Brukervennligheten stammer fra det faktum at alle komponentene på serversiden er brukerplassdemoner, mens klienten er en kjernemodul som ikke krever noen oppdateringer til selve kjernen. Alle BeeGFS-komponenter kan installeres og oppdateres uten å starte serveren på nytt. Så vi kan legge til klienter og servere i det eksisterende systemet uten nedetid. Ved å legge til servere og stasjoner ytelsen og kapasiteten til filsystemet kan skaleres opp mer i bloggen linket her. BeeGFS støtter flere Linux-distribusjoner, og den er designet for å fungere med ethvert POSIX-kompatibelt lokalt filsystem. BeeGFS støtter også kjøring av flere forekomster av en gitt tjeneste på samme server.
Dell Ready Solutions for HPC BeeGFS Storage utnytter alle nøkkelfunksjonene til BeeGFS-filsystemet og er konstruert for høy ytelse. Løsningen bruker PowerEdge R740xd-servere for lagring og betjening og/eller behandling av metadata og data. Hver PowerEdge R740xd-server har 24 x 1,6 TB Intel P4600 NVMe SSD-disker som regnes som det andre store spranget innen diskteknologi, der SSD-diskene er den første. I HPC-miljøer kan skrapeplassen ofte være en begrensende faktor. Det kan være for lite eller for sakte. Dell EMC Ready Solutions for HPC BeeGFS-lagring er utformet for å brukes som en skrapeløsning, og betjener kladdelagring ved hjelp av BeeGFS-filsystemet.
BeeGFS inkluderer to integrerte benchmarking-verktøy som kan bidra til å karakterisere eller evaluere nettverk eller lagring NetBench og StorageBench henholdsvis. Når NetBench-modus er aktivert, forkaster serverne mottatte skriveforespørsler i stedet for å skrive dataene. På samme måte, i tilfelle leseforespørsler, i stedet for å lese fra det underliggende filsystemet, sendes bare minnebufferne til klientene. NetBench-modusen er ment for å teste gjennomstrømningen for nettverksstrømming uavhengig av de underliggende diskene. På den annen side er StorageBench ment å måle streaminggjennomstrømningen til det underliggende filsystemet uavhengig av nettverksytelsen. StorageBench er en referanseindeks for lagringsmål som ikke bruker nettverket. Kommandoen for lagringsbenk sender ganske enkelt forespørselen til lagringsmålene for å begynne å skrive/lese data. Ved å gjøre det, eliminerer vi virkningen av nettverket. Utgangen vi får fra lagringsbenken er den beste ytelsen systemet kan oppnå hvis nettverksytelsen er ideell. Denne bloggen illustrerer hvordan StorageBench kan brukes til å sammenligne ytelsen til forskjellige lagringsmål og dermed identifisere defekte eller feilkonfigurerte mål.
StorageBench – for å sammenligne ytelsen til ulike RAID-konfigurasjoner
StorageBench bruker ikke det monterte filsystemet. Når vi kjører StorageBench, er det bare ett mål per fil. Storagebench oppretter en katalog på hvert lagringsmål på systemet der testfiler opprettes lik antall testtråder. Data strømmes direkte til dette for å vise den lave gjennomstrømningen som er tilgjengelig for hvert lagringsmål. Uten nettverkskommunikasjon kan ikke filstriping simuleres. Resultatene fra lagringsreferansen er derfor ganske sammenlignbare med klient-IO med striping deaktivert. Når ytelsesprøver kjøres, blir filen stripet på tvers av fire lagringsmål hvis standard stripemønster brukes.
For å teste ulike lagringsmål ble det brukt små og mellomstore konfigurasjoner som er beskrevet i bloggen om skalerbarheten til Dell BeeGFS-lagringsløsningen. Begge konfigurasjonene har samme antall metadatamål som er konfigurert i RAID 1. De er forskjellige i RAID-konfigurasjonen til lagringsmålene. Mens det lille oppsettet har lagringsmålene konfigurert i RAID 0 på seks disker, har mediumkonfigurasjonen lagringsmålene konfigurert i RAID 10 av seks stasjoner. Lagringsmålene som er konfigurert for oppsettet Liten og Middels, er tabulert nedenfor:
| Tabell 1 Testkonfigurasjon | ||
|---|---|---|
| Konfigurasjon | Middels – RAID 10 for lagringsmål | Liten – RAID 0 for lagringsmål |
| Antall metadatamål | 6 | 6 |
| Antall forekomster av metadatatjeneste | 6 | 6 |
| Antall lagringsservere | 5 | 2 |
| Antall lagringsmål | 22 | 10 |
| Antall lagringstjenester per server | 4 | 4 |
| Antall lagringstjenester per NUMA-sone | 2 | 2 |
| Antall mål per forekomst av lagringstjeneste | 2 | 2 |
Merk: Konfigurasjonen ovenfor av medium-oppsettet brukes bare til å teste gjennomstrømningen til lagringsmål konfigurert i forskjellige RAID-konfigurasjoner ved hjelp av StorageBench-verktøyet.
Ytelsestest for skriving til StorageBench – på den lille konfigurasjonen med lagringsmål konfigurert i RAID 0
Lagringsreferansen startes og overvåkes med beegfs-ctl-verktøyet. Beegfs-utils-pakken inneholder kommandolinjeverktøyet beegfs-ctl som kan brukes til å kjøre referanseindeksen for lagringsmål. Følgende eksempel starter en skrivereferanse på alle mål for alle BeeGFS-lagringsservere med en I/O-blokkstørrelse på 512 kB, ved hjelp av 16 tråder per mål, som hver vil skrive 200 GB data til sin egen fil.
[root@stor1 ~]# beegfs-ctl --storagebench --alltargets --write --blocksize=512K --size=200G --threads=16 Write storage benchmark was started. You can query the status with the --status argument of beegfs-ctl. Server benchmark status: Running: 10
Den "Running: 10" utdata indikerer at det er konfigurert totalt 10 lagringsmål i systemet.
Hvis du vil spørre referansestatusen/-resultatene for alle målene, kan følgende kommando kjøres:
[root@stor1 ~]# beegfs-ctl --storagebench --alltargets --status Server benchmark status: Finished: 10 Write benchmark results: Min throughput: 4692435 KiB/s nodeID: stor1-numa0-2 [ID: 6], targetID: 50 Max throughput: 5368537 KiB/s nodeID: meta-stor-numa1-2 [ID: 2], targetID: 48 Avg throughput: 4907091 KiB/s Aggregate throughput: 49070915 KiB/s
Hvis du legger til detaljert informasjon i kommandoen ovenfor, vises listen over alle mål og deres respektive gjennomstrømning.
[root@meta-stor ~]# beegfs-ctl --storagebench --alltargets --status --verbose Server benchmark status: Finished: 10 Write benchmark results: Min throughput: 4692435 KiB/s nodeID: stor1-numa0-2 [ID: 6], targetID: 6 Max throughput: 5368537 KiB/s nodeID: meta-stor-numa1-2 [ID: 2], targetID: 2 Avg throughput: 4907091 KiB/s Aggregate throughput: 49070915 KiB/s List of all targets: 1 5368477 KiB/s nodeID: meta-stor-numa1-1 [ID: 1] 2 5368537 KiB/s nodeID: meta-stor-numa1-2 [ID: 2] 3 4706368 KiB/s nodeID: stor1-numa0-1 [ID: 3] 4 4896077 KiB/s nodeID: stor1-numa1-1 [ID: 4] 5 4872876 KiB/s nodeID: stor1-numa1-2 [ID: 5] 6 4692435 KiB/s nodeID: stor1-numa0-2 [ID: 6] 7 4879054 KiB/s nodeID: stor2-numa1-2 [ID: 7] 8 4864737 KiB/s nodeID: stor2-numa1-1 [ID: 8] 9 4696152 KiB/s nodeID: stor2-numa0-1 [ID: 9] 10 4726202 KiB/s nodeID: stor2-numa0-2 [ID: 10]
Slutning fra utdataene:
Gjennomsnittlig gjennomstrømning per lagringsmål konfigurert i RAID 0 er 5,02 GB/s.
Ytelsestest for skriving til StorageBench – på middels konfigurasjon med lagringsmål konfigurert i RAID 10
Følgende eksempel starter en skrivereferansemåling på alle mål for alle BeeGFS-lagringsservere med en I/O-blokkstørrelse på 512 kB, ved hjelp av 16 tråder per mål, som hver skriver 200 Gb data til sin egen fil.
[root@node001 ~]# beegfs-ctl --storagebench --alltargets --write --blocksize=512K --size=200G --threads=16 Write storage benchmark was started. You can query the status with the --status argument of beegfs-ctl. Server benchmark status: Running: 22
Hvis du legger til detaljert informasjon i kommandoen ovenfor, vises listen over alle mål og deres respektive gjennomstrømning.
[root@node001 ~]# beegfs-ctl --storagebench --alltargets --status --verbose Server benchmark status: Finished: 22 Write benchmark results: Min throughput: 2705987 KiB/s nodeID: node006-numa0-1 [ID: 19], targetID: 1 Max throughput: 3364311 KiB/s nodeID: node001-numa1-1 [ID: 1], targetID: 1 Avg throughput: 3212845 KiB/s Aggregate throughput: 70682603 KiB/s List of all targets: 1 3364311 KiB/s nodeID: node001-numa1-1 [ID: 1] 2 3361591 KiB/s nodeID: node001-numa1-2 [ID: 2] 3 3309530 KiB/s nodeID: node002-numa0-1 [ID: 3] 4 3312840 KiB/s nodeID: node002-numa0-2 [ID: 4] 5 3332095 KiB/s nodeID: node002-numa1-1 [ID: 5] 6 3323319 KiB/s nodeID: node002-numa1-2 [ID: 6] 7 3313000 KiB/s nodeID: node003-numa0-1 [ID: 7] 8 3321214 KiB/s nodeID: node003-numa0-2 [ID: 8] 9 3335072 KiB/s nodeID: node003-numa1-1 [ID: 9] 10 3339743 KiB/s nodeID: node003-numa1-2 [ID: 10] 11 3302175 KiB/s nodeID: node004-numa0-1 [ID: 11] 12 3309474 KiB/s nodeID: node004-numa0-2 [ID: 12] 13 3329879 KiB/s nodeID: node004-numa1-1 [ID: 13] 14 3328291 KiB/s nodeID: node004-numa1-2 [ID: 14] 15 3306132 KiB/s nodeID: node005-numa0-1 [ID: 15] 16 3307096 KiB/s nodeID: node005-numa0-2 [ID: 16] 17 3318436 KiB/s nodeID: node005-numa1-1 [ID: 17] 18 3329684 KiB/s nodeID: node005-numa1-2 [ID: 18] 19 2705987 KiB/s nodeID: node006-numa0-1 [ID: 19] 20 2716438 KiB/s nodeID: node006-numa0-2 [ID: 20] 21 2707970 KiB/s nodeID: node006-numa1-1 [ID: 21] 22 2708326 KiB/s nodeID: node006-numa1-2 [ID: 22]
Slutning fra utdataene:
Gjennomsnittlig gjennomstrømning per lagringsmål er 3,29 GB/s.
Fra resultatet av StorageBench-ytelsesprøvetester utført på to forskjellige BeeGFS-oppsett, ett med lagringsmål konfigurert i RAID 0 og et annet med lagringsmål konfigurert i RAID 10, er det tydelig at skriveytelsen er bedre med lagringsmålene konfigurert i RAID 0 i stedet for i RAID 10. Når dd-kommandoen ble brukt til å skrive en 10G-fil med 1 M blokkstørrelse og "oflag=direct", var gjennomsnittet omtrent 5,1 GB/s for det lille systemet konfigurert i RAID 0, mens gjennomsnittlig gjennomstrømning var omtrent 3,4 GB/s for mediumsystemet konfigurert i RAID 10.
StorageBench – For å identifisere defekte eller feilkonfigurerte lagringsmål
StorageBench ble kjørt på mediumkonfigurasjonen som er beskrevet i kunngjøringsbloggen , for å finne ut om det er feilkonfigurerte eller defekte lagringsmål i systemet.
[root@node001 ~]# beegfs-ctl --storagebench --alltargets --status --verbose Server benchmark status: Finished: 33 Read benchmark results: Min throughput: 2830479 KiB/s nodeID: node003-numa1-2 [ID: 14], targetID: 14 Max throughput: 3025500 KiB/s nodeID: node005-numa0-1 [ID: 22], targetID: 22 Avg throughput: 2917836 KiB/s Aggregate throughput: 96288596 KiB/s List of all targets: 1 2950039 KiB/s nodeID: node001-numa1-1 [ID: 1] 2 2956121 KiB/s nodeID: node001-numa1-2 [ID: 2] 3 2954473 KiB/s nodeID: node001-numa1-3 [ID: 3] 4 2957658 KiB/s nodeID: node002-numa0-1 [ID: 4] 5 2947109 KiB/s nodeID: node002-numa0-2 [ID: 5] 6 2969886 KiB/s nodeID: node002-numa0-3 [ID: 6] 7 2892578 KiB/s nodeID: node002-numa1-1 [ID: 7] 8 2886899 KiB/s nodeID: node002-numa1-2 [ID: 8] 9 2888972 KiB/s nodeID: node002-numa1-3 [ID: 9] 10 2861995 KiB/s nodeID: node003-numa0-1 [ID: 10] 11 2874314 KiB/s nodeID: node003-numa0-2 [ID: 11] 12 2879096 KiB/s nodeID: node003-numa0-3 [ID: 12] 13 2832635 KiB/s nodeID: node003-numa1-1 [ID: 13] 14 2830479 KiB/s nodeID: node003-numa1-2 [ID: 14] 15 2830971 KiB/s nodeID: node003-numa1-3 [ID: 15] 16 2986890 KiB/s nodeID: node004-numa0-1 [ID: 16] 17 2979197 KiB/s nodeID: node004-numa0-2 [ID: 17] 18 2983958 KiB/s nodeID: node004-numa0-3 [ID: 18] 19 2897974 KiB/s nodeID: node004-numa1-1 [ID: 19] 20 2900880 KiB/s nodeID: node004-numa1-2 [ID: 20] 21 2904036 KiB/s nodeID: node004-numa1-3 [ID: 21] 22 3025500 KiB/s nodeID: node005-numa0-1 [ID: 22] 23 3021558 KiB/s nodeID: node005-numa0-2 [ID: 23] 24 3017387 KiB/s nodeID: node005-numa0-3 [ID: 24] 25 2921480 KiB/s nodeID: node005-numa1-1 [ID: 25] 26 2930226 KiB/s nodeID: node005-numa1-2 [ID: 26] 27 2930548 KiB/s nodeID: node005-numa1-3 [ID: 27] 28 2900018 KiB/s nodeID: node006-numa0-1 [ID: 28] 29 2898520 KiB/s nodeID: node006-numa0-2 [ID: 29] 30 2907113 KiB/s nodeID: node006-numa0-3 [ID: 30] 31 2855079 KiB/s nodeID: node006-numa1-1 [ID: 31] 32 2853527 KiB/s nodeID: node006-numa1-2 [ID: 32] 33 2861480 KiB/s nodeID: node006-numa1-3 [ID: 33]
Fra utgangen ovenfor er det tydelig at alle lagringsmål fungerer jevnt, og det er ingen defekte mål i systemet.
Konklusjon og videre arbeid
Denne bloggen diskuterte nøkkelfunksjonene til BeeGFS og forklarte nytten av ytelsestesten for lagringsbenken for å evaluere eller sammenligne ytelsen til forskjellige RAID-konfigurasjoner og også for å identifisere om noen av lagringsmålene er defekte eller feilkonfigurerte. Som en del av de neste trinnene vil vi publisere en hvitbok senere med metadataytelsen og IOR-ytelsen, og med ytterligere detaljer om utformingshensyn, justering og konfigurasjon.
Referanser
1) Dell EMC Ready Solutions for HPC BeeGFS-lagring PowerEdge: Dell Ready-løsninger for HPC BeeGFS-lagring
med høy ytelse2) Skalerbarhet av Dell Ready Solutions for HPC BeeGFS-lagring PowerEdge: Skalerbarhet av Dell Ready Solutions for HPC BeeGFS-lagring
3) BeeGFS-dokumentasjon:
https://www.beegfs.io/wiki/4) Hvordan koble til to grensesnitt på samme delnett:
https://access.redhat.com/solutions/305645) Referansedesign for PCI Express Direct Memory Access ved hjelp av eksternt minne: https://www.intel.com/content/www/us/en/programmable/documentation/nik1412547570040.html#nik1412547565760