PowerEdge: Funkcje gotowych rozwiązań firmy Dell dla pamięci masowej HPC BeeGFS
Summary: Funkcje gotowych rozwiązań firmy Dell dla pamięci masowej HPC BeeGFS
Instructions
Spis treści
- Wprowadzenie
- StorageBench — do porównywania wydajności różnych konfiguracji RAID
- StorageBench — identyfikacja wadliwych lub błędnie skonfigurowanych docelowych obiektów pamięci masowej
- Wnioski i przyszłe prace
Wprowadzenie
W tym blogu omówiono najważniejsze funkcje niedawno zapowiedzianych gotowych rozwiązań firmy Dell dla pamięci masowej HPC BeeGFS. Jest to trzeci blog z serii poświęcony rozwiązaniu pamięci masowej BeeGFS o wysokiej wydajności. Pierwszy blog zapowiadał wydanie rozwiązania. W drugim wpisie na blogu omówiono skalowalność gotowych rozwiązań firmy Dell dla pamięci masowej HPC BeeGFS. Zawierał szczegółowe informacje na temat konfiguracji bazowych, elastycznych skalowalnych konfiguracji i zmierzonej wydajności sekwencyjnego odczytu/zapisu różnych konfiguracji, pokazując, że skalowalność jest liniowa w odniesieniu do liczby serwerów w rozwiązaniu. W bieżącym wpisie na blogu zwrócono uwagę na wykorzystanie "StorageBench", testu porównawczego zintegrowanych celów pamięci masowej BeeGFS.
BeeGFS to system plików o otwartym kodzie źródłowym, który można pobrać z witryny www.beegfs.io. Jest to równoległy system plików, który dystrybuuje dane w wielu docelowych miejscach pamięci masowej. Jest to pamięć masowa zdefiniowana programowo, która oddziela logiczny system plików od bazowego sprzętu pamięci masowej, umożliwiając użytkownikowi zdefiniowanie sposobu i miejsca przechowywania danych. Oprogramowanie systemu plików zawiera funkcje korporacyjne, takie jak wysoka dostępność, egzekwowanie przydziałów i listy kontroli dostępu. Najważniejsze cechy BeeGFS to łatwość użycia, skalowalność i elastyczność. Jego łatwość użycia wynika z faktu, że wszystkie komponenty po stronie serwera są demonami przestrzeni użytkownika, podczas gdy klient jest modułem jądra, który nie wymaga żadnych poprawek do samego jądra. Wszystkie składniki BeeGFS można instalować i aktualizować bez ponownego uruchamiania serwera. Dzięki temu możemy dodawać klientów i serwery do istniejącego systemu bez żadnych przestojów. Dodając serwery i dyski, wydajność i pojemność systemu plików można bardziej zwiększyć na blogu, do którego link znajduje się tutaj. BeeGFS obsługuje wiele dystrybucji systemu Linux i jest przeznaczony do pracy z dowolnym lokalnym systemem plików zgodnym ze standardem POSIX. BeeGFS obsługuje również uruchamianie wielu instancji danej usługi na tym samym serwerze.
Gotowe rozwiązania Dell dla pamięci masowej HPC BeeGFS wykorzystują wszystkie kluczowe funkcje systemu plików BeeGFS i zostały zaprojektowane z myślą o wysokiej wydajności. Rozwiązanie wykorzystuje serwery PowerEdge R740xd do przechowywania, udostępniania i przetwarzania metadanych i danych. Każdy serwer PowerEdge R740xd jest wyposażony w 24 dyski SSD Intel P4600 NVMe o pojemności 1,6 TB, które są uważane za drugi duży skok w technologii dysków, po dyskach SSD. W środowiskach HPC tymczasowa przestrzeń może często być czynnikiem ograniczającym. Może być za mały lub za wolny. Rozwiązania Dell EMC Ready Solutions dla pamięci masowej HPC BeeGFS są przeznaczone do użytku jako rozwiązania tymczasowe i są wykorzystywane jako tymczasowa pamięć masowa za pośrednictwem systemu plików BeeGFS.
BeeGFS zawiera dwa zintegrowane narzędzia do testów porównawczych, które mogą pomóc w scharakteryzowaniu lub ocenie sieci lub pamięci masowej: odpowiednio NetBench i StorageBench . Gdy włączony jest tryb NetBench, serwery odrzucają odebrane żądania zapisu zamiast zapisywać dane. Podobnie w przypadku żądań odczytu, zamiast odczytu z bazowego systemu plików, do klientów wysyłane są tylko pamięci. Tryb NetBench jest przeznaczony do testowania przepływności przesyłania strumieniowego sieci niezależnie od dysków bazowych. Z drugiej strony StorageBench jest przeznaczony do pomiaru przepustowości przesyłania strumieniowego bazowego systemu plików niezależnie od wydajności sieci. StorageBench to test porównawczy celów pamięci masowej, który nie korzysta z sieci. Polecenie storage-bench po prostu wysyła żądanie do miejsc docelowych pamięci masowej, aby rozpocząć zapisywanie/odczytywanie danych. W ten sposób eliminujemy wpływ sieci. Wyjście, które otrzymujemy z ławki pamięci masowej, to najlepsza wydajność, jaką system może osiągnąć, jeśli wydajność sieci jest idealna. Ten blog pokazuje, w jaki sposób można wykorzystać rozwiązanie StorageBench do porównywania wydajności różnych obiektów docelowych pamięci masowej i identyfikowania wadliwych lub błędnie skonfigurowanych obiektów docelowych.
StorageBench — do porównywania wydajności różnych konfiguracji RAID
StorageBench nie korzysta z zamontowanego systemu plików. Po uruchomieniu narzędzia StorageBench na plik przypada tylko jeden element docelowy. Storagebench tworzy katalog dla każdego miejsca docelowego pamięci masowej w systemie, w którym tworzone są pliki testowe, równy liczbie wątków testowych. Dane są przesyłane strumieniowo bezpośrednio do niego, aby pokazać przepływność niskiego poziomu dostępną dla każdego celu magazynu. Bez komunikacji sieciowej nie można symulować przeplotu plików. W związku z tym wyniki testów porównawczych pamięci masowej są raczej porównywalne z wynikami operacji we/wy klienta z wyłączonym przeplotem. Po uruchomieniu testów porównawczych plik zostaje rozłożony na cztery obiekty docelowe pamięci masowej, jeśli zostanie przyjęty domyślny wzorzec przeplotu.
Do celów testowania różnych docelowych pamięci masowych użyto małych i średnich konfiguracji opisanych w blogu na temat skalowalności rozwiązania pamięci masowej Dell BeeGFS. Obie konfiguracje mają taką samą liczbę docelowych metadanych skonfigurowanych w macierzy RAID 1. Różnią się one konfiguracją macierzy RAID docelowych pamięci masowych. Podczas gdy mała konfiguracja obejmuje pamięć masową i obiekty docelowe skonfigurowane w macierzy RAID 0 z 6 dyskami, średnia konfiguracja ma obiekty docelowe pamięci masowej skonfigurowane w macierzy RAID 10 z 6 dyskami. Docelowe obiekty pamięci masowej skonfigurowane w małych i średnich ustawieniach przedstawiono w poniższej tabeli:
| Tabela 1 Konfiguracja stanowiska testowego | ||
|---|---|---|
| Konfiguracja | Średni — macierz RAID 10 do docelowych pamięci masowych | Mała — macierz RAID 0 dla docelowych obiektów pamięci masowej |
| Liczba docelowych metadanych | 6 | 6 |
| Liczba instancji usługi metadanych | 6 | 6 |
| Liczba serwerów pamięci masowej | 5 | 2 |
| Liczba docelowych obiektów pamięci masowej | 22 | 10 |
| Liczba usług pamięci masowej na serwer | 4 | 4 |
| Liczba usług pamięci masowej na strefę NUMA | 2 | 2 |
| Liczba obiektów docelowych na wystąpienie usługi pamięci masowej | 2 | 2 |
Uwaga: Powyższa konfiguracja średniej konfiguracji służy wyłącznie do testowania przepływności docelowych obiektów pamięci masowej skonfigurowanych w różnych konfiguracjach RAID przy użyciu narzędzia StorageBench.
Test porównawczy zapisu StorageBench — w małej konfiguracji z docelowymi obiektami pamięci masowej skonfigurowanymi w macierzy RAID 0
Test porównawczy pamięci masowej jest uruchamiany i monitorowany za pomocą narzędzia beegfs-ctl. Pakiet beegfs-utils zawiera narzędzie wiersza poleceń beegfs-ctl, którego można użyć do uruchomienia testu porównawczego obiektów docelowych pamięci masowej. Poniższy przykład uruchamia test porównawczy zapisu na wszystkich obiektach docelowych wszystkich serwerów pamięci masowej BeeGFS z rozmiarem bloku we/wy 512 KB, przy użyciu 16 wątków na obiekt docelowy, z których każdy zapisze 200 GB danych we własnym pliku.
[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
Komunikat "Uruchamianie: Dane wyjściowe 10" wskazują, że w systemie skonfigurowano łącznie 10 obiektów docelowych pamięci masowej.
Aby sprawdzić stan/wyniki testów porównawczych wszystkich obiektów docelowych, można uruchomić następujące polecenie:
[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
Dodanie pełnego do powyższego polecenia powoduje wyświetlenie listy wszystkich obiektów docelowych i ich odpowiedniej przepustowości.
[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]
Wnioskowanie z danych wyjściowych:
Średnia przepustowość na docelowy magazyn skonfigurowany w macierzy RAID 0 wynosi 5,02 GB/s.
Test porównawczy zapisu StorageBench na średniej konfiguracji z docelowymi obiektami pamięci masowej skonfigurowanymi w macierzy RAID 10
Poniższy przykład uruchamia test porównawczy zapisu na wszystkich obiektach docelowych wszystkich serwerów pamięci masowej BeeGFS z rozmiarem bloku we/wy 512 KB, przy użyciu 16 wątków na obiekt docelowy, z których każdy zapisuje 200 GB danych we własnym pliku.
[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
Dodanie pełnego do powyższego polecenia powoduje wyświetlenie listy wszystkich obiektów docelowych i ich odpowiedniej przepustowości.
[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]
Wnioskowanie z danych wyjściowych:
Średnia przepływność na docelowy magazyn wynosi 3,29 GB/s.
Z wyników testów porównawczych StorageBench przeprowadzonych na dwóch różnych konfiguracjach BeeGFS — jednej z obiektami docelowymi pamięci masowej skonfigurowanymi w macierzy RAID 0 i drugiej z obiektami docelowymi pamięci masowej skonfigurowanymi w macierzy RAID 10 wynika, że wydajność zapisu jest wyższa w przypadku obiektów docelowych pamięci masowej skonfigurowanych w macierzy RAID 0 niż w macierzy RAID 10. W przypadku użycia polecenia dd do zapisania pliku 10 GB z rozmiarem bloku 1 MB i ustawieniem "oflag=direct" średnia przepustowość małego systemu skonfigurowanego w macierzy RAID 0 wynosiła około 5,1 GB/s, natomiast średnia przepustowość około 3,4 GB/s w przypadku średniego systemu skonfigurowanego w macierzy RAID 10, co jest porównywalne z wynikami uzyskanymi przy użyciu narzędzia storagebench.
StorageBench — identyfikacja wadliwych lub błędnie skonfigurowanych docelowych obiektów pamięci masowej
Narzędzie StorageBench uruchomiono na średniej konfiguracji opisanej w blogu z zapowiedziami , aby sprawdzić, czy w systemie występują błędnie skonfigurowane lub wadliwe cele pamięci masowej.
[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 powyższych danych wyjściowych jasno wynika, że wszystkie obiekty docelowe pamięci masowej działają jednakowo i w systemie nie ma wadliwych obiektów docelowych.
Wnioski i przyszłe prace
W tym wpisie na blogu omówiono najważniejsze funkcje technologii BeeGFS i wyjaśniono przydatność testu porównawczego pamięci masowej do oceny lub porównania wydajności różnych konfiguracji RAID, a także do określenia, czy którekolwiek z docelowych pamięci masowych są uszkodzone lub źle skonfigurowane. W ramach kolejnych kroków opublikujemy później białą księgę z wydajnością metadanych i wydajnością IOR oraz dodatkowymi szczegółami dotyczącymi kwestii projektowych, dostrajania i konfiguracji.
Odniesienia
1) Rozwiązania Dell EMC Ready Solutions dla serwerów PowerEdge pamięci masowej HPC BeeGFS: Gotowe rozwiązania Dell dla wysokowydajnej pamięci masowej
HPC BeeGFS2) Skalowalność gotowych rozwiązań firmy Dell dla serwerów PowerEdge pamięci masowej HPC BeeGFS: Skalowalność gotowych rozwiązań Dell dla pamięci masowej
HPC BeeGFS3) Dokumentacja BeeGFS:
https://www.beegfs.io/wiki/4) Jak połączyć dwa interfejsy w tej samej podsieci?
https://access.redhat.com/solutions/305645) Projekt referencyjny bezpośredniego dostępu do pamięci PCI Express z wykorzystaniem pamięci zewnętrznej: https://www.intel.com/content/www/us/en/programmable/documentation/nik1412547570040.html#nik1412547565760