GIGABYTE, ceniony producent komponentów i systemów sprzętowych do komputerów, wkroczył na rynek pamięci masowej, nawiązując współpracę z Bigterą, aby zaoferować unikalne, wysokowydajne, programowalne rozwiązanie do przechowywania danych. GIGABYTE dostarcza sprzęt, współpracując z platformą oprogramowania VirtualStor firmy Bigtera, oferując gamę urządzeń pamięci masowej, spełniających zróżnicowane wymagania dotyczące pojemności i wydajności. Chociaż większość osób zna firmę GIGABYTE (istniejącą od ponad 30 lat), Bigtera może być dla niektórych nową nazwą. Firma Bigtera, założona w 2012 roku, posiada dwa centra rozwoju i ponad setkę klientów korzystających z VirtualStor w środowiskach produkcyjnych.
Rodzina Bigtera VirtualStor składa się z trzech różnych linii produktów – Scaler, Converger i Extreme – z których każda to programowo definiowane rozwiązanie pamięci masowej wdrożone w standardowej architekturze x86. Scaler to rozwiązanie pamięci masowej dla hybrydowych rozwiązań skalowalnych; Converger to rozwiązanie pamięci masowej, które można wykorzystać do stworzenia infrastruktury hiperkonwergentnej poprzez połączenie go z VMware, Hyper-V lub KVM; Extreme to rozwiązanie pamięci masowej w technologii all-flash, skalowalne w poziomie, zaprojektowane do obsługi operacji wejścia/wyjścia dla aplikacji wymagających stale niskich opóźnień i dużej przepustowości. W tym dogłębnym omówieniu przyjrzymy się rozwiązaniu VirtualStor Scaler.
VirtualStor Scaler to skalowalne rozwiązanie pamięci masowej, a nie rozwiązanie skalowalne w górę lub hiperkonwergentnej infrastruktury (HCI). Oznacza to, że do klastra pamięci masowej VirtualStor Scaler można dodawać kolejne dyski lub węzły, gdy potrzebna jest większa pojemność. Innymi słowy, otrzymujesz odpowiednią ilość pamięci masowej dla swojego centrum danych, którą można modyfikować w zależności od bieżących okoliczności. Ta elastyczność skutecznie eliminuje zarówno nadmierne alokowanie sprzętu (wymagane w przypadku rozwiązań skalowalnych w górę), jak i konieczność dodawania większej mocy obliczeniowej (niezależnie od tego, czy jest to konieczne, czy nie) podczas korzystania z rozwiązania HCI.
GIGABYTE oferuje sześć różnych platform dla systemu VirtualStor Scaler. Z jednej strony, zoptymalizowany dla mniejszych użytkowników, znajduje się system o pojemności użytkowej 48 TB, składający się z trzech węzłów 1U. Z drugiej strony, dla klientów przetwarzających ogromne ilości danych, dostępny jest system o pojemności 4 PB, składający się z ośmiu węzłów 4U. Aby zapewnić jakość tych systemów, GIGABYTE korzysta z własnych, najwyższej klasy serwerów wyposażonych w dwa skalowalne procesory Intel Xeon drugiej generacji, które zaspokajają potrzeby obliczeniowe tych węzłów pamięci masowej. Do przechowywania danych, urządzenia pamięci masowej VirtualStor wykorzystują połączenie dysków twardych (HDD) i dysków pamięci podręcznej (cache) NVMe lub SATA SSD. Aby zagwarantować nieprzerwany przepływ danych z urządzenia, węzły korzystają z kart Intel SFP+ i NIC, a zarządzanie węzłami offline odbywa się za pomocą kontrolerów zdalnego zarządzania Aspeed.

