Tässä blogikirjoituksessa käsitellään Dell EMC Ready Solutions for HPC BeeGFS Storage -ratkaisun keskeisiä ominaisuuksia. Tämä on sarjan kolmas blogi, joka koskee BeeGFS:n korkean suorituskyvyn tallennusratkaisua. Ensimmäisessä blogikirjoituksessa julkaistiin ratkaisu. Toisessa blogikirjoituksessa käsitellään Dell EMC Ready Solutions for HPC BeeGFS Storage -ratkaisun skaalautuvuutta. Se toimitti tietoja peruskokoonpanoista, joustavista skaalautuvista kokoonpanoista ja erilaisten kokoonpanojen todellisesta peräkkäisten luku-/kirjoitusten suorituskyvystä, mikä osoittaa, että skaalautuvuus on lineaarinen suhteessa ratkaisun palvelinten määrään. Nykyisessä blogikirjoituksessa korostetaan StorageBench-levyjärjestelmän käyttöä beeGFS:n sisäänrakennettujen tallennustavoitteiden vertailussa.
BeeGFS on avoimen lähdekoodin tiedostojärjestelmä, jonka voi ladata www.beegfs.io. Se on rinnakkaistiedostojärjestelmä, joka jakaa tietoja useille tallennuskohteille. Se on ohjelmisto-ohjattu tallennusjärjestelmä, joka irrottaa loogisen tiedostojärjestelmän taustalla olevasta tallennuslaitteistosta, jotta käyttäjä voi määrittää, miten ja missä tiedot tallennetaan. Tiedostojärjestelmäohjelmisto sisältää yritysominaisuuksia, kuten High Availability, Quota enforcement ja Access Control Lists. BeeGFS:n tärkeimmät ominaisuudet ovat sen helppokäyttöisyys, skaalautuvuus ja joustavuus. Sen helppokäyttöisyys johtuu siitä, että kaikki palvelinpuolen osat ovat käyttäjätilan taustamoduuleja, kun taas työasema on ydinmoduuli, joka ei edellytä korjaustiedostoja itse ytimeen. Kaikki BeeGFS-osat voi asentaa ja päivittää käynnistämättä palvelinta uudelleen. Siksi työasemat ja palvelimet voidaan lisätä olemassa olevaan järjestelmään ilman seisokkiaikaa. Lisäämällä palvelimia ja tehostamalla tiedostojärjestelmän suorituskykyä ja kapasiteettia voidaan skaalata tarkemmin tässä blogikirjoituksessa. BeeGFS tukee useita Linux-jakeluja, ja se on suunniteltu toimimaan kaikkien POSIX-yhteensopivien paikallisten tiedostojärjestelmien kanssa. BeeGFS tukee myös useiden tietyn palvelun esiintymien suorittamista samassa palvelimessa.
Dell EMC Ready -ratkaisut HPC BeeGFS -tallennukseen hyödyntävät kaikki BeeGFS-tiedostojärjestelmän tärkeimmät ominaisuudet, ja ne on suunniteltu erittäin suorituskykyiseksi. Ratkaisu käyttää PowerEdge R740xd -palvelimia metatietojen ja tietojen tallentamiseen ja palvelemiseen/käsittelyyn. Jokaisessa PowerEdge R740xd -palvelimessa on 24 x 1,6 Tt:n Intel P4600 NVMe SSD -asemaa, joita pidetään aseman teknologian toisena suurena harppauksena, ja SSD-asemat ovat ensimmäinen. HPC-ympäristöissä naarmuuntumistila voi usein olla rajoittava tekijä. Se voi olla liian pieni tai hidas. Dell EMC Ready -ratkaisut HPC BeeGFS -tallennukseen on suunniteltu käytettäväksi naarmuuntumisratkaisuna, ja ne soveltuvat naarmuuntumiseen BeeGFS-tiedostojärjestelmän avulla.
BeeGFS sisältää kaksi sisäistä vertailutyökalua, joilla verkon tai tallennuksen NetBench ja StorageBench voidaan merkitä tai arvioida tai arvioida. Kun NetBench-tila on käytössä, palvelimet hylkäävät vastaanotetut kirjoituspyynnöt tietojen kirjoittamisen sijaan. Lukupyyntöjen yhteydessä työasemiin lähetetään sen sijaan, että ne luetaan tiedostojärjestelmästä. NetBench-tila on tarkoitettu testaamaan verkon virtautuksen siirtonopeutta, joka ei ole riippumaton levyistä. StorageBench taas on tarkoitettu mittaamaan taustalla olevan tiedostojärjestelmän virtautustehoa verkon suorituskyvystä riippumatta. StorageBench on tallennustavoitteiden vertailuarvo, joka ei käytä verkkoa. Storage-bench-komento lähettää pyynnön tallennuskohteille ja alkaa kirjoittaa/lukea tietoja. Näin poistetaan verkon vaikutus. Tallennusjärjestelmän penkistä saatava tulos on paras suorituskyky, jonka järjestelmä voi saavuttaa, jos verkon suorituskyky on ihanteellinen. Tässä blogikirjoituksessa kuvaillaan, miten StorageBench-ratkaisulla voidaan vertailla tallennuskohteiden suorituskykyä ja siten tunnistaa viallisia tai väärin määritettyjä kohteita.
StorageBench ei käytä asennettua tiedostojärjestelmää. StorageBench-järjestelmässä tiedostoa kohden on vain yksi kohde. Storagebench luo hakemiston jokaiselle tallennuskohteelle järjestelmässä, jossa testitiedostot luodaan testisäikeiden määrää vastaavalla määrällä. Tiedot suoratoistetaan suoraan tähän, jotta kunkin tallennuskohteen suoritusteho on pieni. Ilman verkkoyhteyksiä tiedostojen lomituksen simulointi ei onnistu. Tallennuksen suorituskykytulokset ovat siis melko verrattavissa asiakkaan IO:hen, kun lomitus on poistettu käytöstä. Kun todelliset suorituskykytestit suoritetaan, tiedosto lomitetaan neljälle tallennuskohteelle, jos oletusarvoinen lomitustapa otetaan käyttöön.
Tallennuskohteiden testaamiseen käytettiin pieniä ja keskisuuria kokoonpanoja, jotka on kuvattu blogissa Dell EMC BeeGFS -tallennusratkaisun skaalautuvuudesta. Molemmissa kokoonpanoissa on sama määrä metatietokohteita määritettynä RAID 1 -järjestelmässä. Ne vaihtelevat tallennuskohteiden RAID-kokoonpanossa. Vaikka pienessä kokoonpanossa on tallennustila ja kohteet määritettynä RAID 0-kokoonpanossa 6 asemasta, keskitason kokoonpanossa tallennustavoitteet on määritetty RAID 10:een 6 asemasta. Pienissä ja keskisuurissa asetuksissa määritetyt tallennuskohteet luetellaan alla:
Taulukko 1 Testipenkin kokoonpano | ||
---|---|---|
Määritys | Keskitaso – RAID 10 tallennuskohteille | Pieni – RAID 0 tallennuskohteille |
Metatietokohteiden määrä | 6 | 6 |
Metatietopalvelun esiintymän määrä | 6 | 6 |
Tallennuspalvelinten määrä | 5 | 2 |
Tallennuskohteiden määrä | 22 | 10 |
Palvelinkohtaisen tallennuspalvelun määrä | 4 | 4 |
Tallennuspalvelun määrä NUMA-vyöhykettä kohden | 2 | 2 |
Kohteiden määrä tallennuspalvelun esiintymää kohden | 2 | 2 |
Huomautus: Edellä mainittu keskitason määritys on tarkoitettu ainoastaan tallennuskohteiden siirtonopeuden testaamiseen, joka on määritetty eri RAID-kokoonpanoissa StorageBench-työkalulla.
Tallennuksen suorituskykytestausta käynnistetään ja sitä seurataan beegfs-ctl-työkalulla. beegfs-utils-paketti tarjoaa beegfs-ctl-komentorivityökalun, jolla voidaan suorittaa tallennuskohteiden suorituskykytestausta. Seuraavassa esimerkissä aloitetaan kirjoitustestaus kaikkien BeeGFS-tallennuspalvelimien kaikkiin kohteisiin, joiden IO-lohkokoko on 512 Kt. Kun kohdekohtaisia säikeitä on 16, kukin tallentaa 200 Gt tietoa omaan tiedostoonsa.
[root@stor1 ~]# beegfs-ctl --storagebench --alltargets --write --blocksize=512K --size=200G --threads=16
Write storage benchmark was started.
Voit kysellä tilaa beegfs-ctl:n --status-argumentilla.
Palvelimen suorituskykytestauksen tila:
Käynnissä: 10
Running: 10":n tulos osoittaa, että järjestelmään on määritetty yhteensä 10 tallennuskohdetta.
Voit tehdä kyselyn kaikkien kohteiden suorituskykytestauksen tilasta/tuloksista seuraavalla komennolla:
[root@stor1 ~]# beegfs-ctl --storagebench --alltargets --status
Server benchmark status:
Finished: 10
kirjoitustestauksen tulokset:
min throughput: 4692435 KiB/s nodeID: stor1-numa0-2 [tunnus: 6], kohdetunnus: 50 suurin
siirtonopeus: 5368537 KiB/s nodeID: meta-stor-numa1-2 [TUNNUS: 2], kohdetunnus: 48
Avg-siirtonopeus: 4907091 KiB/s-kokonaissuoritusteho
: 49070915 KiB/s
Tarkan komennon lisääminen näyttää luettelon kaikista kohteista ja niiden suoritustehon.
[root@meta-stor ~]# beegfs-ctl --storagebench --alltargets --status --verbose
Server benchmark status:
Finished: 10
kirjoitustestauksen tulokset:
min throughput: 4692435 KiB/s nodeID: stor1-numa0-2 [tunnus: 6], kohdetunnus: 6
suurin siirtonopeus: 5368537 KiB/s nodeID: meta-stor-numa1-2 [TUNNUS: 2], kohdetunnus: 2
Avg-siirtonopeus: 4907091 KiB/s-kokonaissuoritusteho
: 49070915 KiB/s
Luettelo kaikista kohteista:
1 5368477 KiB/s nodeID: meta-stor-numa1-1 [ID: 1]
2 5368537 KiB/s nodeID: meta-stor-numa1-2 [tunnus: 2]
3 4706368 KiB/s nodeID: stor1-numa0-1 [tunnus: 3]
4 4896077 KiB/s nodeID: stor1-numa1-1 [tunnus: 4]
5 4872876 KiB/s nodeID: stor1-numa1-2 [tunnus: 5]
6 4692435 KiB/s nodeID: stor1-numa0-2 [tunnus: 6]
7 4879054 KiB/s nodeID: stor2-numa1-2 [tunnus: 7]
8 4864737 KiB/s nodeID: stor2-numa1-1 [tunnus: 8]
9 4696152 KiB/s nodeID: stor2-numa0-1 [tunnus: 9]
10 4726202 KiB/s nodeID: stor2-numa0-2 [tunnus: 10]
RAID 0:ssa määritetty tallennustavoitekohtainen siirtonopeus on keskimäärin 5,02 Gt/s.
Seuraavassa esimerkissä aloitetaan kirjoitustestaus kaikkien BeeGFS-tallennuspalvelimien kaikkiin kohteisiin, joiden IO-lohkokoko on 512 Kt. Kun kohdekohtaisia säikeitä on 16, kukin tallentaa 200 Gt tietoa omaan tiedostoonsa.
[root@node001 ~]# beegfs-ctl --storagebench --alltargets --write --blocksize=512K --size=200G --threads=16
Write storage benchmark was started.
Voit kysellä tilaa beegfs-ctl:n --status-argumentilla.
Palvelimen suorituskykytestauksen tila:
Käynnissä: 22
Tarkan komennon lisääminen näyttää luettelon kaikista kohteista ja niiden suoritustehon.
[root@node001 ~]# beegfs-ctl --storagebench --alltargets --status --verbose
Server benchmark status:
Finished: 22
kirjoituksen suorituskykytulokset:
minimisuoritusteho: 2705987 KiB/s nodeID: node006-numa0-1 [TUNNUS: 19], kohdetunnus: 1
suurin siirtonopeus: 3364311 KiB/s nodeID: node001-numa1-1 [TUNNUS: 1], kohdetunnus: 1
Avg-siirtonopeus: 3212845 KiB/s-kokonaissuoritusteho
: 70682603 KiB/sKaikkien kohteiden luettelo:
1 3364311 KiB/s nodeID: node001-numa1-1 [ID: 1]
2 3361591 KiB/s nodeID: node001-numa1-2 [tunnus: 2]
3 3309530 KiB/s nodeID: node002-numa0-1 [tunnus: 3]
4 3312840 KiB/s nodeID: node002-numa0-2 [tunnus: 4]
5 3332095 KiB/s nodeID: node002-numa1-1 [tunnus: 5]
6 3323319 KiB/s nodeID: node002-numa1-2 [tunnus: 6]
7 3313000 KiB/s nodeID: node003-numa0-1 [tunnus: 7]
8 3321214 KiB/s nodeID: node003-numa0-2 [tunnus: 8]
9 3335072 KiB/s nodeID: node003-numa1-1 [tunnus: 9]
10 3339743 KiB/s nodeID: node003-numa1-2 [tunnus: 10]
11 3302175 KiB/s nodeID: node004-numa0-1 [tunnus: 11]
12 3309474 KiB/s nodeID: node004-numa0-2 [tunnus: 12]
13 3329879 KiB/s nodeID: node004-numa1-1 [tunnus: 13]
14 3328291 KiB/s nodeID: node004-numa1-2 [tunnus: 14]
15 3306132 KiB/s nodeID: node005-numa0-1 [tunnus: 15]
16 3307096 KiB/s nodeID: node005-numa0-2 [tunnus: 16]
17 3318436 KiB/s nodeID: node005-numa1-1 [tunnus: 17]
18 3329684 KiB/s nodeID: node005-numa1-2 [tunnus: 18]
19 2705987 KiB/s nodeID: node006-numa0-1 [tunnus: 19]
20 2716438 KiB/s nodeID: node006-numa0-2 [tunnus: 20]
21 2707970 KiB/s nodeID: node006-numa1-1 [tunnus: 21]
22 2708326 KiB/s nodeID: node006-numa1-2 [TUNNUS: 22]
Keskimääräinen siirtonopeus tallennustavoitetta kohti on 3,29 Gt/s.
Kahden BeeGFS-kokoonpanon StorageBench-vertailutestien tuloksena on nähtävissä, että tallennustavoitteet on määritetty RAID 0:ssa ja toisessa RAID 10:ssä tallennustavoitteet, kirjoitusteho on raid 0:ssa määritettyjen tallennustavoitteiden kannalta parempi kuin RAID 10:ssä. Kun dd-komennolla kirjoitettiin 10G-tiedostoa, jonka lohkokoko on 1 Mt ja "oflag=direct", RAID 10:een määritetyn tallennusjärjestelmän keskimääräinen siirtonopeus on noin 5,1 Gt/s, kun taas RAID 10-järjestelmään määritetty keskikokoinen siirtonopeus on keskimäärin 3,4 Gt/s, mikä on verrattavissa StorageBench-työkalulla saatuihin tuloksiin.
[root@node001 ~]# beegfs-ctl --storagebench --alltargets --status --verbose
Server benchmark status:
Finished: 33
lukuvertailutuloksia:
minimisuoritusteho: 2830479 KiB/s nodeID: node003-numa1-2 [TUNNUS: 14], kohdetunnus: 14
suurin siirtonopeus: 3025500 KiB/s nodeID: node005-numa0-1 [tunnus: 22], kohdetunnus: 22
Avg-siirtonopeus: 2917836 KiB/s-kokonaissuoritusteho
: 96288596 KiB/s
Luettelo kaikista kohteista:
1 2950039 KiB/s nodeID: node001-numa1-1 [ID: 1]
2 2956121 KiB/s nodeID: node001-numa1-2 [tunnus: 2]
3 2954473 KiB/s nodeID: node001-numa1-3 [tunnus: 3]
4 2957658 KiB/s nodeID: node002-numa0-1 [tunnus: 4]
5 2947109 KiB/s nodeID: node002-numa0-2 [tunnus: 5]
6 2969886 KiB/s nodeID: node002-numa0-3 [tunnus: 6]
7 2892578 KiB/s nodeID: node002-numa1-1 [tunnus: 7]
8 2886899 KiB/s nodeID: node002-numa1-2 [tunnus: 8]
9 2888972 KiB/s nodeID: node002-numa1-3 [tunnus: 9]
10 2861995 KiB/s nodeID: node003-numa0-1 [tunnus: 10]
11 2874314 KiB/s nodeID: node003-numa0-2 [tunnus: 11]
12 2879096 KiB/s nodeID: node003-numa0-3 [tunnus: 12]
13 2832635 KiB/s nodeID: node003-numa1-1 [tunnus: 13]
14 2830479 KiB/s nodeID: node003-numa1-2 [tunnus: 14]
15 2830971 KiB/s nodeID: node003-numa1-3 [TUNNUS: 15]
16 2986890 KiB/s nodeID: node004-numa0-1 [tunnus: 16]
17 2979197 KiB/s nodeID: node004-numa0-2 [tunnus: 17]
18 2983958 KiB/s nodeID: node004-numa0-3 [tunnus: 18]
19 2897974 KiB/s nodeID: node004-numa1-1 [tunnus: 19]
20 2900880 KiB/s nodeID: node004-numa1-2 [tunnus: 20]
21 2904036 KiB/s nodeID: node004-numa1-3 [tunnus: 21]
22 3025500 KiB/s nodeID: node005-numa0-1 [tunnus: 22]
23 3021558 KiB/s nodeID: node005-numa0-2 [tunnus: 23]
24 3017387 KiB/s nodeID: node005-numa0-3 [tunnus: 24]
25 2921480 KiB/s nodeID: node005-numa1-1 [tunnus: 25]
26 2930226 KiB/s nodeID: node005-numa1-2 [tunnus: 26]
27 2930548 KiB/s nodeID: node005-numa1-3 [tunnus: 27]
28 2900018 KiB/s nodeID: node006-numa0-1 [tunnus: 28]
29 2898520 KiB/s nodeID: node006-numa0-2 [tunnus: 29]
30 2907113 KiB/s nodeID: node006-numa0-3 [tunnus: 30]
31 2855079 KiB/s nodeID: node006-numa1-1 [tunnus: 31]
32 2853527 KiB/s nodeID: node006-numa1-2 [TUNNUS: 32]
33 2861480 KiB/s nodeID: node006-numa1-3 [TUNNUS: 33]
Yllä olevasta tuloksesta näkyy, että kaikki tallennuskohteet toimivat tasaisesti eikä järjestelmässä ole viallisia kohteita.