Denna artikel har skrivits av Nirmala Sundararajan, HPC och AI Innovations labbet, april 2020
Dell EMC redo lösningar för HPC BeeGFS hög kapacitets lagring är en fullt fungerande lagrings lösning med hög genomflöde. I den här bloggen diskuteras lösnings arkitekturen, hur den är justerad för HPC prestanda och visar I/O-prestanda med både IOZone och slumpmässiga riktmärken. En BeeGFS-lagrings lösning med hög prestanda som bygger på NVMe-enheter beskrivs i den här bloggen som publicerades under noven 2019. Denna arkitektur betonade prestanda, och den lösning som beskrivs här är en lagrings lösning med hög kapacitet. Dessa två lösningar för BeeGFS är olika i termer av deras design mål och användnings fall. Den höga prestanda lösningen är utformad som ett förvarings utrymme för virtuella enheter, en mellanlagrings grund för tillfälliga data uppsättningar som vanligt vis inte behålls utanför jobbets livs längd. Lösningen med hög kapacitet använder 4x Dell EMC PowerVault ME4084-matriser helt ifylld med totalt 336 enheter och ger en RAW-kapacitet på 4PB om den är utrustad med 12 TB SAS-enheter.
Dell EMC Ready solution for HPC BeeGFS hög kapacitets lagring består av en hanterings Server, ett par med metadata-servrar, ett par lagrings servrar och tillhör ande lagringsmatriser. Lösningen tillhandahåller ett lagrings utrymme som använder ett enda namn område som enkelt kan nås av klustrets beräknade noder. Följande figur visar referens arkitekturen för lösningen med dessa primära komponenter:
Bild 1 visar referens arkitekturen för lösningen.
Bild 1: Dell EMC redo lösning för HPC BeeGFS-lagring
I bild 1 är administrations servern som kör BeeGFS Monitoring daemon en PowerEdge-R640. De två MetaData-servrarna (MDS) är PowerEdge R740-servrar i en aktiv-aktiv konfiguration med hög tillgänglighet. MDS-paret är anslutet till 2U, PowerVault ME4024-matris med 12 GB/s SAS länkar. ME4024-lagringsmatrisen är värd för MetaData-målen (MDTs). Ett annat par PowerEdge R740-servrar, även i Active-Active-Configuration med hög tillgänglighet, används som lagrings servrar (SS). Det här SS-paret är anslutet till fyra helt ifyllda PowerVault ME4084-lagringsmatriser med 12 GB/s SAS länkar. ME4084-matriserna stöder ett val av 4 TB, 8 TB, 10 TB, eller 12 TB NL SAS 7,2 K RPM hårddisk enheter (hård diskar och värdar för lagrings målen (STs) för fil systemet BeeGFS. Den här lösningen använder Mellanox InfiniBand-HDR100 för data nät. Klienterna och servrarna är anslutna till 1U-Mellanox Quantum HDR-QM8790, som stöder upp till 80 portar för HDR100 med hjälp av HDR-delares kablar.
Följande tabeller beskriver maskin varans speficiations och program varu versioner som har validerats för lösningen.
Hanterings Server | 1x Dell EMC PowerEdge R640 |
---|---|
Metadata-servrar (MDS) | 2x Dell EMC PowerEdge R740 |
Lagrings servrar (SS) | 2x Dell EMC PowerEdge R740 |
Processor | Hanterings Server: 2 x Intel Xeon Gold 5218 @ 2,3 GHz, 16 cores MDS och SS: 2 x Intel Xeon Gold 6230 vid 2,10 GHz, 20 kärnor per processor |
Minne | Hanterings Server: 12 x 8 GB DDR4 2666MT/s DIMM-96GB MDS och SS: 12x 32 GB DDR4 2933MT/s DIMM-384GB |
InfiniBand-HCA (kort plats 8) | 1x Mellanox ConnectX-6 Single port HDR100-adapter per MDS och SS |
Externa lagrings styrenheter | 2x Dell 12Gbps SAS HBA (på varje MDS) 4x Dell 12Gbps SAS HBA (på varje SS) |
Data lagrings hölje | 4x Dell EMC PowerVault ME4084-höljen fylls helt med totalt 336 enheter 2,69 PB rå lagrings kapacitet om de är utrustade med 8TB SAS-enheter i 4X ME4084 |
Hölje för metadata lagring | 1x Dell EMC PowerVault ME4024-höljet helt ifylld med 24 enheter |
RAID-styrenheter | Duplex RAID-styrenheter i ME4084-och ME4024-höljen |
Hårddiskar | 84-8TB 7200 RPM NL SAS3-enheter per ME4084-hölje 24-960GB SAS3 SSD per ME4024-hölje |
Operativsystem | CentOS Linux versions 8.1.1911 (Core) |
Kernel-version | 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 | 7,2 beta2 |
Tabell 1: Konfiguration av testbädd
Obs! I syfte att utföra prestanda karakterisering har BeeGFS version 7,2 beta2 använts.
BeeGFS-arkitekturen består av fyra huvud tjänster:
Det finns även en extra tjänst för BeeGFS övervakning.
Med undantag för klient tjänsten som är en kernel-modul är hantering, metadata och lagrings tjänster användar utrymmes processer. Det är möjligt att köra valfri kombination av BeeGFS-tjänster (klient-och Server komponenter) tillsammans på samma maskiner. Det är även möjligt att köra flera instanser av en BeeGFS-tjänst på samma maskin. I Dell EMC hög kapacitets konfiguration av BeeGFS körs övervaknings tjänsten på administrations servern, flera instanser av metadatatjänsten körs på servrarna för metadata och en enda instans av lagrings tjänsten körs på lagrings servrar. Hanterings tjänsten är installerad på metadata-servrarna.
BeeGFS Monitoring service (BeeGFS-mån. service) samlar in BeeGFS-statistik och ger dem till användaren med hjälp av tids serie databasen InfluxDB. För visualisering av data tillhandahåller beegfs-mån-Grafana fördefinierade Grafana -instrumentpaneler som kan användas utanför lådan. Bild 2 ger en allmän översikt av BeeGFS-klustret som visar antalet lagrings tjänster och metadata-tjänster i inställningarna (kallas för noder i instrument panelen). Den listar även andra tillgängliga instrument paneler och ger en översikt över lagrings målen.
Bild 2 Grafana Dashboard-översikt över BeeGFS
Den ME4024 lagrings mat ris som används för lagring av metadata är helt ifylld med 24x 960GB-SSD. Dessa enheter är konfigurerade i 12x linjära RAID1 disk grupper på två enheter som visas i bild 3. Varje RAID1-grupp är ett mål för MetaData.
Bild 3 helt ifylld ME4024-matris med 12 MDTs
I BeeGFS hanterar varje metadatatjänst bara en enda MDT. Eftersom det finns 12 MDTs måste du ha 12 instanser av metadatatjänsten. Var och en av de två metadata-servrarna kör sex instanser av metadatatjänsten. Metadata-målen är formaterade med ett ext4 fil system (ext4-filsystem fungerar bra med små filer och små fil åtgärder). Dessutom lagrar BeeGFS information i utökade attribut och direkt på fil systemets noder för att optimera prestanda, båda fungerar bra med Ext4-filsystemet.
Tillbaka till början
Den beegfs- sammanslagna tjänsten konfigureras på båda metadata-servrarna. Beegfs MGMT Store initieras i den katalog som har sammanställts för metadata mål 1 så som visas nedan:
/opt/beegfs/sbin/beegfs-setup-mgmtd-p/beegfs/metaA-numa0-1/mgmtd-S beegfs-MGMT
Hanterings tjänsten startas på meta-servern.
I denna BeeGFS-lösning med hög kapacitet är data lagringen över fyra PowerVault ME4084-lagringsmatriser. Linjära RAID-6-disk grupper med 10 enheter (8 + 2) skapas på varje matris. En enda volym som använder allt utrymme skapas för varje disk grupp. Detta resulterar i 8 disk grupper/volymer per matris. Varje matris har 84 enheter och skapar 8 x RAID-6 disk grupper, men 4 enheter som kan konfigureras som globala reserv delar över mat ris volymerna.
Med den layout som beskrivs ovan finns det totalt 32 x RAID-6-volymer över 4 x ME4084 i en bas konfiguration som visas i bild 1. Var och en av dessa RAID-6-volymer är konfigurerade som ett lagrings mål (ST) för BeeGFS-filsystemet, vilket resulterar i totalt 32 STs i fil systemet.
Varje ME4084-matris har 84 enheter, med enheter numrerade 0-41 i den översta lådan och de numrerade 42-84 i botten lådan. I bild 5 representerar varje uppsättning med 10 enheter som är markerade 1 till 8 en 8xRAID6-grupp. En volym skapas från varje RAID6-grupp. Enheterna som är märkta med "S" representerar globala reserv delar. Bild 5 visar den främre vyn av matrisen efter konfigurering av 8 volymer och 4 globala reserv delar.
Bild 4 RAID 6-(8 + 2) layout för disk grupp på en ME4084
BeeGFS client-modulen läses in på alla värdar som behöver åtkomst till BeeGFS-filsystemet. När BeeGFS-modulen laddas och BeeGFS-Client-tjänsten startas monteras de fil system som definieras i/etc/BeeGFS/beegfs-Mounts. conf -filen i stället för den vanliga metoden baserat på /etc/fstab. Med den här metoden startar beegfs-klienten som någon annan Linux tjänst via Start skriptet och aktiverar automatisk autokompilering av beegfs client-modulen efter system uppdateringar..
I det här avsnittet visas prestanda egenskaperna för Dell EMC klara lösningar för HPC BeeGFS lagrings lösning med hög kapacitet med hjälp av IOzone och slumpmässiga riktmärken. För ytterligare prestanda karakterisering med hjälp av IOR och MDtest och detaljer om konfigurationen av hög tillgänglighet, letar du efter ett fakta blad som ska publiceras vid ett senare tillfälle.
Lagrings prestandan utvärderades med hjälp av IOzone benchmark (v 3.487). Det sekventiella Läs-och skriv-genomflöde, och slumpmässiga Läs-och skriv IOPS mättes. Tabell 2 beskriver konfigurationen av PowerEdge R840-servrar som används som BeeGFS-klienter för dessa prestanda studier.
Client | 8x Dell EMC PowerEdge R840 |
---|---|
Processor | 4 x Intel (R) Xeon (R) platina 8260 CPU @ 2,40 GHz, 24 kärnor |
Minne | 24 x 16 GB DDR4 2933MT/s DIMM-384GB |
Operativsystem | Red Hat Enterprise Linux Server release 7.4 (Maipo) |
Kernel-version | 3.10.0-957.el7.x86_64 |
Interconnect | 1x Mellanox ConnectX-6 HDR100-adapter med en port |
OFED Version | 4,7-3.2.9.0 |
Tabell 2 klient konfiguration
Servrarna och klienterna är anslutna via ett HDR100 nätverk och nätverks informationen som anges i tabell 3 nedan:
InfiniBand-switch | QM8790 Mellanox Quantum HDR Edge-IE med 80x HDR 100 100/s-portar (med hjälp av delare-kablar) |
---|---|
Hanterings brytare | Dell Networking S3048-ON ToR switch-1U med 48x 1GbE, 4x SFP + 10 GbE-portar |
Tabell 3: Nätverks
De sekventiella läsningarna och skrivningarna mättes med det sekventiella Läs-och skriv läget för IOzone. Dessa tester utfördes på flera antal trådar med start från 1 tråd, som ökar med en faktor på två, upp till 512 trådar. Vid varje antal trådar genererades ett lika stort antal filer, eftersom det här testet fungerar på en fil per tråd eller i N-N-höljet. Processerna distribuerades över 8 fysiska klientens noder i ett Round Robin-läge så att förfrågningarna distribueras jämnt med belastnings utjämning.
För tråd räknas 16 och ovanför en sammanlagd fil storlek för 8TB valdes för att minimera effekterna av cachelagring från servrarna såväl som från BeeGFS-klienter. För tråd antal under 16 är fil storleken 768 GB per tråd (dvs. 1,5 TB för 2 trådar, 3 TB för 4 trådar och 6TB för 8 trådar). I ett givet test är den sammanlagda fil storleken som används jämnt indelad bland antalet trådar. En post storlek för 1MiB användes för alla körningar. Kommandot som används för sekventiella N-N-tester anges nedan:
Sekventiella skrivningar och läsningar: IOzone-i $test-c-e-w-r 1m-s $Size-t $Thread-+ n-+ m/path/to/threadlist
OS-cacheminnen släpptes även på servrarna mellan iterationer såväl som mellan Skriv-och Läs test genom att köra kommandot:
# Sync & & ECHO 3 >/proc/sys/VM/drop_caches
Fil systemet demonterades och monterades på klienterna mellan iterationer och mellan Skriv-och Läs test för att rensa cacheminnet.
Bild 5: N-N – sekventiell läsprestanda
I bild 5 uppnås belastnings flödet på 23,70 GB/s vid 256 trådar och den högsta skrivningen av 22,07 GB/s som uppnås vid 512-trådar. Skriv prestanda för en enda tråd är 623 MB/s och Read är 717 MB/s. Prestandan skalar nästan linjärt upp till 32 trådar. Efter det ser vi att läser och skriver Saturate allteftersom vi skalar. Detta gör att vi förstår att den totala prestandan hos denna konfiguration för läsningar är ≈-23GB/s och att skrivningen är ≈ 22GB/s med topparna som nämnts ovan. Läsningarna är mycket nära eller något högre än skrivningarna, oberoende av antalet trådar som används.
IOzone användes i slumpmässigt läge för att utvärdera slumpmässigt IO-prestanda. Tester utfördes på tråd antal från 16 till 512 trådar. Direct IO-alternativet (-I) har använts för att köra IOzone så att alla åtgärder kringgår cacheminnet och går direkt till disken. BeeGFS striping-antal 1 och segment storleken 1 MB har använts. Begär ande storleken var inställd på 4KiB. Prestanda mättes i i/O-åtgärder per sekund (IOPS). OS-cacheminnet har tagits bort från körningarna på BeeGFS-servrarna. Fil systemet har demonterats och demonterats på klienter mellan iterationer av testet. Det kommando som används för slumpmässiga Läs-och skriv tester är som följer:
IOzone-i 2-w-c-O-I-r 4K-s $Size-t $Thread-+ n-+ m/path/to/threadlist
Bild 6n-n slumpmässiga prestanda
Bild 6 visar att Skriv prestandan når omkring 31K IOPS och förblir stabil från 32 trådar till 512 trådar. Däremot ökar Läs prestandan med ökningen av antalet IO-begäranden med en maximal prestanda på omkring 47K IOPS vid 512 trådar, vilket är det maximala antalet trådar som testas för lösningen. ME4 kräver ett högre ködjup för att nå den maximala läsnings prestandan och grafen indikerar att det går att få högre prestanda om vi kör 1024 samtidiga trådar. Eftersom testerna bara kördes med 8 klienter har vi dock inte tillräckligt med kärnor för att kunna köra 1024-tråd räkningen.
Tillbaka till början
Följande justerings parametrar var på plats medan man utförde prestanda karakteriseringen av lösningen.
Standard stripe-antalet för BeeGFS är 4. Segment storleken och antalet mål per fil (Stipe Count) kan dock konfigureras per katalog eller per fil. För alla dessa tester var BeeGFS stripe-storlek inställt på 1 MB och stripe-antalet är inställt på den (se nedan):
$beegfs-CTL--getentryinfo--Mount =/mnt/beegfs//mnt/beegfs/benchmark/--verbose
Post typ: Katalog-
ENTRYID: 1-5E72FAD3-1
lib: root
metadata node: metaa-numa0-1 [ID: 1]
randigt mönster information:
+ Typ: RAID0
+ Chunksize: 1m
+ Antal lagrings mål: önskat: 1
+ Lagringspool: 1 (standard)
inode hash-sökväg: 61/1: A/1-5E72FAD3-1
De transparenta enorma sidorna har inaktiverats och följande inställningar för virtuellt minne som är konfigurerade på metadata-och lagrings servrarna:
Följande justerings alternativ användes för lagrings block enheterna på lagrings servrarna.
Utöver ovanstående ovan användes följande BeeGFS-specifika justerings alternativ:
beegfs-meta. conf
connMaxInternodeNum = 64
tuneNumWorkers = 12
tuneUsePerUserMsgQueues = True # tillval
tuneTargetChooser = RoundRobin (benchmarking)
beegfs-lagring. conf
connMaxInternodeNum = 64
tuneNumWorkers = 12
tuneUsePerTargetWorkers = True
tuneUsePerUserMsgQueues = True # tillval
tuneBindToNumaZone = 0
tuneFileReadAheadSize = 2m
beegfs-client. conf
connMaxInternodeNum = 24
connBufSize = 720896
Den här bloggen tillkännager lanseringen av Dell EMC BeeGFS hög kapacitets lagrings lösning och framhäver prestanda egenskaperna. Den här lösningen ger en topp prestanda på 23,7 GB/s för läsningar och 22,1 GB/s för skrivningar med IOzone sekventiella benchmarks. Vi ser även slumpmässiga Skriv toppar vid 31.3 K IOPS och slumpmässiga läsningar på 47.5 K IOPS.
Som en del av nästa steg kommer vi att utvärdera metadata-prestanda och N-trådar till en enda fil (N till 1) IOR prestanda för den här lösningen. Ett fakta blad som beskriver lösningens metadata och IOR prestanda med ytterligare information om design överväganden för den här lösningen med hög tillgänglighet förväntas publiceras när validerings-och utvärderings processen har slutförts.