Protokoły pamięci masowej VirtualStor Scaler
Dzisiejsze centra danych muszą dostarczać pamięć masową, aby sprostać potrzebom wymagającej i zróżnicowanej grupy użytkowników, tak szybko i ekonomicznie, jak to możliwe. Aby sprostać zróżnicowanym potrzebom centrów danych w zakresie pamięci masowej, VirtualStor obsługuje wszystkie powszechnie używane protokoły pamięci masowej (NAS, SAN i obiektową pamięć masową) z jednej, zunifikowanej puli pamięci masowej. Aby zapewnić spełnienie wymagań wydajnościowych, pamięć masowa może mieć atrybuty jakości usług (QoS) stosowane do plików, folderów lub woluminów. Limity, które zapobiegają nadmiernemu wykorzystaniu pamięci masowej przez użytkownika lub aplikację, mogą być stosowane do poszczególnych folderów lub woluminów.
Platforma VirtualStor została zaprojektowana tak, aby niezawodnie i spójnie zapewniać wydajność potrzebną dla najbardziej wymagających aplikacji. Jednym ze sposobów osiągnięcia tego celu jest sposób, w jaki silnik pamięci masowej VirtualStor, BigteraStore, obsługuje rozmieszczanie danych. BigteraStore wykorzystuje pamięci flash do buforowania danych oraz konsolidacji i scalania małych bloków danych w większe bloki sekwencyjne. Ma to nie tylko ogromny wpływ na wydajność systemu VirtualStor w przypadku danych losowych, ale także wydłuża żywotność urządzenia dzięki mniejszej liczbie operacji zapisu na pamięci flash. BigteraStore poprawia również wydajność swoich systemów pamięci masowej, identyfikując dane sekwencyjne (dostarczane w większych blokach danych) i odczytując oraz zapisując je bezpośrednio na dyskach twardych. Ponieważ strumieniowanie danych sekwencyjnych bezpośrednio na dysk twardy nie powoduje takich samych spadków wydajności jak odczyt i zapis danych losowych, pozwala to również zachować pojemność drogich pamięci flash do wykorzystania z danymi losowymi, gdzie mają one największy wpływ.

Użycie pamięci Flash VirtualStor Scaler
Efektywność, ochrona i odporność danych to trzy czynniki, które muszą być uwzględniane przez dzisiejsze nowoczesne rozwiązania pamięci masowej. VirtualStor wykorzystuje najnowsze techniki i narzędzia, aby zapewnić solidne i wydajne rozwiązanie pozwalające sprostać tym wyzwaniom.
Najważniejszą cechą każdego systemu pamięci masowej jest możliwość ochrony integralności przechowywanych w nim danych. W tym celu VirtualStor obsługuje replikację danych, kodowanie Erasure Code, RAID, wykrywanie błędów i samodzielną naprawę uszkodzonych danych. Ponieważ dane są replikowane i równoważone na wielu różnych węzłach pamięci masowej, w mało prawdopodobnym przypadku awarii komponentu sprzętowego lub serwera, inny węzeł pamięci masowej bezproblemowo przejmie kontrolę, a w większości przypadków użytkownik lub aplikacja nawet nie będzie świadomy wystąpienia awarii. Po zidentyfikowaniu i wymianie uszkodzonego komponentu zostanie on automatycznie zintegrowany z systemem. Możesz zabezpieczyć poufne dane, które wymagają najwyższej ochrony, na VirtualStor, korzystając z technologii szyfrowania Intel AES-NI, ale oczywiście inne, mniej bezpieczne dane mogą pozostać niezaszyfrowane na urządzeniu pamięci masowej VirtualStor.

Przegląd architektury skalera VirtualStor
Jednym z czynników często pomijanych przez większość użytkowników przy podejmowaniu decyzji o wyborze rozwiązania pamięci masowej jest trudność w wydzieleniu pamięci masowej do użytku. Fakt, że cała pamięć masowa VirtualStor, niezależnie od typu czy protokołu, pochodzi z jednej puli, którą można nadakować, skutecznie eliminuje zarówno czasochłonne zadanie ponownego alokowania pamięci masowej w celu jej udostępnienia, jak i tworzenie wysp (silosów) pamięci masowej, które zostały alokowane, ale są nieużywane.

