Denne artikel er skrevet af Nirmala Sundararajan, HPC og AI-innovations Lab, april 2020
Dell EMC Ready-løsninger til HPC BeeGFS High Capacity storage er en fuldt understøttet, parallel system storage-løsning med høj hastighed. Denne blog diskuterer løsnings arkitekturen, hvordan den er indstillet til at HPC ydeevne og viser I/O-ydelsen ved hjælp af både IOZone-sekvenser og tilfældige benchmarks. En BeeGFS-højtydende storage-løsning, der er indbygget på NVMe-enheder, er beskrevet i denne blog, der blev offentliggjort under den Nov 2019. Denne arkitektur frem hævede ydeevne, og den løsning, der beskrives her, er en storageløsning med høj kapacitet. Disse to løsninger til BeeGFS er forskellige i forhold til deres udviklingsmål og use cases. High-Performance-løsningen er designet som en arbejdslager løsning, en midlertidig jordforbindelse for midlertidige datasæt, der normalt ikke bevares ud over sagens levetid. Løsningen med høj kapacitet bruger 4, Dell EMC PowerVault ME4084 arrays er helt udfyldt med en total på 336 drev og giver en rå kapacitet på 4PB, hvis udstyret er forsynet med 12 TB SAS drev.
Dell EMC Ready-løsningen for HPC BeeGFS High Capacity-Storage består af en administrationsserver, et par metadata servere, et par lager servere og de tilhørende storage-systemer. Løsningen giver lager, der bruger et enkelt navneområde, der nemt kan åbnes af klyngens computernoder. Følgende figur viser løsnings reference arkitekturen med disse primære komponenter:
Figur 1 viser løsningens reference arkitektur.
Figur 1: Dell EMC klar løsning til HPC BeeGFS-Storage
I figur 1 er administrationsserveren, der kører BeeGFS Monitor daemon, en PowerEdge R640. De to MetaData servere (MDS) er PowerEdge R740-servere i en aktiv-aktiv High Availability-konfiguration. MDS-parret er forbundet til 2U, PowerVault ME4024 array med 12 GB/s SAS links. ME4024-Storage-systemet er vært for meta datatargets (MDTs). Et andet par PowerEdge R740-servere, også i aktiv-aktiv High Availability-konfiguration, bruges som Storage-servere (SS). Dette SS-par er forbundet til fire helt udfyldte PowerVault ME4084-storage arrays ved hjælp af 12 GB/s SAS links. ME4084-arrays understøtter et valg på 4 TB, 8 TB, 10 TB eller 12 TB NL SAS 7,2 K RPM harddiske (harddiske og vært for Storage Targets (STs) for BeeGFS-filsystemet. Denne løsning bruger Mellanox InfiniBand HDR100 til data netværket. Klienterne og serverne er tilsluttet 1U Mellanox Quantum HDR Edge switch QM8790, som understøtter op til 80 porte i HDR100 ved hjælp af HDR-splittende kabler.
Følgende skema beskriver de hardware-speficiations og softwareversioner, der er valideret for løsningen.
Administrations server | 1x Dell EMC PowerEdge R640 |
---|---|
MDS (metadata servere) | 2x Dell EMC PowerEdge R740 |
Storage-servere (SS) | 2x Dell EMC PowerEdge R740 |
Processor | Administrations server: 2 x Intel Xeon Gold 5218 @ 2.3 GHz, 16 kerner MDS og SS: 2x Intel Xeon Gold 6230 ved 2,10 GHz, 20 kerner pr. processor |
Hukommelse | Administrations server: 12 x 8 GB DDR4 2666MT/s DIMM'ER-96GB MDS og SS: 12x 32 DDR4 2933MT/s DIMM'ER-384GB |
InfiniBand HCA (slot 8) | 1x Mellanox ConnectX-6 enkelt port HDR100-adapter pr. MDS og SS |
Eksterne lager controllere | 2x Dell 12Gbps SAS HBA'er (på hver MDS) 4x Dell 12Gbps SAS HBA'er (på hver SS) |
Data lager kabinet | 4 Dell EMC PowerVault ME4084-kabinetter er helt udfyldt med en total på 336 drev 2,69 PB rå lagerkapacitet, hvis udstyret er forsynet med 8TB SAS-drev i 4, ME4084 |
Metadatalager kabinet | 1x Dell EMC PowerVault ME4024 kabinet helt fyldt med 24 drev |
RAID-controllere | Dupleks-RAID-controllere i ME4084-og ME4024-kabinetterne |
Harddiske | 84-8TB 7200 RPM NL SAS3-drev pr. ME4084 kabinet 24-960GB SAS3 SSD'er i henhold til ME4024 kabinet |
Operativsystem | CentOS Linux frigørelses 8.1.1911 (kerne) |
Kerneversion | 4.18.0-147.5.1. el8 _1. x86_64 |
Mellanox OFED version | 4.7-3.2.9.0 |
Grafana | 6.6.2-1 |
InfluxDB | 1.7.10-1 |
BeeGFS FILE SYSTEM (NTFS-FILSYSTEM) | 7,2 beta2 |
Tabel 1: Prøvestandskonfiguration
Bemærk: I form af en performance-karakterisering er BeeGFS version 7,2 beta2 anvendt.
BeeGFS-arkitekturen består af fire hoved servicer:
Der er også en valgfri BeeGFS-overvågnings service.
Med undtagelse af klient servicen, som er et kerne modul, er styring, metadata og storage-Services brugerområde processer. Det er muligt at køre enhver kombination af BeeGFS Services (klient-og serverkomponenter) sammen på de samme maskiner. Det er også muligt at køre flere forekomster af enhver BeeGFS-service på den samme maskine. I Dell EMC-konfigurationen af BeeGFS-kapaciteten kører overvågnings servicen på styrings serveren, og flere forekomster af metadataservice kører på metadata serverne og en enkelt forekomst af Storage-servicen kører på Storage-servere. Administrations servicen er installeret på metadata serverne.
BeeGFS monitoring service (BeeGFS-man. service) indsamler BeeGFS statistik og giver dem til brugeren ved brug af tids seriens database InfluxDB. For visualisering af data indeholder beegfs-man-grafana foruddefinerede grafana -dashboards, der kan bruges af kassen. Figur 2 giver en generel oversigt over BeeGFS-klyngen, der viser antallet af lager serviceydelser og metadata tjenester i opsætningen (kaldet noder i dashboardet). Den viser også de andre Dashboard visninger, der er tilgængelige og giver et overblik over lager målene.
Figur 2 Grafana Dashboard-BeeGFS oversigt
ME4024-Storage-systemet, der bruges til metadata storage er helt udfyldt med 24x 960GB SSD'er. Disse drev er konfigureret i 12x lineær RAID1-diskgrupper på to drev som vist i figur 3. Hver RAID1-gruppe er en MetaData destination.
Figur 3 indfyldte ME4024 array med 12 MDTs
I BeeGFS håndterer hver enkelt metadataservice kun en enkelt MDT. Da der er 12 MDTs, skal der være 12 forekomster af metadataservicen. Hver af de to metadata servere kører seks forekomster af metadataservicen. Metadata-målene er formateret med et EXT4 -filsystem (EXT4-filsystemer fungerer godt med små filer og små filhandlinger). Derudover gemmer BeeGFS oplysninger i udvidede attributter og direkte på inodes i filsystemet for at optimere ydelsen, som både fungerer godt med EXT4-filsystemet.
Tilbage til toppen
Beegfs-mgmtd- tjenesten er konfigureret på begge metadata servere. Beegfs mgmtd-lageret er initialiseret i katalog mgmtd på metadata destination 1 som vist nedenfor:
/opt/beegfs/sbin/beegfs-setup-mgmtd-p/beegfs/metaA-numa0-1/mgmtd-S beegfs-Mgmt
Administrations servicen startes på meta serveren.
I denne BeeGFS-løsning med høj kapacitet er data lagerpladsen på tværs af fire PowerVault ME4084-storage-systemer. Lineære RAID-6 diskgrupper på 10 drev (8 + 2) hver er oprettet på hver array. En enkelt enhed, der bruger hele pladsen, oprettes for hver diskgruppe. Dette vil resultere i 8 diskgrupper/diskenheder pr. system. Hver array har 84 drev og oprettelse af 8 x RAID-6 diskgrupper lader 4 drev, som kan konfigureres som global hot-spares på tværs af system drevene.
Med det ovenfor beskrevne layout er der en total på 32 x RAID-6 diskenheder på 4 x ME4084 i en basiskonfiguration vist i figur 1. Hver af disse RAID-6-diskenheder er konfigureret som et Storage-mål (ST) for BeeGFS-filsystemet, hvilket resulterer i en samlet mængde på 32 STs på tværs af filsystemet.
Hver ME4084-array har 84 drev, med drev nummereret 0-41 i den øverste skuffe og de tal, der er nummereret 42-84 i bund skuffen. I figur 5 repræsenterer hvert sæt på 10 drev, der er mærket 1 til 8, 8xRAID6 gruppen. En diskenhed er oprettet ud fra hver RAID6-gruppe. De drev, der er markeret med "S", repræsenterer de globale reservedele. Figur 5 viser den forreste visning af systemet efter konfiguration af 8 diskenheder og 4 globale reservedele.
Figur 4 RAID 6 (8 + 2) diskgruppe layout på en ME4084
BeeGFS-klient modulet er indlæst på alle værter, der har brug for adgang til BeeGFS-filsystemet. Når BeeGFS-modulet er indlæst, og BeeGFS-klient servicen startes, tilslutter servicen de filsystemer, der er defineret i filen/m/BeeGFS/beegfs-mounts. conf i stedet for den normale fremgangsmåde baseret på /etc/fstab. Med denne fremgangsmåde starter beegfs-klienten som enhver anden Linux-service gennem startscriptet for servicen og aktiverer automatisk omkompilering af beegfs-klient modulet efter systemopdateringer..
Dette afsnit viser ydeevne egenskaberne for Dell EMC Ready-løsninger for HPC BeeGFS-storage-løsning med høj kapacitet ved hjælp af IOzone-sekventielle og tilfældige benchmarks. For yderligere performance-karakterisering med IOR og MDtest og oplysninger om konfigurationen af High Availability skal du se efter et hvidt papir, der vil blive udgivet senere.
Storage-ydelsen blev evalueret ved hjælp af IOzone-benchmark (v 3.487). Den sekventielle læse-og skrivehastighed samt vilkårlige læse-og skrive IOPS er målt. Tabel 2 beskriver konfigurationen af PowerEdge R840-servere, der bruges som BeeGFS-klienter til disse ydelses undersøgelser.
Klienter | 8x Dell EMC PowerEdge R840 |
---|---|
Processor | 4 x Intel (R) Xeon (R) Platinum 8260 CPU @ 2.40 GHz, 24 kerner |
Hukommelse | 24 x 16 GB DDR4 2933MT/s DIMMs-384GB |
Operativsystem | Red Hat Enterprise Linux Server version 7,6 (Maipo) |
Kerneversion | 3.10.0-957.el7.x86_64 |
Interconnect | 1x Mellanox ConnectX-6 enkelt port HDR100-adapter |
OFED-version | 4.7-3.2.9.0 |
Tabel 2 klientkonfiguration
Serverne og klienterne er tilsluttet via et HDR100-netværk og de netværksoplysninger, der er leveret i tabel 3 nedenfor:
InfiniBand-switch | QM8790 Mellanox Quantum-HDR Edge switch-IE med 80x HDR 100 100Gb/s-porte (ved brug af Opdelings kabler) |
---|---|
Styrings kontakt | Dell Networking S3048-ON ToR switch-1U med 48x 1GbE, 4 SFP + 10GbE porte |
Tabel 3: Netværket
Sekventielle læsninger og skrivninger blev målt ved brug af den sekventielle læse-og skrivetilstand for IOzone. Disse tests blev gennemført på tællere med flere tråde startende med 1 tråd og stigende i 2. potens op til 512 tråde. Ved hvert trådtælling genereredes et tilsvarende antal filer, da denne test fungerer på én fil pr. tråd eller N-N-tilfældet. Processerne blev distribueret på tværs af 8 fysiske klient noder i en round-Robins måde, så anmodningerne er ligeligt fordelt med belastningsjustering.
For tråd-tællerne 16 og derover er en samlet filstørrelse på 8TB valgt at minimere virkningerne af cachelagring fra serverne samt fra BeeGFS-klienter. For tråd-tællere under 16, er filstørrelsen 768 GB pr. tråd (dvs. 1,5 TB for 2 tråde, 3TB for 4 tråde og 6TB for 8 tråde). I en given test var den anvendte opsummerings filstørrelse ligeligt fordelt på antallet af tråde. En poststørrelse på 1MiB blev brugt til alle kørsler. Den kommando, der anvendes til sekventielle N-N-test, er anført nedenfor:
Sekventielle skrivninger og læsninger: IOzone-i $test-c-e-w-r 1m-s $Size-t $Thread-+ n-+ m/Path/to/threadlist
OS-caches blev også opgivet på serverne mellem Iterationerne og mellem læse-og læse test ved at køre kommandoen:
# Sync & & ekko 3 >/proc/sys/VM/drop_caches
Filsystemet blev frakoblet og tilsluttet klienterne mellem gentagelser og mellem læse-og skrive tests for at rydde cachen.
Figur 5 N-N sekventiel ydeevne
I figur 5 er spidsbelastningen på 23,70 GB/s nået ved 256 tråde og den største skrivning på 22,07 GB/s, der er nået ved 512 tråde. Ydelsen for skrivning på den enkelte tråd er 623 MB/s og læst er 717 MB/s. Ydeevnen skaleres næsten lineært op til 32 tråde. Derefter ser vi, at læsninger og skrivninger er mættet, som vi skalerer. Det bringer os i stand til at forstå, at den generelle vedvarende ydeevne for denne konfiguration for læsning er ≈ 23GB/s, og at skrivningerne er ≈ 22GB/s med de spidser, som er nævnt ovenfor. Læsningerne er meget tæt på eller en smule højere end skrivernes antal, uafhængigt af antallet af anvendte tråde.
IOzone blev brugt i tilfældigheds tilstand til at evaluere en vilkårlig IO ydelse. Der blev udført test på tråd-antal fra 16 til 512 tråde. Indstillingen Direct IO (-I) blev brugt til at køre IOzone, så alle transaktioner omgå buffer cachen og gå direkte til disken. BeeGFS-Stripe-antallet på 1 og segmentstørrelse på MB blev brugt. Anmodnings størrelsen var indstillet til 4KiB. Ydeevnen blev målt i I/O-handlinger pr. sekund (IOPS). OS-cacherne gik tabt mellem kørslerne på BeeGFS-serverne. Filsystemet blev frakoblet og tilsluttet klienter igen mellem testens gentagelser. Den kommando, der bruges til vilkårlige læse-og skrive tests, er som følger:
IOzone-i 2-w-c-O-I-r 4.000-s $Size-t $Thread-+ n-+ m/Path/to/threadlist
Figur 6n-n tilfældigheds ydeevne
Figur 6 viser, at skrive ydeevnen når omkring 31K IOPS og forbliver stabilt fra 32 tråde til 512 tråde. Derimod øges læse ydeevnen med stigningen i antallet af IO anmodninger med en maksimal ydelse på omkring 47K IOPS ved 512 tråde, som er det maksimale antal tråde, der er testet for løsningen. ME4 kræver en højere kø-dybde for at nå den maksimale læsehastighed og grafen indikerer, at vi kan opnå en højere ydeevne, hvis vi kører 1024 samtidig-trådene. Men da testene kun blev kørt med 8 klienter, havde vi ikke tilstrækkeligt med kerner til at køre antallet af 1024 tråde.
Tilbage til toppen
Følgende indstillings parametre var på plads, mens performance-karakteriseringen af løsningen blev gennemgået.
Standard-Stripe-antallet for BeeGFS er 4. Afsnits størrelsen og antallet af mål pr. fil (Stipe-optællingen) kan imidlertid konfigureres på en pr. katalog-eller per-File-basis. For alle disse tests var BeeGFS-Stripe indstillet til 1 MB, og antal af striber blev indstillet til% som vist nedenfor:
$beegfs-CTL--getentryinfo--Mount =/mnt/beegfs//mnt/beegfs/benchmark/--verbose
Posttype: mappe-
ENTRYID: 1-5E72FAD3-1
ParentId: root
metadatanode: meta-numa0-1 [id: 1]
Stripe-mønster detaljer:
+ Type: RAID0
+ Chunksize: 1m
+ Antal lager destinationer: ønsket: 1
+ Storage-pulje: 1 (standard)
inode-hash-sti: 61/4C/1-5E72FAD3-1
De gennemsigtige enorme sider blev deaktiveret, og følgende virtuelle hukommelsesindstillinger konfigureret på metadata-og storage-serverne:
Følgende fremgangsmåder blev brugt til storage Block-enhederne på Storage-serverne.
Ud over de følgende BeeGFS-specifikke justeringsindstillinger blev der brugt:
beegfs-meta. conf
connMaxInternodeNum = 64
tuneNumWorkers = 12
tuneUsePerUserMsgQueues = sand # valgfri
tuneTargetChooser = roundrobin (benchmarking)
beegfs-lager. conf
connMaxInternodeNum = 64
tuneNumWorkers = 12
tuneUsePerTargetWorkers = true
tuneUsePerUserMsgQueues = true # optional
tuneBindToNumaZone = 0
tuneFileReadAheadSize = 2m
beegfs-klient. conf
connMaxInternodeNum = 24
connBufSize = 720896
Denne blog informerer frigivelsen af Dell EMC-BeeGFS High Capacity storage-løsning og fremhæver dens præstations egenskaber. Denne løsning giver en spids ydelse på 23,7 GB/s for læsninger og 22,1 GB/s for skrivninger ved hjælp af IOzone-benchmarks test. Vi ser også de tilfældige skrive toppe ved 31.3 K IOPS og tilfældige læsninger ved 47.5 K IOPS.
Som en del af de næste trin vil vi evaluere metadata ydelsen og N tråde i en enkelt fil (N til 1) IOR-ydelsen af denne løsning. En hvidbog, der beskriver metadataene og IOR performance for løsningen med yderligere oplysninger om design overvejelserne for denne High Capacity-løsning med høj tilgængelighed forventes at offentliggøres, når validerings-og evaluerings processen er gennemført.