Niniejszy przewodnik po najlepszych praktykach zawiera ogólne zalecenia dotyczące konfiguracji systemów pamięci masowej QNAP NAS z myślą o jak najlepszej wydajności.

Cel:​


Niniejsze najlepsze praktyki są przeznaczone dla użytkowników produktów i partnerów firmy QNAP oraz klientów rozważających zakup serwerów QNAP NAS. Zawierają one zalecenia dotyczące konfiguracji pamięci masowej serwera QNAP z myślą o optymalnej wydajności w zależności od obciążenia.

Jak uzyskać największą możliwą wydajność pamięci masowej:​


Poniższe wytyczne zawierają konkretne zalecenia konfiguracyjne umożliwiające uzyskanie wysokiej wydajności serwera pamięci masowej firmy QNAP.

  1. Wybierz odpowiedni serwer pamięci masowej QNAP NAS klasy korporacyjnej. Platformy korporacyjne wyższej klasy mają szybszy procesor, więcej pamięci i lepsze parametry operacji wejścia/wyjścia. Więcej informacji
  2. Zainstaluj maksymalną ilość pamięci. Więcej informacji
  3. Użyj dysków mSATA i SSD do buforowania odczytu i zapisu w systemie QTS 4.2.0, stosując 2 lub 4 dyski SSD, i utwórz macierz RAID 1 lub 10 jako pool pamięci podręcznej. Zobacz rysunek 1 i 2.
  4. Dobierz odpowiednią konfigurację do macierzy RAID i woluminu.
    • Utwórz pool RAID 10. Wyjaśnienia zawiera Dodatek.
    • Jako ustawienie poolu wybierz „Wolumin statyczny", aby uzyskać najlepszą wydajność, lub „Wolumin gruby".
      • Opcja „Wolumin uproszczony" zapewnia większą elastyczność, ale może zmniejszyć wydajność pamięci masowej w przypadku wrażliwych aplikacji. Wyjaśnienia zawiera przykład na rysunku 4 i Dodatek.
Rysunek 1 Pamięć podręczna SSD do odczytu i zapisu

QNAP_storage_1.webp


Rysunek 2 Pool SSD

QNAP_storage_2.webp


* Przykład uzyskiwania dostępu do poolu pamięci podręcznej SSD w serwerze QNAP NAS.



Jak wybrać nośniki pamięci masowej:​


Poniżej przedstawiono najważniejsze wskazówki dotyczące wyboru odpowiedniego typu nośników do serwera pamięci masowej QNAP NAS. Dostosuj typ dysku do zakładanego obciążenia w Twoim środowisku.

FunkcjeTradycyjne dyski twardeDyski twarde SASDyski SSD
KosztNiskiŚredniWysoki
WydajnośćNiskaŚredniaWysoka
PojemnośćWysokaŚredniaNiska

Do najczęściej mierzonych parametrów wydajności należą operacje sekwencyjne i losowe. Wydajność dysku mierzymy w IOPS, czyli liczbie operacji wejścia/wyjścia na sekundę. Jedno żądanie odczytu lub zapisu = 1 IOPS. Każdy dysk w systemie pamięci masowej może zapewniać pewną liczbę IOPS w zależności od szybkości obrotowej dysku, średniego poziomu opóźnień i średniego czasu wyszukiwania.

Ogólna charakterystyka IOPS dysków twardych​


UrządzenieTypIOPSInterfejs
Dyski 5400 rpmHDD~75–100 IOPSSATA III
Dyski 7200 rpmHDD~125–150 IOPSSATA III
Dyski 10 000 rpmHDD~140 IOPSSAS
Dyski 15 000 rpmHDD~175–210 IOPSSAS
Dyski SSDSSDOd ok. 40 tys. do ponad 100 tys. IOPS*SATA III

* Wydajność zależy od układu kontrolera SSD i komórek pamięci flash.

