background

Macierze NVMe

Macierze NVMe: poszerzamy autostrady, likwidujemy bramki i ograniczenia prędkości

Wyobraźmy sobie, że mamy szybki, sportowy samochód. Wyruszamy w trasę z Wrocławia do Krakowa autostradą A4 i planujemy dotrzeć do celu w jak najkrótszym czasie. Przy wjeździe na autostradę pod Wrocławiem popisowo wyprzedzamy Fiata Multiplę, utwierdzając się w przekonaniu, że jest to jedno z najbrzydszych aut na świecie. Podczas podróży udaje nam się jechać szybko na krótkich odcinkach, ale po drodze stoimy 4 razy na bramkach, kilkanaście razy jedziemy za wyprzedzającymi się ciężarówkami i docieramy na miejsce po 3 godzinach i 30 minutach. Wyjeżdżając z ostatnich bramek przed Krakowem mijamy tego samego Fiata Multiplę, którego tak dynamicznie wyprzedziliśmy na początku trasy. Wskazania statystyk pokonanej trasy nie kłamią – średnia prędkość 77km/h. Coś tu nie gra.

NVMe jak rozwiązanie problemu z autostradami

Gdybyśmy mogli zapytać o samopoczucie moduły NAND montowane w tradycyjnych macierzach SCSI, to ich wrażenia mogłyby być podobne do wrażeń kierowcy tego sportowego samochodu. I choć w historii było wiele nie do końca udanych porównań IT z motoryzacją, to właśnie takie porównanie pozwala dokładnie zobrazować, co zyskujemy wkraczając w nową erę macierzy opartych o NVMe (Non-Volatile Memory Express). Wyobraźmy sobie tę samą trasę z Wrocławia do Krakowa, ale dołóżmy po cztery pasy ruchu w każdą stronę, usuńmy bramki z opłatami, zlikwidujmy ograniczenia prędkości. Nasz kierowca w sportowym samochodzie mógłby pokonać tę trasę w jedną godzinę jadąc ze średnią prędkością 272km/h.

Protokół SCSI jest z nami 30 lat i powstał w czasach dysków obrotowych, które rządziły się zupełnie innymi prawami niż moduły półprzewodnikowe. Aby wykorzystać potencjał modułów flash potrzebna była nowa technologia komunikacji, zoptymalizowana do specyfiki pracy dysków SSD, w których nie musimy czekać na obrót talerza i pozycjonowanie głowicy, bo każdy obszar pamięci flash może być dostępny niemal natychmiast. Interfejs SAS oferuje jedną kolejkę z 256 komendami, natomiast NVMe to 64 tysiące kolejek i 64 tysiące komend w każdej kolejce. To tak, jakbyśmy zbudowali dodatkowe pasy ruchu na naszych autostradach, a same autostrady wielokrotnie wydłużyli.

Co nam da zrównoleglenie operacji I/O w macierzach NVMe? Najważniejszy aspekt to niski czas odpowiedzi niemal w każdych warunkach. Dzisiaj uzyskanie satysfakcjonujących parametrów w tym zakresie jest niemożliwe do osiągnięcia dla dysków SAS SSD, bo gdy w naszej kolejce jest duży tłok, mamy wiele operacji odczytu i zapisu, to czas odpowiedzi znacznie spada. To przypadek naszego sportowego samochodu, który utknął za wyprzedzającymi się ciężarówkami na wąskiej autostradzie.

Nadszedł czas na macierze w pełni oparte o NVMe, bo już dzisiaj wymagają tego nasze aplikacje i bazy danych, a moduły flash należy projektować w sposób zoptymalizowany dla NVMe. Konstrukcja macierzy NVMe jest też zupełnie inna niż dotychczasowe konstrukcje SAS, do których zdążyliśmy się przyzwyczaić. Zapomnijmy o instalowaniu 20 spółek i 500 dysków w jednej macierzy. Pojemność i wydajność modułów NVMe jest na tyle wysoka, że obecne konstrukcje to często jeden moduł wysokości 2U bez możliwości dokładania półek, gdyż wąskim gardłem i tak są kontrolery, zatem dokładanie dysków nie przyniosłoby przyrostu wydajności.

Optymalizacja parametrów według potrzeb

Przyjrzyjmy się nowej generacji macierzy Hitachi E590, E790 i E990. Pierwsze dwa modele oferują możliwość instalacji maksymalnie 24 dysków bez możliwości dokładania półek. Dyski NVMe są na tyle wydajne, że już nawet 15-20 dysków potrafi przewyższyć wydajnością kontrolery, zatem montowanie więcej niż 24 dysków pod jedną parą kontrolerów nie ma uzasadnienia ekonomicznego i technologicznego. Czy to jest jednak dla nas problem? W macierzach Hitachi możemy instalować moduły NVMe o pojemności nawet 30TB, zatem w jednym urządzeniu o wysokości 2U mamy 720TB surowej pojemności. Dołóżmy do tego mechanizm Adaptive Data Reduction (ADR) i możemy zyskać 4-krotnie więcej dzięki deduplikacji (poziom 4:1 gwarantowany przez Hitachi), osiągając nawet 2PB efektywnej pojemności z jednego urządzenia wysokości 2U. Imponujące! Kiedyś do uzyskania takiej pojemności musieliśmy wypełnić dyskami kilka szaf 42U.

