Dit artikel is geschreven door Nirmala Sundararajan, HPC en AI-innovatie Lab, april 2020
De Dell EMC Ready-oplossingen voor de opslag van HPC BeeGFS met hoge capaciteit is een opslagoplossing die volledig wordt ondersteund voor parallelle bestandssystemen. Deze blog behandelt de oplossingsarchitectuur, hoe deze is afgestemd op HPC prestaties en biedt I/O-prestaties met behulp van zowel IOZone sequentiële als willekeurige benchmarks. Een BeeGFS krachtige opslagoplossing die is ingebouwd op NVMe-apparaten is beschreven in deze blog die is gepubliceerd in november 2019. Die architectuur benadrukt de prestaties en de oplossing die hier wordt beschreven, is een opslagoplossing met hoge capaciteit. Deze twee oplossingen voor BeeGFS verschillen in termen van hun ontwerpdoelstellingen en gebruiksvoorbeelden. De krachtige oplossing is ontworpen als oplossing voor Scratch-opslag, een staging-aard voor tijdelijke datasets die doorgaans niet buiten de levensduur van de taak worden bewaard. De oplossing met hoge capaciteit gebruikt 4x Dell EMC PowerVault ME4084-arrays die volledig gevuld zijn met een totaal van 336-schijven en biedt een pure vermogen van 4PB, indien uitgerust met 12 TB SAS stations.
De Dell EMC Ready-oplossing voor HPC BeeGFS High Capacity Storage bestaat uit een beheerserver, een paar metadata servers, een paar opslagservers en de bijbehorende opslagarrays. De oplossing biedt opslagruimte die een enkele naamruimte gebruikt die eenvoudig toegankelijk is voor de compute nodes van het cluster. De volgende afbeelding toont de referentie architectuur van de oplossing met de volgende primaire onderdelen:
Afbeelding 1 toont de referentie architectuur van de oplossing.
Afbeelding 1: Dell EMC Ready-oplossing voor HPC BeeGFS-opslag
In afbeelding 1 is de beheerserver met de BeeGFS monitoring daemon een PowerEdge R640. De twee MetaData servers (MDS) zijn PowerEdge R740-servers in een Active-Active-configuratie met hoge beschikbaarheid. Het MDS-paar is aangesloten op de 2U-PowerVault ME4024-array met 12 GB/s SAS-koppelingen. De ME4024 Storage array host de MetaData doelen (MDTs). Een ander paar PowerEdge R740-servers, ook in Active-Active-configuratie met hoge beschikbaarheid, wordt gebruikt als storage servers (SS). Dit SS-paar is verbonden met vier volledig gevulde PowerVault ME4084-opslagarrays met behulp van 12 GB/s SAS-koppelingen. De ME4084-arrays ondersteunen een keuze uit 4 TB, 8 TB, 10 TB of 12 TB NL SAS 7,2 K RPM harde schijven (Hdd's en host de opslag doelen (STs) voor het BeeGFS-bestandssysteem. Deze oplossing maakt gebruik van Mellanox InfiniBand HDR100 voor het gegevensnetwerk. De clients en servers zijn aangesloten op de 1U-Mellanox Quantum HDR QM8790-switch, die maximaal 80 poorten van HDR100 ondersteunt met behulp van HDR splitter-kabels.
De volgende tabellen beschrijven de hardware-speficiations en softwareversies die zijn gevalideerd voor de oplossing.
Beheer server | 1 x Dell EMC PowerEdge R640 |
---|---|
Metadata servers (MDS) | 2 x Dell EMC PowerEdge R740 |
Storage servers (GB) | 2 x Dell EMC PowerEdge R740 |
Processor | Beheer server: 2 x Intel Xeon Gold 5218 @ 2,3 GHz, 16 cores MDS en SS: 2 x Intel Xeon Gold 6230 bij 2,10 GHz, 20 cores per processor |
Geheugen | Beheer server: 12 x 8GB DDR4 2666MT/s DIMM'S-96GB MDS en SS: 12x 32 GB DDR4 2933MT/s DIMM'S-384GB |
InfiniBand HCA (sleuf 8) | 1x Mellanox Aansluitenx-6 HDR100-adapter met één poort per MDS en SS |
Externe opslag controllers | 2x Dell 12Gbps SAS Hba's (op elke MDS) 4x Dell 12Gbps SAS hba's (op elke SS) |
Gegevensopslag behuizing | 4x Dell EMC PowerVault ME4084-behuizingen zijn volledig gevuld met een totaal van 336 schijven 2,69 PB raw storage-capaciteit indien uitgerust met 8TB SAS drives in 4x ME4084 |
Opslagbehuizing voor metagegevens | 1x Dell EMC PowerVault ME4024-behuizing volledig gevuld met 24 schijven |
RAID-controllers | Duplex RAID-controllers in de ME4084-en ME4024-Behuizingen |
Harde schijven | 84-8TB 7200 RPM NL SAS3 drives per ME4084 Enclosure 24-960GB SAS3 ssd's per ME4024 behuizing |
Besturingssysteem | CentOS Linux release 8.1.1911 (core) |
Kernelversie | 4.18.0-147.5.1. EL8 _1. x86_64 |
Mellanox OFED versie | 4.7-3.2.9.0 |
Grafana | 6.6.2-1 |
InfluxDB | 1.7.10-1 |
BeeGFS-bestandssysteem | 7,2 beta2 |
Tabel 1: Testbed-configuratie
Opmerking: Met het oog op de karakterisering van de prestaties is BeeGFS versie 7,2 beta2 gebruikt.
De BeeGFS-architectuur bestaat uit vier hoofdservices:
Er is ook een optionele BeeGFS-bewakings service.
Met uitzondering van de client service die een kernel-module is, zijn de beheer-, metadata-en opslagservices gebruikers ruimte-processen. Het is mogelijk om een willekeurige combinatie van BeeGFS-Services (client-en serveronderdelen) samen op dezelfde computers uit te voeren. Het is ook mogelijk om meerdere exemplaren van een BeeGFS-service op dezelfde computer uit te voeren. In de Dell EMC hoge capaciteits configuratie van BeeGFS, wordt de bewakingsservice uitgevoerd op de beheerserver, meerdere exemplaren van de metadata-service uitgevoerd op de metadata servers en een enkel exemplaar van Storage service op storage servers. De beheerservice wordt geïnstalleerd op de metadata servers.
De BeeGFS-bewakingsservice (BeeGFS-Mon. service) verzamelt BeeGFS statistieken en biedt deze aan de gebruiker met behulp van de time series database InfluxDB. Voor visualisatie van gegevens biedt beegfs-Mon-grafana vooraf gedefinieerde grafana dashboards die uit de doos kunnen worden gebruikt. Afbeelding 2 biedt een algemeen overzicht van de BeeGFS-cluster met het aantal opslagservices en metagegevens Services in de installatie (zoals knooppunten in het dashboard). Het geeft ook een overzicht van de beschikbare dashboard-weergaven en geeft een overzicht van de opslag doelen.
Afbeelding 2 Grafana dashboard-BeeGFS-overzicht
De ME4024-opslagmatrix die wordt gebruikt voor metadata opslag is volledig gevuld met 24x 960GB Ssd's. Deze schijven worden geconfigureerd in 12x Linear RAID1-schijfgroepen van twee schijven, die elk worden weergegeven in afbeelding 3. Elke RAID1-groep is een metagegevens doel.
Afbeelding 3 volledig gevulde ME4024-array met 12 MDTs
Binnen BeeGFS verwerkt elke metadata service slechts één enkele MDT. Omdat er 12 MDTs zijn, moeten er 12 exemplaren zijn van de metagegevensservice. Elk van de twee metadata servers voert zes exemplaren van de metagegevensservice uit. De metadata doelen worden geformatteerd met een ext4-bestandssysteem (ext4-bestandssystemen worden goed uitgevoerd met kleine bestanden en kleine bestandsbewerkingen). Bovendien slaat BeeGFS informatie op in uitgebreide kenmerken en rechtstreeks op de inodes van het bestandssysteem om de prestaties te optimaliseren, die beide goed werken met het ext4-bestandssysteem.
Terug naar boven
De beegfs- verstelde service is op beide metadata servers ingesteld. De beegfs-vervorming Store wordt geïnitialiseerd in de directory die is vervormd op metadata target 1, zoals hieronder wordt weergegeven:
/opt/beegfs/sbin/beegfs-Setup-mgmtd-p/beegfs/metaA-numa0-1/mgmtd-S beegfs-beheer
De beheerservice is gestart op de meta-server.
In deze BeeGFS-oplossing met hoge capaciteit is de gegevensopslag verdeeld over vier PowerVault ME4084-opslagarrays. Lineair RAID-6-schijven groepen van 10 schijven (8 + 2) die elk op elke array worden gemaakt. Voor elke schijfgroep wordt een enkel volume gemaakt met alle ruimte. Dit zal resulteren in 8 schijfgroepen/-volumes per array. Elke array heeft 84 schijven en het maken van 8 x RAID-6-schijven groepen laat vier schijven staan die kunnen worden geconfigureerd als globale hot-spares op de array volumes.
Met de bovenstaande indeling worden er in totaal 32 x RAID-6-volumes verdeeld over 4 x ME4084 in een basisconfiguratie die wordt weergegeven in afbeelding 1. Elk van deze RAID-6 volumes wordt geconfigureerd als een opslagdoel (ST) voor het BeeGFS-bestandssysteem, met als resultaat een totaal van 32 STs in het bestandssysteem.
Elke ME4084-array heeft 84 schijven, met genummerde stations 0-41 in de bovenste lade en de genummerde 42-84 in de onderste lade. In afbeelding 5 geeft elke set van 10 schijven die zijn gemarkeerd op 1 tot 8 de 8xRAID6-groep weer. Er wordt één volume gemaakt van elke RAID6-groep. De gemarkeerde schijven vertegenwoordigen de wereldwijde reserve. Afbeelding 5 toont de voorkant van de array na de configuratie van 8 volumes en 4 algemene reserveten.
Afbeelding 4 RAID 6 (8 + 2)-indeling van de schijfgroep op één ME4084
De BeeGFS-client module wordt geladen op alle hosts die toegang tot het BeeGFS-bestandssysteem vereisen. Wanneer de BeeGFS-module is geladen en de BeeGFS-client-service wordt gestart, koppelt de service de bestandssystemen die zijn gedefinieerd in het bestand/etc/BeeGFS/beegfs-mounts. conf in plaats van de gebruikelijke benadering op basis van /etc/fstab. Met deze methode wordt de beegfs-client gestart als een andere Linux service via het opstartscript van de service en wordt de automatische hercompilatie van de beegfs-client module ingeschakeld na systeemupdates..
Deze sectie bevat de prestatiekenmerken van de Dell EMC Ready-oplossingen voor de opslagoplossing voor HPC BeeGFS met hoge capaciteit met behulp van de IOzone sequentiële en willekeurige benchmarks. Voor verdere prestatiekenmerken met behulp van IOR en MDtest en Details over de configuratie van hoge beschikbaarheid, zoekt u naar een Witboek dat later zal worden gepubliceerd.
De opslagprestaties zijn getest met behulp van de IOzone-benchmarktest (v 3.487). De sequentiële Lees-en schrijf doorvoer en de willekeurige lees-en schrijf IOPS werden gemeten. Tabel 2 beschrijft de configuratie van de PowerEdge R840-servers die worden gebruikt als BeeGFS-clients voor deze prestatie onderzoeken.
Clients | 8 x Dell EMC PowerEdge R840 |
---|---|
Processor | 4 x Intel (R) Xeon (R) Platinum 8260 CPU @ 2.40 GHz, 24 cores |
Geheugen | 24 x 16 GB DDR4 2933MT/s DIMM'S-384GB |
Besturingssysteem | Red Hat Enterprise Linux Server release 7,6 (Maipo) |
Kernel-versie | 3.10.0-957.el7.x86_64 |
Interconnect | 1x Mellanox HDR100-adapter met één poort |
OFED-versie | 4.7-3.2.9.0 |
Tabel 2-client configuratie
De servers en clients zijn verbonden via een HDR100-netwerk en de netwerkgegevens in tabel 3 hieronder:
InfiniBand-schakelaar | QM8790 Mellanox Quantum HDR-schakelaar-IU met 80x HDR 100 100 GB/s-poorten (met behulp van de splitter kabels) |
---|---|
Beheer schakelaar | Dell Networking S3048-ON ToR switch-1U met 48x 1GbE, 4x SFP + 10GbE-poorten |
Tabel 3: Toegangs
De opeenvolgende Lees-en schrijfmodus van IOzone is gemeten. Deze tests werden uitgevoerd op meerdere threadaantallen, vanaf 1 thread, en in stappen van 2 tot de macht n, tot maximaal 512 threads. Bij elk threadaantal werd een gelijk aantal bestanden gegenereerd, omdat deze test op één bestand per thread werkt of op N-N-basis. De processen werden verdeeld over 8 fysieke client knooppunten in een round-robin-methode, zodat de aanvragen gelijkelijk worden gedistribueerd met Load Balancing.
Voor de thread telt 16 en boven een totale bestandsgrootte van 8TB werd gekozen om de gevolgen van het cachegeheugen van de-servers en van BeeGFS-clients te minimaliseren. Voor de thread telt onder 16, de bestandsgrootte is 768 GB per thread (d.w.z. 1,5 TB voor 2 threads, 3 TB voor 4 threads en 6TB voor 8 threads). Binnen een bepaalde test wordt de gebruikte totale bestandsgrootte gelijkelijk verdeeld over het aantal threads. Er is een Recordgrootte van 1MiB gebruikt voor alle sessies. De opdracht die wordt gebruikt voor opeenvolgende N-N-tests wordt hieronder gegeven:
Opeenvolgende schrijfopdrachten en leesopdrachten: iozone-i $test-c-e-w-r 1M-s $Size-t $Thread-+ n-+ m/Path/to/threadlist
De OS-caches werden ook verwijderd op de-servers tussen iteraties en tussen de schrijf-en lees tests door de opdracht uit te voeren:
# Sync & & echo 3 >/proc/sys/vm/drop_caches
Het bestandssysteem is ontkoppeld en opnieuw gekoppeld op de clients tussen herhalingen en tussen de schrijf-en lees tests om de cache te wissen.
Afbeelding 5 N-N sequentiële prestaties
In afbeelding 5 is de piek doorvoer van 23,70 GB/s bereikt bij 256-threads en de piek schrijf van 22,07 GB/s bereikte op 512-threads. De schrijfprestaties van de enkele thread zijn 623 MB/s en lezen is 717 MB/s. De schaal van de prestaties is bijna lineair tot 32-threads. Hierna zien we dat de intensiteit van de verzadiging wordt gelezen en geschreven terwijl we schalen. Dit zorgt ervoor dat het totale duurzame resultaat van deze configuratie voor leesbewerkingen ≈ 23GB/s is en dat voor de schrijfopdrachten ≈ 22GB/s zijn met de pieken zoals hierboven vermeld. De leesopdrachten zijn erg dicht bij of enigszins hoger dan de schrijfbewerkingen, onafhankelijk van het aantal gebruikte threads.
IOzone werd gebruikt in de willekeurige modus om willekeurige i/o-prestaties te evalueren. Tests werden uitgevoerd op de thread telling van 16 tot 512 threads. De optie direct i/o (-I) is gebruikt om IOzone uit te voeren, zodat alle bewerkingen de buffercache omzeilen en rechtstreeks naar de schijf gaan. BeeGFS Stripe Count van 1 en de segmentgrootte van 1MB is gebruikt. De aanvraaggrootte is ingesteld op 4KiB. De prestaties werden gemeten in I/O-bewerkingen per seconde (IOPS). De OS-caches zijn verwijderd tussen de runs op de BeeGFS-servers. Het bestandssysteem is ontkoppeld en opnieuw gekoppeld aan clients tussen herhalingen van de test. De opdracht die wordt gebruikt voor willekeurige lees-en schrijf tests is als volgt:
iozone-i 2-w-c-O-I-r 4.000-s $Size-t $Thread-+ n-+ m/Path/to/threadlist
Afbeelding 6n-n willekeurig resultaat
Afbeelding 6 laat zien dat de schrijfprestaties rond 31K IOPS en stabiel blijven van 32-threads tot 512-threads. De leessnelheid neemt daarentegen toe met de verhoging van het aantal i/o-aanvragen met een maximale snelheid van circa 47K IOPS bij 512-threads. Dit is het maximum aantal geteste threads voor de oplossing. ME4 vereist een hogere wachtrijdiepte om de maximale leessnelheid te bereiken en de grafiek geeft aan dat we betere prestaties kunnen krijgen als we de 1024 gelijktijdige threads uitvoeren. Omdat de tests echter alleen worden uitgevoerd met acht clients, hebben we niet voldoende kernen voor het uitvoeren van het aantal 1024 threads.
Terug naar boven
De volgende afstemmings parameters waren aanwezig tijdens het uitvoeren van de prestatie beschrijving van de oplossing.
Het standaardaantal stripesets voor BeeGFS is 4. De segmentgrootte en het aantal doelen per bestand (Stipe Count) kunnen echter per map of per bestand worden geconfigureerd. Voor al deze tests was de BeeGFS-Stripe-grootte ingesteld op 1MB en is de Stripe ingesteld op 1, zoals hieronder wordt weergegeven:
$beegfs-CTL--getentryinfo--mount =/mnt/beegfs//mnt/beegfs/benchmark/--verbose
Invoertype: map
EntryID: 1-5E72FAD3-1
ParentID: hoofd
metadata-knooppunt: metaa-numa0-1 [id: 1]
Details Stripe-patroon:
+ type: RAID0
+ Chunksize: 1M
+ Aantal opslag doelen: gewenst: 1
+ Opslaggroep: 1 (standaard)
inode hash-pad: 61/4C/1-5E72FAD3-1
De transparante enorme pagina's zijn uitgeschakeld en de volgende instellingen voor het virtuele geheugen die zijn geconfigureerd op de metadata-en opslagservers:
De volgende afstemmingsopties werden gebruikt voor de opslag blokapparaten op de opslagservers.
Naast de onderstaande BeeGFS zijn specifieke afstemmingsopties gebruikt:
beegfs-meta. conf
connMaxInternodeNum = 64
tuneNumWorkers = 12
tuneUsePerUserMsgQueues = True # optioneel
tuneTargetChooser = RoundRobin (benchmarking)
beegfs-Storage. conf
connMaxInternodeNum = 64
tuneNumWorkers = 12
tuneUsePerTargetWorkers = True
tuneUsePerUserMsgQueues = True # optioneel
tuneBindToNumaZone = 0
tuneFileReadAheadSize = 2 MB
beegfs-client. conf
connMaxInternodeNum = 24
connBufSize = 720896
Deze blog kondigt de release van de BeeGFS-opslagoplossing met hoge capaciteit van Dell EMC aan en markeert de prestatiekenmerken. Deze oplossing biedt een pieksnelheid van 23,7 GB/s voor lees-en 22,1 GB/s voor schrijfopdrachten met behulp van IOzone sequentiële benchmarks. We zien ook de willekeurige schrijf pieken op 31.3 K IOPS en willekeurige leesopdrachten op 47,5 K IOPS.
Als onderdeel van de volgende stappen zullen we de prestatie-en N-threads van de metagegevens evalueren naar een enkel bestand (N tot en met 1) IOR-prestaties van deze oplossing. Een Witboek waarin de metadata en de IOR-prestaties van de oplossing worden beschreven met extra informatie over de ontwerpoverwegingen voor deze hoge capaciteits oplossing met hoge beschikbaarheid, zal naar verwachting worden gepubliceerd nadat het validatie-en evaluatieproces is voltooid.