W przypadku 4 dysków twardych o szybkości obrotowej 7200 rpm możemy przyjąć, że łączna przybliżona wartość IOPS wynosi 500 IOPS. Obliczamy to, mnożąc łączną liczbę dysków przez przybliżoną liczbę IOPS każdego z tych dysków (4 HDD x 125 IOPS = 500 IOPS).

Dostęp losowy:​


Dostęp losowy oznacza dostęp do dowolnej części pliku w dowolnej kolejności. W ten sposób na przykład można odczytać część środkową przed częścią początkową.

Rodzaje obciążeń wykorzystujące z reguły dostęp losowy:

  • jednoczesny dostęp wielu klientów,
  • aplikacje bazodanowe,
  • dostęp maszyny wirtualnej w środowisku hypervisora,
  • środowisko IP SAN używające bloków danych.

Dostęp sekwencyjny:​


Dostęp sekwencyjny polega na odczytaniu najpierw pierwszej części pliku, zanim można będzie odczytać drugą, trzecią itd.

Rodzaje obciążeń wykorzystujące z reguły dostęp sekwencyjny:

  • edycja wideo (bezpośrednia edycja w oprogramowaniu do obróbki wideo na pojedynczej stacji roboczej);
  • nagrywanie wideo (na pojedynczym kliencie, np. z kamery IP lub na rejestratorze wideo);
  • transmisja strumieniowa wideo (oglądanie wideo z serwera NAS);
  • przesyłanie dużych plików;
  • zadanie tworzenia kopii zapasowej danych.

Odczyt losowy a odczyt sekwencyjny:​


Operacja wyszukiwania, która odbywa się wtedy, gdy głowica dysku ustawia się nad odpowiednim cylindrem w celu uzyskania dostępu do żądanych danych, trwa dłużej niż jakakolwiek inna część operacji wejścia/wyjścia.

Ze względu na konstrukcję dysków mechanicznych sekwencyjny dostęp do danych oraz ich zapis jest znacznie szybszy niż losowy. Sekwencyjne operacje wejścia/wyjścia na dyskach mechanicznych mogą z reguły przebiegać szybciej, ponieważ liczba operacji wyszukiwania danych przez głowicę dysku jest mniejsza, a podczas jednego obrotu talerza można odczytać lub zapisać większy segment danych.

Dostęp losowy wymaga większej liczby operacji wyszukiwania, co oznacza, że wskaźniki przepustowości i IOPS będą znacznie niższe w przypadku losowego odczytu, a szczególnie losowego zapisu. Podczas losowej operacji wejścia/wyjścia położenie głowicy dysku, opóźnienie rotacyjne wyszukiwania na dysku oraz czas wyszukiwania znacznie wpływają na obniżenie wydajności.
Rys. 3

QNAP_storage_3.webp


Przykład
W przypadku systemów wykorzystujących dyski mechaniczne, w których każde wyszukiwanie danych na dysku trwa około 10 ms, zapis sekwencyjny na tym samym dysku trwa około 30 ms/MB. W związku z tym zapis sekwencyjny 100 MB danych trwa około 3 sekund. Jeżeli jednak dokonamy 100 losowych zapisów po 1 MB, zajmie to łącznie 4 sekundy (3 sekundy na sam zapis i 10 ms * 100 = 1 sekunda na wyszukiwanie).


Dlaczego pamięć podręczna SSD do odczytu i zapisu zwiększa wskaźnik IOPS przy dostępie losowym​


W przeciwieństwie do dysków mechanicznych dyski flash nie mają fizycznej głowicy, która musi się poruszać po dysku, dlatego nie występuje opóźnienie 10 ms.

Funkcja pamięci podręcznej SSD do odczytu i zapisu na serwerach firmy QNAP poprawia wyniki IOPS podczas dostępu losowego, ponieważ sortuje adresy bloków w celu zmniejszenia liczby operacji odczytu i odciążenia dysków zaplecza.