Hitachi gwarantuje zwrot z inwestycji 7:1 oraz dostępność 100%. Jest się to możliwe dzięki nowym narzędziom do zarządzania i monitorowania oraz mechanizmom zaszytym w modułach flash. Do zarządzania pojedynczą macierzą służy wbudowana w kontrolery konsola VSP Embedded Management, natomiast do zarządzania większą ilością macierzy służy aplikacja Hitachi Ops Center, w której zawarte są narzędzia analityczne zapobiegające pojawieniu się potencjalnych problemów. Hitachi jest właścicielem ponad 400 patentów w obszarze flash, które pozwalają m.in. przewidywać czas życia modułów SSD, co w długim okresie zapobiega przestojom i gwarantuje najwyższą niezawodność.

Czym zatem różnią się te trzy modele macierzy? Model E590 został zoptymalizowany kosztowo dla klientów wymagających niskich czasów odpowiedzi dysków NVMe, ale którzy nie wymagają maksymalnej możliwej wydajności operacji I/O. Macierz oferuje 384GB cache i 24 rdzenie CPU. Wracając do analogii motoryzacyjnej może to być nowoczesny samochód kompaktowy. Macierz Hitachi E790 oferuje z kolei maksymalną możliwą wydajność, bo tutaj znajdziemy 64 rdzenie CPU i 768GB pamięci cache. Ten model jest jak nasz sportowy samochód. Model E990 zoptymalizowano pod maksymalną pojemność, bo tylko w tej macierzy możemy zainstalować dodatkowo 3 półki z dyskami NVMe, osiągając maksymalnie 96 dysków NVMe w jednej macierzy. Jest to cecha unikalna wśród macierzy klasy midrange, bo zwykle, nawet jeżeli macierz NVMe pozwala na instalację półek, to są to półki SAS, a nie NVMe. Aby zoptymalizować wydajność tak dużej ilości dysków, macierz wyposażono w 1024GB pamięci cache oraz 56 rdzeni CPU. Model E990 możemy porównać do dużego vana lub ciężarówki z mocnym silnikiem i dużą skrzynią ładunkową.

Jak najlepiej wykorzystać możliwości NVMe?

Przede wszystkim, z tego rozwiązania skorzystają bazy relacyjne i noSQL, analityka, big data. Dyski NVMe działają najwydajniej, gdy są blisko aplikacji, zamontowane w serwerze jako DAS, obsługiwane przez kontroler PCIe procesora. Wtedy opóźnienia są najniższe, a wydajność najwyższa. Użycie konfiguracji DAS ma jednak swoje ograniczenia, w niewielu sytuacjach możemy jej użyć, więc dla rozległych wysokodostępnych konfiguracji i klastrów potrzebujemy macierzy NVMe obsługujących NVMeoF (NVMe over Fabrics). Testy wydajnościowe pokazują, że wydajność konfiguracji NVMeoF z obsługą RDMA w standardzie RoCE jest niemal identyczna, jak dla dysków DAS i bywa prawie dwukrotnie wyższa niż dla połączenia z użyciem SCSI (FC/iSCSI). Jeżeli do nowoczesnej macierzy NVMe podłączymy hosta przy wykorzystaniu sieci SAN (FC lub iSCSI), ale z użyciem protokołu SCSI, to zaobserwujemy wysoką wydajność wynikającą z technologii NVMe wewnątrz macierzy, ale nie będzie ona tak spektakularna, jak w przypadku, gdybyśmy w pełni wykorzystali NVMe end-to-end. Aby to było możliwe, musimy przejść na najnowszej generacji sieci FC o prędkości 32Gb/s, wymieniając zarówno przełączniki, jak i karty FC HBA. Alternatywą jest użycie Ethernet i przejście na karty sieciowe CNA zgodne z RoCEv2. Do tego aplikacje i systemy operacyjne muszą zacząć szeroko wspierać NVMeoF oraz RDMA.

NVMeoF to jeszcze nie wszystko. Potrzebujemy także szerokiego zastosowania PCIe 4.0, zarówno po stronie serwerów, kart HBA, jak i macierzy NVMe. Standard PCIe 4.0 właśnie wchodzi na rynek, a dzisiaj niemal wszędzie korzysta się z PCIe 3.0, w którym port x4 oferuje maksymalnie 3,8GB/s. To i tak więcej niż SAS 12Gb/s, w którym nie przekroczymy 1,5GB/s, jednak dla potencjału NVMe i dzisiejszych modułów NAND to wciąż za mało. Nawet jeżeli włożymy do serwera kartę FC 32Gbps, to szyna PCIe 3.0 nie pozwoli na uzyskanie pełni wydajności. Dopiero popularyzacja PCIe 4.0 uwolni wydajność drzemiącą w protokole NVMe i nowoczesnych układach NAND.

Nowa era

Widzimy zatem, że przygoda z NVMe dopiero się zaczyna, a największe korzyści dopiero przed nami. W ostatnich latach w Polsce obserwowaliśmy wiele dużych inwestycji w sieci SAN najnowszej generacji wspierających NVMeoF. Mamy na rynku bardzo ciekawe macierze NVMe, jak wspomniane wcześniej macierze Hitachi E590/790/990. Wszystko wskazuje na powolny zmierzch leciwego SCSI i początek ery NVMe oraz RDMA.