Panel skalowania VirtualStor
Wartość rozwiązania pamięci masowej można zminimalizować, jeśli jego zarządzanie jest trudne lub niewystarczające, ale na szczęście VirtualStor ułatwił zarządzanie pamięcią masową, oferując intuicyjną, nowoczesną, internetową konsolę zarządzania. W przeszłości widzieliśmy, jak niektóre starsze, ujednolicone systemy pamięci masowej reklamowały się jako posiadające jedną konsolę zarządzania, ale po bliższym przyjrzeniu się, konsola zarządzania składała się wyłącznie z komponentów zarządzania z różnych systemów, umieszczonych jako funkcje na konsoli zarządzania. Niestety, sytuacja ta prowadzi do nieporozumień, ponieważ komponenty pamięci masowej są różnie nazywane, a wymagane są różne przepływy pracy w zależności od typu zarządzanej pamięci masowej – co, delikatnie mówiąc, jest zawiłym i skomplikowanym sposobem radzenia sobie z pamięcią masową.
Widzieliśmy również systemy pamięci masowej, które wymagają interakcji z wierszem poleceń do wykonywania typowych zadań, w których nieprawidłowe wprowadzenie danych może mieć katastrofalne skutki. Z kolei w przypadku urządzeń VirtualStor wszystkie procesy związane z codziennym zarządzaniem systemem są oparte na graficznym interfejsie użytkownika i nie wymagają interakcji z wierszem poleceń. Co więcej, ponieważ zostały zaprojektowane z myślą o obsłudze wielu protokołów od samego początku – a nie jako dodatek – nie są obciążone przestarzałymi funkcjami, co sprawia, że zarządzanie VirtualStor jest intuicyjne i bezbłędne.
Wydajność skalatora VirtualStor
Oprócz zmontowania rozwiązania i ułatwienia jego obsługi, klaster musi nadal zapewniać wydajność dostosowaną do docelowych zastosowań klienta. Co więcej, Bigtera oferuje obsługę wielu protokołów, co zwiększa elastyczność tego rozwiązania. Przez kilka tygodni testowaliśmy rozwiązanie w następującej konfiguracji sprzętowej:
- Węzły klienckie
- 1 x GIGABYTE H261-3C0 – 2U 4 węzły, 3 węzły użyto do 3 serwerów klienckich
- Na węzeł:
- 2 procesory Xeon Gold 6140 (18 rdzeni, 2.3 GHz)
- 8 modułów pamięci DDR4 RDIMM 16 GB 2666 MHz
- 1 x GIGABAJT CLNOQ42 Karta sieciowa SFP+ OCP z dwoma portami 25 GB (QLogic FastLinQ QL41202-A2G)
- 1 x 960 GB 2.5” dysk SSD Seagate SATA
- Węzły magazynowania
- 3 x Serwery pamięci masowej GIGABYTE S451-3R0
- Na węzeł:
- 2 procesory Intel Xeon Silver 4114 (10 rdzeni, 2.2 GHz)
- 8 modułów pamięci DDR4 RDIMM 16 GB 2666 MHz
- 36 dysków twardych SATA 3.5” Seagate Exos o pojemności 8 TB
- 2 dyski SSD Adata SR2000CP AIC o pojemności 3.84 TB
- 1 x 960 GB 2.5” dysk SSD Seagate SATA
- 1 x GIGABYTE CLN4C44 4 x 25GbE SFP28 porty LAN (Mellanox ConnectX-4 Lx)
- 1 x karta RAID sprzętowa GIGABYTE CRA4648, GIGABYTE MR 3108 BBU
Jak wspomniano, rozwiązanie wykorzystuje zarówno dyski twarde, jak i pamięć flash. Każdy węzeł korzysta z dysku SSD Seagate o pojemności 960 GB do rozruchu. W warstwie pojemnościowej GIGABYTE używa dysków twardych Seagate Exos Enterprise o pojemności 8 TB , z 36 dyskami na węzeł pamięci masowej. Aby uzyskać najlepszy profil wydajności w tej konfiguracji, GIGABYTE używa pary dysków SSD Adata SR2000CP 3D eTLC na węzeł pamięci masowej. Karty rozszerzeń o pojemności 3.84 TB obsługują zadania dziennika, a także zapewniają element pamięci podręcznej dla klastra. Rodzina SR2000CP jest dostępna w pojemnościach do 11 TB, ale karty o pojemności 3.84 TB spełniają cele wydajnościowe (prędkości odczytu/zapisu do 6000/3800 MB na sekundę) i koszty tego urządzenia.
Analizując wydajność, ważne jest zrozumienie, jak firmy postrzegają platformy SDS na dużą skalę. Generalnie świetnie sprawdzają się one pod względem wydajności protokołów obiektowych, ale w przypadku wykorzystania bardziej tradycyjnego protokołu, takiego jak iSCSI, jest to postrzegane raczej jako przypadek użycia pod kątem „kompatybilności”. Innymi słowy, działają, ale są znacznie wolniejsze niż główne protokoły, na których zbudowano macierz pamięci masowej. Nie dotyczy to jednak wszystkich platform, co częściowo czyni VirtualStor Scaler tak wyjątkowym. Aby to udowodnić, przeprowadziliśmy testy jeden po drugim, jeden z wykorzystaniem protokołu RBD, a drugi z iSCSI. Warto zauważyć, że testowanie każdego protokołu obsługiwanego przez VirtualScaler wykraczało poza zakres tego artykułu, ponieważ lista jest obszerna (NFS, CIFS/SMB i API S3).
W celu przeprowadzenia szczegółowych testów wykorzystaliśmy FIO do pomiaru wydajności 30 udziałów RBD o pojemności 10 GB w porównaniu z 30 dyskami LUN iSCSI o pojemności 10 GB. Podzieliliśmy to tak, aby każdy z naszych trzech systemów klienckich miał dostęp do 10 udziałów lub dysków LUN. Następnie zastosowaliśmy obciążenie 1 wątkiem na urządzenie pamięci masowej i głębokość kolejki równą 16 (łącznie dla klastra dało to 30 wątków, każdy z obciążeniem 16 kwantów). Następnie porównaliśmy wydajność dużych transferów sekwencyjnych, a także mniejszego, losowego ruchu 4 KB.
W naszym pierwszym obciążeniu, mierzącym transfer sekwencyjny 1024 KB, zaobserwowaliśmy średnio nieco ponad 1600 MB/s odczytu i 960 MB/s zapisu dla każdego z naszych trzech klientów korzystających z iSCSI. Łącznie dało to 4.9 GB/s odczytu i 2.9 GB/s zapisu. Wykorzystując RBD, zaobserwowaliśmy podobny ruch zapisu, przekraczający 960 MB/s na klienta, ale wydajność odczytu była wyższa i wynosiła ponad 2700 MB/s na klienta. Łącznie RBD wyniosło 8.1 GB/s odczytu i 2.9 GB/s zapisu.
Zmniejszając rozmiar obciążenia do 128 KB sekwencyjnego transferu, ponownie zaobserwowaliśmy podobną równowagę między wydajnością iSCSI i RBD. Korzystając z iSCSI, każdy klient odnotował około 440 MB/s zapisu i 1600 MB/s odczytu, co daje łącznie 1.3 GB/s zapisu i 4.9 GB/s odczytu. Skupiając się na RBD, zaobserwowaliśmy nieco niższą wydajność zapisu, ponad 410 MB/s na klienta, i wyższą wydajność odczytu, ponad 2500 MB/s na klienta. Przełożyło się to łącznie na 1.2 GB/s zapisu i 7.8 GB/s odczytu w RBD.
Przenosząc naszą uwagę na wydajność mniejszego transferu losowego, skupiliśmy się na naszym teście 4K. Analizując oba protokoły w losowym zapisie 4K, iSCSI i RBD oferowały podobną wydajność, przekraczającą 23 tys. IOPS na klienta, czyli łącznie około 71 tys. IOPS, z przewagą RBD. Analizując wydajność odczytu, iSCSI oferowało około 64 tys. IOPS na klienta, czyli łącznie 193 tys. IOPS, a RBD 97 tys. IOPS na klienta, czyli łącznie 291 tys. IOPS.
Koncentrując się na średnim opóźnieniu w naszych testach losowego transferu 4K, przy łącznym obciążeniu klastra 30 wątków i 16 kolejek na wątek, zmierzyliśmy nieco ponad 6.7 ms zapisu zarówno dla transferów iSCSI, jak i RBD, przy czym RBD miał niewielką przewagę. W przypadku transferów odczytu, wydajność RBD była bardziej przekonująca, osiągając łącznie 1.647 ms w porównaniu do 2.489 ms w przypadku iSCSI.
Podsumowanie
VirtualStor Scaler to elastyczne i skalowalne rozwiązanie definiowane programowo, działające na standardowych serwerach x86, oferujące pamięć masową plików, bloków i obiektów. W tym przypadku połączyliśmy węzły klienckie i pamięci masowej firmy GIGABYTE, aby podkreślić łatwość zarządzania tym konwergentnym rozwiązaniem i obsługę wielu protokołów. Ważne jest również podkreślenie odporności platformy. Jest to możliwe głównie dzięki technologii Ceph, na której oparta jest platforma VirtualStor. Bigtera woli nie lansować się w ten sposób, ponieważ często zakłada się, że Ceph oferuje fantastyczne funkcje ochrony danych, ale nie potrafi przedstawić historii wydajności i elastyczności – które są kluczowe w większości aplikacji pamięci masowej klasy enterprise. Podczas pracy z VirtualStor Scaler byliśmy nieustannie pod wrażeniem możliwości zapewnienia bardzo wysokiej wydajności iSCSI w połączeniu z blokowym interfejsem RADOS. Dodajmy do tego atrakcyjny interfejs graficzny, przydatny dla tych, którzy nie chcą bawić się interfejsem wiersza poleceń – Bigtera sprawdziła się tutaj znakomicie. Rozwiązanie VirtualStor z pewnością może być czymś więcej niż tylko magazynem danych dla typowych wdrożeń analitycznych, HPC i AI/ML. Przedsiębiorstwa powinny rozważyć jego bezpośrednie zastąpienie w szerokim zakresie zastosowań, od chmury lokalnej, przez konsolidację pamięci masowej, po bardziej typowe zwirtualizowane obciążenia, dzięki elastyczności tego rozwiązania.




Amazon