Im większa pojemność pamięci podręcznej, tym lepiej (ponieważ można w ten sposób sortować więcej adresów), ale w praktyce ograniczają ją koszty, ponieważ pamięci podręczne do zapisu są o wiele droższe od dysków zaplecza.

Cechy macierzy RAID​


Pamięć serwera QNAP NAS obsługuje różne poziomy RAID. Każdy poziom RAID ma inne parametry pojemności i wydajności. Przed wdrożeniem rozwiązania pamięci masowej należy określić rodzaj jej obciążenia.

Wybór typu RAID zależy zazwyczaj od dwóch czynników: pojemności i wydajności.

Typ RAIDMinimalna liczba dyskówTolerancja na błędyPojemnośćOdczyt losowyZapis losowyOdczyt sekwencyjnyZapis sekwencyjny
RAID 02Brak100%WysokiWysokiWysokiWysoki
RAID 12Awaria 1 dysku50%WysokiNiskiWysokiDobry
RAID 53Awaria 1 dyskuN-1WysokiNiskiWysokiDobry
RAID 64Awaria 2 dyskówN-2WysokiNiskiWysokiDobry
RAID 104Awaria 1 dysku w każdej podmacierzy RAID50%WysokiDobryWysokiDobry

RAID 10:
Sprawdza się najlepiej w przypadku dużych obciążeń transakcyjnych, oferując wysoki poziom zapisu losowego (powyżej 30%).

RAID 5:
Sprawdza się najlepiej w zastosowaniach ogólnych, o średniej wydajności i obciążeniach z dostępem sekwencyjnym. Poziom RAID 5 jest zazwyczaj stosowany ze względów ekonomicznych, ponieważ do celów parzystości jest używany tylko 1 dysk. RAID 5 nie jest najlepszym typem do zastosowań wymagających wysokiej wydajności.

RAID 6:
Sprawdza się najlepiej w przypadku obciążeń zorientowanych głównie na zapis, takich jak archiwizacja i tworzenie kopii zapasowych. Nie jest jednak najlepszym rozwiązaniem do zastosowań wymagających wydajności — szczególnie w środowisku, w którym występuje dużo operacji zapisu losowego.



Studium przypadku nr 1: identyfikacja rozkładu obciążeń​


Przydzielenie maszyn wirtualnych o różnych poziomach IOPS do wielu poolów o różnych właściwościach RAID znacznie zwiększy wydajność i zredukuje wąskie gardła wejścia/wyjścia.

Używany sprzęt:
TS-EC1680U-RP
https://www.qnap.com/i/pl/product/model.php?II=126
16 dysków twardych SATA po 6 TB

Środowisko IT klienta obejmuje dwa serwery hosty VMware ESXi 6.0, jest klastrowe i wymaga działania 20 maszyn wirtualnych (VM) przy użyciu serwera NAS firmy QNAP jako zaplecza pamięci masowej. Klient dokonał inwentaryzacji wszystkich maszyn wirtualnych i ustalił następujący rozkład obciążeń w swoim środowisku.

1 VM --> serwer bazy danych MS SQL o wysokim obciążeniu (losowe operacje wejścia/wyjścia ponad 30%).
3 VM --> serwery aplikacji o wysokim obciążeniu (losowe operacje wejścia/wyjścia ponad 30%).
1 VM --> usługi vCenter o niskim obciążeniu (głównie sekwencyjne operacje wejścia/wyjścia).
1 VM --> kontroler domeny o niskim obciążeniu (głównie sekwencyjne operacje wejścia/wyjścia).
1 VM --> serwer kopii zapasowych o niskim obciążeniu (głównie sekwencyjne operacje wejścia/wyjścia).
2 VM --> usługi DNS o niskim obciążeniu (głównie sekwencyjne operacje wejścia/wyjścia).
2 VM --> serwery WWW o średnim obciążeniu (losowe operacje wejścia/wyjścia 15%).
5 VM --> wirtualne desktopy użytkowników ogólnych.
4 VM --> wewnętrzne serwery deweloperskie.

