sobota, 17 grudnia 2011

Clariion - FAST Cache

Po wpisie dotyczącym autentyfikacji użytkowników i innych spraw średnio przydatnych przy codziennym administrowaniu macierzami, wracamy do zagadnień  "ciekawszych".
Dzisiejszym tematem jest nowa funkcjonalność zaimplementowana we FLARE30 i dostępna w macierzach Clariion CX4 oraz VNX, chodzi mianowicie o FAST Cache. Nazwa może być trochę myląca, ponieważ jest to co innego niż FAST (nazwa na automatyczny tiering w macierzach EMC). Gdyby opisać jednym zdaniem działanie FAST Cache, to jest to wykorzystanie dysków SSD do rozszerzenia pamięci cache.

Podstawy

Funkcjonalność FAST Cache została wprowadzona przez FLARE30 i polega ona na wykorzystaniu dysków SSD, nie jako przestrzeni do wystawiania danych, ale jako rozszerzenie pamięci cache. Można (w zależności od konfiguracji i ilości dysków SSD) "rozbudować" cache macierzy o wielkości od 73GB do 2TB.
Celem takiego ruchu jest oczywiście zapewnienie większej wydajności jaką zapewnia zwiększona "pamięć podręczna". Dyski SSD mają dużo lepsze parametry niż ich "tradycyjni", mechaniczni koledzy i dlatego operacje IO są na nich wykonywane dużo szybciej.
Uruchomienie funkcjonalności FAST Cache może być wykonane podczas działania macierzy i nie wymaga jej wyłączenia, to samo dotyczy zmian (zwiększenia/zmniejszenia/usunięcia) ilości przestrzeni o jaką chcemy "rozbudować" nasz cache.
Do FAST Cache możemy dołączać całe dyski SSD, nie jest możliwe podzielenie dysku na części i wykorzystanie np: kawałka na wystawianie przestrzeni, a reszty dla FAST Cache.
Po uruchomienia FAST Cache wszyskie nowo tworzone LUNy mają domyślnie aktywną opcję korzystania z tej funkcjonalności, jeżeli chcemy uruchomić ją także dla już istniejących zasobów, należy to zrobić ręcznie( włączenie/wyłączenie FAST Cache można robić per LUN lub per storage pula). Zasoby znajdujące się na dyskach SSD mają FAST Cache wyłączony.


Porównanie pamięci cache i FAST cache.

Mimo iż dyski SSD są dużo szybsze niż mechniczne to jednak nie zapewnieją tych samych parametrów i czasów odpowiedzi co "natywny" cache macierzy oparty na kościach DRAM.

W tabelce jest porównanie tych dwóch rodzajów "cache":
Parametr DRAM Fast Cache
Wielkość do 32GB (zależy od modelu macierzy) do 2TB
Czas odpowiedzi nanosekundy do milisekund milisekundy do mikrosekund
Podział Osobne obszary dla odczytu i zapisu Współny obszar używany do "cachowanie" danych na odczyt i zapis
Ziarnistość (min rozmiar danych jakie można zapisać w cache) Rozmiar pojedyńczej strony jest możliwy do zdefiniowania prze użytkownika. Możliwy zakres: od 2Kb do 16Kb Operuje na kawałkach (extends) o wielkości 64Kb
Odporność na awarie Nie jest odporny na utratę zasilania (musi być podtrzymany bateryjnie do czasu zrzutu na dysk). Po uszkodzeniu wymagana interwencja serwisanta. Odporny na zanik zasilania. Uszkodzony dysk SSD w Fast Cache może być zastąpiony hot spare i wymieniony ręcznie.


Działanie FAST Cache:

Czas na opisanie budowy i działania FAST Cache na nieco większym poziomie szczegółowości.
Na FAST Cache składają się dwa komponenty:
  • Policy engine - odpowiada za zarządzanie i odpowiednie kierowanie przepływem żądań IO przez FAST Cache. Ten moduł decyduje który fragmet danych ma być umieszczony w pamięci FAST Cache, dba również o to aby nieużywane fragmenty były z niej usuwane.
  • Memory map - mapa pokazująca jakie dane są w FAST Cache, przechowuje informację o zawartości każdego z 64KB fragmentów na jaki podzielony jest FAST Cache.

Przepływ danych przy włączonym FAST Cache:

Żądania IO przychodzące do macierzy są sprawdzane czy dotyczą zapisu/odczytu z LUNu (lub z puli) która ma włączoną funkcjonalność FAST Cache. Jeżeli tak to sprawdzane jest (w memory map) czy dane te są już w FAST Cache czy nie. Jeżeli ich nie ma, to dalsza "droga" danego IO jest taka sama jak w przypadku nie używania FAST Cache. 

Jeżeli dane są w fast cache to policy engine przekierowuje IO do Fast Cache. Jeżeli IO jest żądaniem odczytu, a dane znajdują się w pamieci DRAM (czyli natywnym cache) to są stamtąd odczytywane, jeżeli ich tam nie ma, do odczyt ma miejsce z dysku SSD,  a dodatkowo dane te są także zapisywane w DRAMie.
Jeżeli od strony hosta przychodzi żądanie zapisu, to jest ono obsługiwane w ten sam sposób, co normalnie (czyli z wyłączonym FAST Cache) - dane trafiają do DRAMu. Różnica polega na tym, że tzw "de-stagingig" czyli zrzucanie danych z pamięci cache na dyski, odbywa się dwuetapowo, najpierw dane są przegrywane z wewnętrznego cache (DRAM) na dyski SSD (Flash Cache), a dopiero potem na dyski mechaniczne. Pozwala to na dużo szybsze czyszczenie pamięci cache na DRAM z tzw "dirty pages", czyli danych które już zostały zaraportowane hostowi jako zapisane, ale ciągle są obecne jedynie w natywnej pamięci cache (DRAM), która nie jest odporna na zanik zasilania.

