• 05-01-2017
  • Technologie storage
  • Grzegorz

Tiering, czyli efektywny kosztowo sposób na przechowywanie danych

W działającym w ramach Enterprise Business Group dziale Presales & Solution Design często spotykamy się z sytuacjami, które wymagają od nas niestandardowego podejścia i sporej dawki kreatywności. Tym razem stanęliśmy przed wyzwaniem, jakim było stworzenie wydajnej oraz niedrogiej macierzy dyskowej. Dlatego skorzystaliśmy z tieringu.

Jak zbudować takie rozwiązanie? Zacznijmy od początku. W każdej macierzy tworzymy grupy RAID, następnie z istniejących grup kreujemy Storage Pool – nazwijmy to pulą zasobów, na której możemy tworzyć wolumeny logiczne podpinane do serwerów jako zewnętrzny zasób dyskowy. Poniżej widzimy Storage Pool składający się z trzech grup RAID. Grupy te wykreowane są na dyskach różnych rodzajów, od najwolniejszych NL-SAS poprzez SAS, aż po „dyski” Flash. Na nasze potrzeby załóżmy też, że omawiany Storage Pool stanowi cały logiczny dysk (LUN lub wolumen dyskowy) udostępniony dla HOST’a (serwera).

 

Dane przetwarzane przez serwer są zapisywane na naszym dysku logicznym w określonej kolejności. Zapytania użytkowników o poszczególne dane są jednak losowe, odwołują się do danych zapisanych na wszystkich rodzajach dysków. Przyjmijmy, że najgorętsze (czyli dane o które zapytania występują najczęściej) są dane oznaczone kolorem czerwonym, żółte to dane które interesują nas nieco mniej, zielone natomiast to dane do których wracamy sporadycznie.

Narzędzie zwane IO Meter dokonuje analizy najczęściej odpytywanych danych w okresie do 24 godzin wstecz. Po czym lokalizuje je na poszczególnych dyskach w zakresie jednego Storage Pool. Następnie dokonuje ich przeniesienia na najszybszą warstwę dyskową (może to być SAS lub Flash – SSD). Dane, które interesują nas nieco rzadziej są przesuwane na dyski wolniejsze. W efekcie uzyskujemy potencjalnie większą wydajność naszej macierzy ponieważ wszystkie dane, które wykorzystywane są najczęściej, znajdują się na dyskach o wysokiej wartości parametru IOPS (Input/Output per Second), a więc najszybszych. Jednocześnie nie musimy przeznaczać kroci na utworzenie LUN’u o określonej potrzebnej nam pojemności w oparciu tylko i wyłącznie o dyski FLASH.

 

Oczywiście warto zauważyć, że na wstępie musimy określić jaka będzie potencjalna wielkość tych najgorętszych danych, niemniej co istotne – możemy później dołożyć kolejny dysk SSD i w ten sposób rozszerzyć Storage Pool o potrzebne nam zasoby.

Na rynku macierzy funkcjonuje podobna technologia o nazwie SSD Read Cache. W odróżnieniu od SSD Read Cache, Tiering to rozwiązanie które pozwoli nam nie tylko na odczyt danych, ale również na ich zapis w efekcie czego możemy mówić o podniesieniu całkowitej wydajności macierzy, a nie tylko parametru READ. Pamiętajmy też, że nazwa „cache” w powyższym jest złudna, ponieważ ani w przypadku „read cache”, ani w przypadku „tieringu” nie mamy do czynienia z realnym rozszerzeniem pamięci cache kontrolerów. To pierwsze to tylko rozszerzenie logiczne. W przypadku tieringu nie ma mowy wprost o rozszerzeniu cache`u, obie te technologie działają poniżej cache`u i kontrolerów.

Autor: Adam Grzesiak