Zalecana konfiguracja:

  • Utwórz pool 1 typu RAID 10 z woluminem statycznym, używając co najmniej 8 dysków twardych.
  • Przypisz 4 VM o wysokim obciążeniu (losowe operacje wejścia/wyjścia ponad 30%) do wysokowydajnej macierzy RAID 10.
  • Utwórz pool 2 typu RAID 6 z woluminem grubym lub statycznym, używając co najmniej 4 dysków twardych.
  • Przypisz 5 VM o niskim obciążeniu (głównie sekwencyjne operacje wejścia/wyjścia) do tej macierzy RAID 6.
  • Utwórz pool 3 typu RAID 6 z woluminem grubym lub statycznym, używając co najmniej 4 dysków twardych.
  • Przypisz pozostałe VM, serwery WWW, wirtualne desktopy użytkowników oraz wewnętrzne serwery deweloperskie do tej macierzy RAID 6.

Alternatywna konfiguracja:

  • Utwórz pool 1 typu RAID 10 z woluminem statycznym, używając co najmniej 4 dysków SSD.
  • Przypisz wszystkie VM o wysokim i średnim obciążeniu do dysków SSD.
  • Utwórz pool 2 typu RAID 6 z woluminem grubym lub statycznym, używając co najmniej 8 dysków twardych.
  • Przypisz resztę VM (głównie sekwencyjne operacje wejścia/wyjścia) do tej macierzy RAID 6.

* Dotyczy to VMware, Hyper-V, XenServer i innych hypervisorów.

Studium przypadku nr 2: jak najwyższa wydajność IOPS​


Aby uzyskać jak najlepsze wyniki, użyj wysokowydajnych dysków SSD.

Używany sprzęt:
TS-EC1680U-RP
https://www.qnap.com/i/pl/product/model.php?II=126
16 dysków SSD SATA po 1 TB

Klientowi zależy najbardziej na jak najwyższej wydajności pamięci masowej, a pojemność nie ma największego znaczenia.

  • Utwórz pool 1 typu RAID 10 z woluminem statycznym, używając wszystkich dostępnych dysków SSD. Ponieważ dyski SSD nie mają żadnych ruchomych elementów mechanicznych, można uzyskać bardzo wysoki poziom IOPS dostępu sekwencyjnego i losowego.

Studium przypadku nr 3: dostęp do plików z wielu klientów​


Wiele jednoczesnych operacji odczytu i zapisu w pamięci oznacza więcej IOPS przy dostępie losowym.

Klient ma farmę renderingową obejmującą około 50 węzłów. Wszystkie 50 węzłów odczytuje jednocześnie źródłową bibliotekę multimediów z pamięci masowej, renderuje dane, a następnie zapisuje wynik w pamięci masowej do dalszego przetwarzania. Ponieważ wszystkie 50 węzłów najpierw odczytuje multimedia, a następnie zapisuje wynik w pamięci masowej jednocześnie, tworzy to poważne wąskie gardło pod względem IOPS, kiedy używa się samych mechanicznych dysków twardych. Do procesu renderowania graficznego jest wymagana zarówno wysoka wydajność, jak i wysoka pojemność pamięci, dlatego pamięć masową QNAP NAS możemy zoptymalizować następująco.

Zalecana konfiguracja:

Używany sprzęt:
2 x TS-EC1680U-RP
https://www.qnap.com/i/pl/product/model.php?II=126
16 dysków twardych SATA po 6 TB

  • Utwórz pool 1 typu RAID 10 z woluminem grubym lub statycznym, używając co najmniej 10 dysków.
  • Wszystkie wyniki zapisuj w tym poolu, aby wykorzystać zalety macierzy RAID 10.
  • Utwórz pool 2 typu RAID 5 lub 6 z woluminem grubym lub statycznym, używając co najmniej 10 dysków.
  • Z tego poolu odczytuj wszystkie dane.

