Zavřít
Wprowadź Śledź nas

3S.cz

Sekcja specjalistyczna

JAK WYBRAĆ MACIERZ – część 1

22.09.2015, 10:13

Nadzwyczajne zainteresowanie artykułami opublikowanymi w naszym czasopiśmie ENTERPRISE na temat wyboru konkretnych macierzy bardzo nas pocieszył, za co też dziękujemy. rnA w związku z tym, że nasi czytelnicy oraz klienci stanowią dla nas inspirację, zdecydowaliśmy się udostępnić ten oto serial również w wersji on-line.

Jeszcze nie tak dawno firmy do funkcjonowania IT potrzebowały zwyczajnie jednostki TB. Jednak ilość danych rośnie w zawrotnym tempie, dlatego w dzisiejszych czasach spotykamy się z typowym zapotrzebowaniem firm w ilości dziesiątek lub nawet setek TB.  

Pod względem kosztów przechowywanie takiej ilości danych stanowi jedną z największych inwestycji. I słusznie, – podczas gdy jakąkolwiek pozostałą infrastrukturę można „bezboleśnie” zastąpić, tak dokonanie złego wybóru w dziedzinie dyskowych systemów macierzy może przybrać niekorzystny obrót. Począwszy od konsekwencji finansowych z powodu niedyspozycyjności wybranego rozwiązaniaaż pobezpośrednie straty finansowe w postaci braku dostępu bądź bezpośredniej straty danych.

Jak zatem wybrać macierze, aby się nie przeliczyć? 

Kluczem do dokonania dobrego wyboru jest zrozumienie sedna technologii oraz ocena istotnych parametrów. 

 

AUTOMATYCZNY TIERING

Najpierw należy rozważyć, z jaką ilością danych będziemy pracować. Im większa ilość danych, tym bardziej skomplikowane zadanie muszą firmy rozwiązać. Chodzi o to, aby dopasować do siebie dwa przeciwstawne wymagania – tj. dalej zapisywać coraz większe ilości danych a jednocześnie zapewnić do nich dostęp w jak najkrótszym czasie. 

W związku z tym się pojawia pytanie: Jaki czas reakcji macierzy jest jeszcze dobry, a od kiedy już to jest złe? Nie można udzielić jednoznacznej rady, zawsze to zależy od konkretnej sytuacji i wymagań businessu. Pomimo to ustalono jako granicę do zaakceptowania 5 ms, w przypadku bazy danych wymagania trzeba jeszcze bardziej zaostrzyć – do 3 ms.

Ale powróćmy do naszego problemu. Powiedzmy, że firma stoi przed zadaniem zabezpieczyć zapisywanie 50 TB o wydajności 50 000 operacji wejścia-wyjścia na sekundę, czyli 50 000 IOPS. Na rozwiązanie takiego wymagania w sposób konwencjonalny, trzeba będzie oprócz odpowiednio wydajnej macierzy również wystarczająca ilość dysków, które będą w stanie tak dużą ilość operacji „wchłonąć”.  W tym konkretnym przypadku zadanie by mogło rozwiązać około 200 sztuk 10.000 RPM dysków, a to się wiąże z dużą macierzą oraz niemałą inwestycją.      

Aczkolwiek problem ten można rozwiązać i w inny sposób. Statystycznie rzecz biorąc firmy pracują tylko z małą częścią danych – w większości z tymi najmłodszymi. Reszta ma charakter uśpionych danych. Czym są starsze, tym mniej się z nimi pracuje. Można by zatem wziąć pod uwagę to, że by było dobre zapisywać dane, z którymi się często pracuje na szybkich dyskach, natomiast „uśpione” dane na dyskach NL-SAS. Ta oto myśl nosi nazwę automatycznego tieringu, co oznacza, że macierze pracują z różnymi typami dysków (…o różnej wydajności i wartości za GB) oraz potrafią znaleźć optymalne miejsce zapisu.   

Bardzo wymowne są badania firmy Gartner, które zakończyły się teorią, że połączenie automatycznego tieringu oraz warstwy SSD o pojemności jedynie 3% całkowitej zainstalowanej pojemności obsłuży aż 80% operacji wejścia-wyjścia wygenerowanych przez infrastrukturę. Wspomniane 3% należy traktować jako minimalne zalecenie – zarówno w związku ze spadkiem cen technologii SSD, optymalna sytuacja jest około 5 % – 10 %.

Zalecenie firmy Gartner odnośnie procentowego rozłożenia pojemnościowych stosunków wydajnościowych oraz pojemnościowych tierów dla systemów orientowanych na wydajność.

I w tym miejscu pojawia się również pierwsza przeszkoda. Wielu producentów twierdzi, że ich macierze zawierają tiering, ale istnieje kilka rodzajów tieringu, które różnią się od siebie wydajnością:

-          LUN Tiering – Najstarszy i najprostszy. Nie potrafi więcej niż to, że cały LUN przemieszcza między obszarami wydajności i pojemności.

-          SSD Cache – Właściwie nawet nie chodzi tutaj o tiering, ale tylko o wykorzystanie dysków SSD jako pamięci pomocniczej (cache) macierzy. Najczęściej używane dane są wczytywane na nośnik SSD. Chodzi o proste rozwiązanie, które nie jest wymagające pod względem programowania i jest w stanie akcelerować operacje wejścia-wyjścia. 

-          Sub-LUN Tiering – To najbardziej zaawansowany sposób. Daje radę z przesuwaniem stron z danymi w ramach Logicznego dysku (LUNu) między różnymi tierami macierzy. Na podstawie częstotliwości dostępu automatycznie rozpozna, z którymi stronami się często pracuje a te przenosi na szybkie dyski (np. SSD lub SAS RAID10). Działa to również w odwrotnym kierunku, strony, z którymi pracuje się sporadycznie, przesuwa do obszarów o mniejszej wartości za GB.  

Zatrzymajmy się na chwilę przy Sun-Lun Tieringu. Ten u żadnego z producentów nie potrafi przenosić poszczególnych bajtów, ale wskutek wewnętrznych nakładów pracuje z blokami danych, tzw. „page”. I właśnie w tym się różnią od siebie producenci i panuje tutaj cała masa mitów. Tym największym jest ten, że mniejszy page oznacza większą ziarnistość a z tym się wiąże większa wydajność tieringu. Prawdą jest, że rozmiar przesuwanych page w ramach tieringu jest wybierany przez producenta zgodnie z możliwościami architektury macierzy dyskowych. I tak z jednej strony mamy do czynienia z page o rozmiarze 1 GB (a to jest naprawdę dużo) a z drugiej strony o rozmiarze 512 kB. Na przykład macierz dyskowa klasy Enterprise HUS-VM od firmy Hitachi dzięki mocnemu enterprise kontrolerowi i wielkości cache, może używać bloku o większym rozmiarze, konkretnie 42 MB. W przypadku tieringu rozumne wykorzystywanie większych bloków jest nawet wskazane, ponieważ minimalizuje wewnętrzne nakłady (strata wydajności) tych funkcji. Jednak wykorzystywanie większych bloków wymaga wydajnego kontrolera z wysoką przepustowością GB/s oraz cache, aby te bloki danych mogła przetworzyć bez wpływu na obsługę serwerów. Niektóre systemy konkurencyjne są limitowane małą wydajnością i w związku z tym muszą wykorzystywać małe bloki, np. 512 kB, które szybko podwyższają koszty tieringu, przedłużają czas reakcji oraz w istotny sposób degradują całkowitą wydajność macierzy.                                            

Następny odcinek będzie poświęcony Architekturze macierzy dyskowych.