PowerEdge: Funkce řešení Dell Ready Solutions pro úložiště HPC BeeGFS
Summary: Funkce řešení Dell Ready Solutions pro úložiště HPC BeeGFS
Instructions
Obsah
- Úvod
- StorageBench – pro porovnání výkonu různých konfigurací RAID
- StorageBench – k identifikaci vadných nebo nesprávně nakonfigurovaných cílů úložiště
- Závěr a budoucí práce
Úvod
Tento blog pojednává o hlavních funkcích řešení Dell Ready Solutions pro úložiště HPC BeeGFS, která byla nedávno oznámena. Toto je třetí blog ze série týkající se vysoce výkonného úložného řešení BeeGFS. První blog oznámil vydání řešení. Druhý blog se zabýval škálovatelností řešení Dell Ready Solutions pro úložiště HPC BeeGFS. Poskytla podrobnosti týkající se základních konfigurací, flexibilních škálovatelných konfigurací a naměřeného výkonu sekvenčního čtení a zápisu různých konfigurací, což ukazuje, že škálovatelnost je lineární s ohledem na počet serverů v řešení. Aktuální blog upozorňuje na použití "StorageBench", srovnávacího testu integrovaných cílů úložiště BeeGFS.
BeeGFS je souborový systém s otevřeným zdrojovým kódem, který lze stáhnout z www.beegfs.io. Jedná se o paralelní souborový systém, který distribuuje data do více cílových úložišť. Jedná se o softwarově definované úložiště, které odděluje logický souborový systém od základního hardwaru úložiště a umožňuje uživateli definovat, jak a kde jsou data uložena. Software systému souborů obsahuje podnikové funkce, jako je vysoká dostupnost, vynucování kvót a seznamy řízení přístupu. Klíčovými vlastnostmi BeeGFS jsou jeho snadné použití, škálovatelnost a flexibilita. Jeho snadné použití pramení ze skutečnosti, že všechny komponenty na straně serveru jsou démony uživatelského prostoru, zatímco klient je modul jádra, který nevyžaduje žádné záplaty samotného jádra. Všechny komponenty BeeGFS lze nainstalovat a aktualizovat bez restartování serveru. Ke stávajícímu systému tak můžeme přidávat klienty a servery bez prostojů. Přidáním serverů a disků lze výkon a kapacitu souborového systému více škálovat na blogu, na který odkazujeme zde. BeeGFS podporuje více distribucí Linuxu a je navržen tak, aby fungoval s jakýmkoli místním souborovým systémem kompatibilním se standardem POSIX. BeeGFS také podporuje spuštění více instancí dané služby na stejném serveru.
Úložiště Dell Ready Solutions for HPC BeeGFS využívá všechny klíčové funkce souborového systému BeeGFS a je navrženo s ohledem na vysoký výkon. Toto řešení využívá servery PowerEdge R740xd k ukládání, obsluze nebo zpracování metadat a dat. Každý server PowerEdge R740xd obsahuje 24x 1,6TB disky Intel P4600 NVMe SSD, které jsou považovány za druhý velký skok v technologii disků. V prostředích HPC může být pomocný prostor často omezujícím faktorem. Může být příliš malý nebo příliš pomalý. Řešení Dell EMC Ready Solutions for HPC Úložiště BeeGFS je navrženo pro použití jako pomocné řešení a obsluhuje pomocné úložiště pomocí systému souborů BeeGFS.
BeeGFS obsahuje dva integrované benchmarkingové nástroje, které mohou pomoci charakterizovat nebo vyhodnotit síť nebo úložiště NetBench a StorageBench . Když je povolen režim NetBench, servery místo zápisu dat zahodí přijaté požadavky na zápis. Podobně v případě požadavků na čtení jsou klientům místo čtení ze základního systému souborů odesílány pouze vyrovnávací paměti paměti. Režim NetBench je určený k testování propustnosti streamování sítě nezávisle na podkladových discích. Na druhé straně je StorageBench určený k měření propustnosti streamování základního systému souborů nezávisle na výkonu sítě. StorageBench je srovnávací test cílů úložiště, který nepoužívá síť. Příkaz storage-bench jednoduše odešle požadavek do cílů úložiště, aby se začala zapisovat a číst data. Tím eliminujeme dopad sítě. Výstup, který získáme z úložné lavice, je nejlepší výkon, kterého může systém dosáhnout, pokud je výkon sítě ideální. Tento blog ukazuje, jak StorageBench lze použít k porovnání výkonu různých cílů úložiště, a tím k identifikaci vadných nebo chybně nakonfigurovaných cílů.
StorageBench – pro porovnání výkonu různých konfigurací RAID
StorageBench nepoužívá připojený systém souborů. Když spustíme StorageBench, existuje pouze jeden cíl pro každý soubor. Storagebench vytvoří adresář na každém cíli úložiště v systému, kde se vytvářejí testovací soubory, které se rovnají počtu testovacích vláken. Data se streamují přímo do tohoto úložiště, aby se zobrazila propustnost nízké úrovně, která je k dispozici pro každý cíl úložiště. Bez jakékoli síťové komunikace nelze simulovat prokládání souborů. Výsledky srovnávacího testu úložiště jsou tedy spíše srovnatelné se vstupně-výstupními operacemi klienta se zakázaným prokládáním. Při spuštění srovnávacích testů se soubor proloží mezi čtyři cíle úložiště, pokud se použije výchozí vzor prokládání.
Pro účely testování různých cílů úložiště byly použity malé a střední konfigurace popsané v blogu o škálovatelnosti úložného řešení Dell BeeGFS. Obě konfigurace mají stejný počet cílů metadat nakonfigurovaných v poli RAID 1. Liší se konfigurací RAID cílových úložišť. Zatímco malá konfigurace obsahuje cíle úložiště nakonfigurované v poli RAID 0 se 6 disky, střední konfigurace má cíle úložiště nakonfigurované v poli RAID 10 se šesti disky. Cíle úložiště nakonfigurované v nastavení Small a Medium jsou uvedeny v tabulce níže:
| Tabulka 1: Konfigurace testbedu | ||
|---|---|---|
| Configuration | Střední – pole RAID 10 pro cíle úložiště | Malé – pole RAID 0 pro cíle úložiště |
| Počet cílů metadat | 6 | 6 |
| Počet instancí služby metadat | 6 | 6 |
| Počet serverů úložišť | 5 | 2 |
| Počet cílů úložišť | 22 | 10 |
| Počet služeb úložiště na server | 4 | 4 |
| Počet služeb úložiště na zónu NUMA | 2 | 2 |
| Počet cílů na instanci služby úložiště | 2 | 2 |
Poznámka: Výše uvedená konfigurace nastavení média slouží pouze k testování propustnosti cílů úložiště nakonfigurovaných v různých konfiguracích RAID pomocí nástroje StorageBench.
Srovnávací test zápisu do systému StorageBench – v malé konfiguraci s cíli úložiště nakonfigurovanými v poli RAID 0
Srovnávací test úložiště se spustí a monitoruje pomocí nástroje beegfs-ctl. Balíček beegfs-utils obsahuje nástroj příkazového řádku beegfs-ctl, který lze použít ke spuštění srovnávacího testu cílů úložiště. Následující příklad spustí srovnávací test zápisu na všech cílech všech serverů úložiště BeeGFS s velikostí bloku IO 512 kB pomocí 16 vláken na cíl, z nichž každý zapíše 200 Gb dat do vlastního souboru.
[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
Okno "Běží: 10" výstup indikuje, že je v systému nakonfigurováno celkem 10 Storage Targets.
Chcete-li se dotázat na stav/výsledky srovnávacího testu všech cílů, můžete spustit následující příkaz:
[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
Přidáte-li k výše uvedenému příkazu podrobné, zobrazí se seznam všech cílů a jejich příslušná propustnost.
[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]
Odvození z výstupu:
Průměrná propustnost na cíl úložiště nakonfigurovaný v poli RAID 0 je 5,02 GB/s.
Srovnávací test zápisu do systému StorageBench – v konfiguraci Medium s cíli úložiště nakonfigurovanými v poli RAID 10
Následující příklad spustí srovnávací test zápisu na všech cílech všech úložných serverů BeeGFS s velikostí bloku IO 512 kB pomocí 16 vláken na cíl, z nichž každý zapisuje 200 GB dat do vlastního souboru.
[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
Přidáte-li k výše uvedenému příkazu podrobné, zobrazí se seznam všech cílů a jejich příslušná propustnost.
[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]
Odvození z výstupu:
Průměrná propustnost na cíl úložiště je 3,29 GB/s.
Z výstupu srovnávacích testů StorageBench provedených na dvou různých nastaveních BeeGFS, z nichž jedno má cíle úložiště nakonfigurované v poli RAID 0 a druhé cíle úložiště nakonfigurované v poli RAID 10, je zřejmé, že výkon zápisu je lepší s cíli úložiště nakonfigurovanými v poli RAID 0 než v poli RAID 10. Při zápisu souboru 10G s velikostí bloku 1 m a parametrem "oflag=direct" byl použit příkaz dd, průměrná propustnost byla přibližně 5,1 GB/s pro malý systém nakonfigurovaný v poli RAID 0, zatímco průměrná propustnost byla přibližně 3,4 GB/s pro střední systém nakonfigurovaný v poli RAID 10, což je srovnatelné s výsledky získanými pomocí nástroje storagebench.
StorageBench – k identifikaci vadných nebo nesprávně nakonfigurovaných cílů úložiště
StorageBench byl spuštěn na konfiguraci média popsanou v blogu s oznámením , aby se zjistilo, jestli v systému nejsou nějaké nesprávně nakonfigurované nebo vadné cíle úložiště.
[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]
Z výše uvedeného výstupu je zřejmé, že všechny cíle úložiště fungují rovnoměrně a v systému nejsou žádné vadné cíle.
Závěr a budoucí práce
Tento blog pojednává o klíčových funkcích systému BeeGFS a vysvětluje užitečnost srovnávacího testu úložiště pro vyhodnocení nebo porovnání výkonu různých konfigurací pole RAID a také pro zjištění, zda je některý z cílů úložiště vadný nebo nesprávně nakonfigurovaný. V rámci dalších kroků později zveřejníme dokument whitepaper s výkonem metadat a výkonem IOR a s dalšími podrobnostmi o aspektech návrhu, ladění a konfiguraci.
Reference
1) Řešení Dell EMC Ready Solutions pro HPC BeeGFS Storage PowerEdge: Řešení Dell Ready Solutions pro HPC BeeGFS vysoce výkonné úložiště
2) Škálovatelnost řešení Dell Ready Solutions pro HPC BeeGFS Storage PowerEdge: Škálovatelnost řešení Dell Ready Solutions pro úložiště
HPC BeeGFS3) Dokumentace BeeGFS:
https://www.beegfs.io/wiki/4) Jak propojit dvě rozhraní ve stejné podsíti:
https://access.redhat.com/solutions/305645) PCI Express Direct Memory Access Reference Design využívající externí paměť: https://www.intel.com/content/www/us/en/programmable/documentation/nik1412547570040.html#nik1412547565760