Alternatywna konfiguracja:

  • Zainstaluj w serwerze QNAP NAS 1 same dyski SSD i utwórz jeden wielki pool 1.
  • Zapisuj wszystkie wyniki na tym serwerze NAS. Ze względu na charakter jednoczesnych zapisów należy je uznać za operacje IOPS z dostępem losowym.
  • Zainstaluj w serwerze QNAP NAS 2 same dyski mechaniczne i utwórz jeden wielki pool 1.
  • Z tego serwera NAS odczytuj wszystkie dane.



DODATEK:​


W serwerach QNAP NAS jest używana zaawansowana technologia poolów zapewniająca użytkownikom zarówno elastyczność, jak i wydajność.
Rysunek 4 Pool pamięci masowej

QNAP_storage_4.webp


Pool pamięci masowej z zarządzaniem woluminami logicznymi
Przy użyciu funkcji Elastyczne zarządzanie woluminami serwera QNAP można lepiej zarządzać pojemnością pamięci masowej. Pool pamięci masowej agreguje dyski twarde, tworząc większe miejsce w pamięci masowej. Dzięki obsłudze wielu grup RAID może też oferować nadmiarową ochronę, która zmniejsza ryzyko awarii i uszkodzenia danych.

Po utworzeniu poolu można wybrać spośród trzech metod tworzenia woluminu na bazie poolu. Typ woluminu zależy od tego, czy zależy nam bardziej na elastyczności, czy wydajności.

Wolumin statyczny:
Wolumin statyczny zajmuje całe dostępne miejsce w poolu. Z wyprzedzeniem alokuje i przygotowuje miejsce w celu optymalizacji dostępu do odczytu i zapisu. Ponieważ wolumin statyczny zajmuje całe miejsce w poolu, nie można w tym samym poolu utworzyć większej liczby woluminów.

Wolumin gruby:
Wolumin gruby zapewnia połączenie elastyczności pod względem miejsca i wydajności. Można wybrać określoną ilość miejsca z poolu do przydzielenia woluminowi grubemu. Oznacza to, że w ramach tego samego poolu można tworzyć większą liczbę woluminów grubych i uproszczonych. Po wybraniu odpowiedniej wielkości woluminu grubego alokuje on i przygotowuje miejsce na dostęp do odczytu i zapisu.

Wolumin uproszczony:
Wolumin uproszczony umożliwia bardziej elastyczne wykorzystanie miejsca w pamięci masowej. Podczas tworzenia wolumin uproszczony nie zajmuje fizycznego miejsca w pamięci — dzieje się tak tylko podczas alokacji na potrzeby zapisu. Oznacza to, że można skonfigurować wolumin uproszczony o pojemności większej niż pojemność fizycznej pamięci masowej. W ramach tego samego poolu można tworzyć większą liczbę woluminów uproszczonych. Elastyczność miejsca woluminów uproszczonych zmniejsza wydajność podczas obciążenia.

Przyspieszanie pamięci podręcznej mSATA i SSD do odczytu i zapisu:
Technologia pamięci podręcznej SSD bazuje na dyskowych pamięciach podręcznych do odczytu. Kiedy aplikacje serwera Turbo NAS uzyskują dostęp do dysków twardych, dane są zapisywane na dyskach SSD. Kiedy aplikacja ponownie uzyskuje dostęp do tych samych danych, zostaną one odczytane i zapisane w pamięci podręcznej SSD, zamiast na dyskach twardych. W pamięci podręcznej SSD są przechowywane często używane dane. Do dysków twardych uzyskuje się dostęp tylko wtedy, gdy nie można znaleźć danych na dyskach SSD.
Tradycyjna metoda dostępu do danych

QNAP_storage_5.webp


Metoda dostępu do danych w pamięci podręcznej SSD

QNAP_storage_6.webp


Źródła:
Random access - Wikipedia
Sequential access - Wikipedia
IOPS - Wikipedia