O tym, które dane są obecne w FLASH Cache, decyduje policy engine. Algorytm który jest wykorzystywany opiera się częstości w jakie hosty wykonują operacje IO na konkretnych blokach danych.
Proces przenoszenia często używanych danych z dysków mechanicznych na SSD nazywany jest Promotion. Przeniesienie danych do których częstość odwołań spadła z FLASH Cacha spowrotem na dyski mechaniczne nazywana jest Write Back.
Co do Write Back to nie mam pełnej jasnosci jak on dokładnie działa: W dokumentacji EMC (h8046-fast-cache-wp) pisze wyraźnie, że dane są kopiowane z SSD na HDD. Nieścisłość według mnie polega na tym, że podczas promocji do FAST Cache dane nie są przenoszone, ale kopiowane, czyli cały czas rezydują w swoim orginalnym miejscu, w cache - czy to zwykłym, czy FAST - znajduje się tylko ich kopia. Operacja odwrotna czyli Write Back nie powinien nic kopiować tylko zaznaczać na memory map, że dany blok nie jest już w tej pamięci obecny.


Jak uruchomić FAST Cache:

Z poziomu Unisphere Fast Cache uaktywnia się po wyborze opcji Storage System Properties na zakładce FAST Cache. Po uruchomieniu funkcjonalność ta jest domyślnie włączona dla wszyskich nowych zasobów.
Przy tworzeniu LUNa można włączyć/wyłączyć używanie przez niego FAST Cache w zakładce Create LUN-->Advanced poprzez zaznaczenie/odznaczenie odpowiedniego pola wyboru.
Dla istniejących LUNów zmiana tego parametru jest możliwa miejscu Properties-->Cache, w przypadku thin pool-i ustawienia FAST Cache są w Properties-->Advance.


Uruchamiać i konfigurować  FAST Cache można również z poziomu CLI:

Uruchamianie FAST Cache:

cache -fast -create -disks -rtype -mode

gdzie:

-disks <-- dyski z których chcemy stworzyć FAST Cache.
-rtype <-- rodzaj protekcji (powinien być RAID1)
-mode <-- tryb ro (read only) lub rw (read write)

Usunięcie FAST Cache:

cache -fast -destroy

poniedziałek, 12 grudnia 2011

Magiczny kwadrat Gartnera dla macierzy

Dzisiaj krótki wpis nie związany z wątkiem Clariionów i przygotowania do certyfikacji z tego zakresu.
Gartner, czyli jedna z największych firm doradczych specjalizujących się w nowych technologiach, opublikowała swój tzw: "magiczny kwadrat" za rok 2011 dla macierzy mid-range oraz high-end.

Kwadrat ten jest układem współrzędnych, gdzie na osi poziomej mamy "completness of vision" co można nazwać innowacyjnością i potencjałem jaki tkwi w danej firmie, na osi pionowej natomiast "ability to execute" czyli jaką siłę przebicia i pozycję na rynku ma dany dostawca.
Te dwie linie dzielą cały duży "kwadrat" na cztery mniejsze. Obecność w danym "kwadraciku" pozwala (oczywiście w przybliżeniu) zaklasyfikowac daną firmę i ocenić jej produkty.

Te cztery mniejsze "kwadraciki" to:

  • Leaders (wysoka "completness of vision" i wysoka "ability to execute") - firmy liderzy, dobra pozycja na rynku, duże możliwości i duży potencjał na rozwój
  • Challengers (niska"completness of vision" i wysoka "ability to execute") - firmy o dużych możliwościach marketingowo-sprzedażowych, silnej pozycji ale nieco w stagnacji. Mniej innowacyjne i nowoczesne.
  • Visionares(wysoka "completness of vision" i niska "ability to execute") - zwykle małe firmy z małym udziałem na rynku, ale oferującym bardzo nowatorskie rozwiązania.
  • Niche players(niska "completness of vision" i niska "ability to execute") - gracze "niszowi" zwykle nie liczący się na danym rynku i z gorszymi rozwiązaniami niż konkurencja

Dla macierzy mid i hig-end Gartner widzi obecną sytuację następująco:

Źródło: Gartner (październik 2011)
Można powiedzieć, NetApp na czele ale bardzo blisko EMC a także HP,IBM i DELL.
EMC mimo iż wciąż wśród liderów to jednak pod względem innowacyjności zostało ocenione nieco gorzej.
Najgorsi z najlepszych to Hitachi. Pojawia się tutaj także firma o której szczerze przyznam mało wiem (i chyba trzeba będzie to zmienić) czyli XIO - jedyny z wizjonerów według Gartnera.

Pozostali gracze to w zasadzie albo "niche players", albo na granicy tak jak Fujitsu i Oracle. Muszę przyznać, że wypozycjonowanie tego ostatniego mnie nieco zaskoczyło - myślałem że będzie lepiej. 

Oprócz samego "magicznego kwadratu" Gartner daje także dość dokładne wytyczne według jakich kryteriów był on wyznaczany oraz wskazuje silne i słabe strony każdego z uwzględnionych producentów.
Nie będę się powtarzał i zainteresowanych odsyłam do samego raportu: