Warstwy w pamięciach masowych

0

Budżety działów IT są coraz mniejsze, a wymagania jednostek biznesowych coraz większe. W tym momencie mały stopień utylizacji posiadanych przez firmy zasobów nie wchodzi w grę. W systemach pamięci masowych problem ten może być rozwiązany poprzez wydzielenie grup urządzeń o podobnej wydajności oraz cenie i podzielenie ich na warstwy.

Istnieją dwa sposoby podejścia do podzielenia pamięci masowych na warstwy. Pierwszy to zdefiniowanie klas aplikacji, bazując głównie na potrzebie zapewnienia im odpowiedniej wydajności i pojemności oraz przypisanie ich do podobnych klas pamięci masowych, które spełniają te parametry. Drugą metodą jest identyfikacja danych, do których częstotliwość dostępu się zmienia (głównie znacznie spada), a które – przechowywane w podstawowych systemach pamięci masowej – zajmują niepotrzebnie cenne zasoby. Dane te można przenieść na tańsze warstwy pamięci masowych.

Badania analityków mówią, że przez najbliższych pięć lat ilość danych będzie rosła o ponad 50% rocznie. Ma na to wpływ wiele czynników, w tym przede wszystkim rosnąca liczba wytwarzanych cyfrowych treści oraz digitalizacja już wytworzonych dokumentów. Coraz częściej pomiędzy kontrahentami (firmami, partnerami, dostawcami, klientami itd.) dokumenty są wymieniane w postaci elektronicznej, a prawo i wewnętrzne regulaminy firm nakazują długotrwałe przechowywanie tych danych. Dodatkowo, dbałość o bezpieczeństwo informacji nakazuje częste jej multiplikowanie, co siłą rzeczy niesie ze sobą konieczność zapewnienia dodatkowych przestrzeni w systemach pamięci masowych. Tymczasem jednostki biznesowe wciąż potrzebują dostępu do zasobów, które umożliwią im rozwój, utrzymanie produktywności i konkurencyjności. Dodatkowo, działy IT są często proszone o obniżenie kosztów funkcjonowania systemów, za które odpowiadają.

Dopasowanie zasobów do aplikacji

Aby dopasować zasoby pamięci masowych do wymogów aplikacji, administratorzy pamięci masowych muszą podzielić posiadane systemy na warstwy. Można to zrobić na dwa sposoby, niekoniecznie wykluczające się nawzajem.

1. Dopasowanie wymogów aplikacji do właściwej warstwy pamięci masowych. Każda firma powinna zdefiniować własne parametry dla każdej warstwy. Tymi parametrami mogą być IOPS, redundancja, przepustowość, niezawodność, ochrona danych, możliwość odzyskania, wsparcie itp.
2. W wielu sytuacjach, gdzie dane się starzeją i zmniejsza się częstotliwość dostępu do nich, dane można by przenieść na tańsze warstwy. Niestety, często te dane zostały stworzone przez aplikację, która nie wspiera ich rozdzielania i migracji na inne nośniki, przy równoczesnym zachowaniu dostępu. Wówczas przeniesienie ich z jednego systemu na drugi nie jest tak proste, jakby to mogło się wydawać.

W systemach pamięci masowych najczęściej wyróżnia się cztery warstwy:
• Warstwa 1 – najbardziej wydajne dyski Fibre Channel (FC) w macierzy dyskowej dołączonej do sieci SAN; głównie obsługa wysokowydajnych baz danych.
• Warstwa 2 – dyski Serial Attached SCSI (SAS) w mniej wydajnych, uniwersalnych macierzach dyskowych, które mogą być nośnikiem baz danych, ale też działać jako serwery plików NAS.
• Warstwa 3 – dyski Serial ATA (SATA), stosowane najczęściej w serwerach plików NAS, często także w systemach backupu dysk-dysk (D2D).
• Warstwa 4 – taśmy w zmieniaczach lub bibliotekach taśmowych, stosowane głównie do backupu taśmowego lub długotrwałej archiwizacji danych.

Od momentu pojawienia się dysków SSD dla macierzy dyskowych, często określa się je mianem Warstwy 0, chociaż ten termin oficjalnie jeszcze się nie przyjął. Dyski te mają interfejs Fibre Channel i stosowane są obecnie głównie w Warstwie 1.

Ważne jest też, że coraz więcej macierzy dyskowych umożliwia obecnie instalację wielu rodzajów dysków. Daje to możliwość tworzenia warstw wewnątrz macierzy dyskowej, unikając konieczności kupowania kolejnego urządzenia, a gwarantując możliwość przechowywania danych na tańszych nośnikach.

Dopasowanie aplikacji do pamięci masowych należy rozpocząć od określenia wymogów aplikacji. Na te wymogi mogą składać się wydajność, niezawodność, możliwość odzyskania danych, dostępność i inne parametry. Gdy tylko podzielimy aplikacje na klasy, możemy zrobić to dla pamięci masowych. Tak jak podaliśmy, warstwy pamięci masowych mogą różnić się na podstawie interfejsu (FC, iSCSI, NFS), rodzaju dysków (FC, SAS, SATA), niezawodności (RAID 1, 10, 5, 6), dostępności i możliwości odzyskania (wielościeżkowość, redundantne kontrolery) i innych. Finalnym krokiem
jest przypisanie aplikacji do właściwych klas pamięci masowych.

Warstwy w warstwach

Załóżmy, że nasza aplikacja wymaga najbardziej wydajnej pamięci dyskowej w warstwie pierwszej, która jest zdefiniowana jako posiadająca dyski FC 15 tys. rpm w konfiguracji RAID 10 z nadmiarowym kontrolerem i nadmiarowym łączem z hostem. Po pewnym czasie do części danych nikt już nie sięga. Analiza statystyczna pokazuje, że dzieje się tak najczęściej po 120 dniach od ich wytworzenia, wówczas dane bardzo rzadko są odczytywane lub zmieniane, ale nie mogą być skasowane.

To jest bardzo częsty scenariusz. W jego efekcie duży procent danych, określanych jako statyczne, ale wartościowe, zajmuje drogie zasoby pamięci masowych. Umożliwienie przenoszenia danych między warstwami jest sporym wyzwaniem i może być zrealizowane na trzy sposoby:
• Oprogramowanie do hierarchicznego zarządzania pamięcią masową (Hierarchical Storage Management, HSM) przenosi pliki pomiędzy warstwami bazując na analizie ich wieku lub czasu ostatniego odczytu. Aby miało to niewielki wpływ na komfort pracy użytkowników, w źródłowym miejscu pozostawiany jest odpowiedni znacznik opisujący przeniesione dane (ułatwia to ich wyszukanie) i kierujący użytkownika do nowej lokalizacji.
• Warstwy pamięci masowych mogą być uzyskane także w ramach środowiska wirtualizacji pamięci masowych. W tym scenariuszu pojedynczy wolumin może zawierać wiele warstw pamięci, a bloki z danymi są przenoszone między warstwami bazując na statystykach dostępowych.
• Warstwy pamięci masowych mogą być także zrealizowane w pojedynczym systemie plików macierzy dyskowej. W tym scenariuszu inteligentny system plików jest w stanie zapisywać dane do kilku puli pamięci masowych, gdzie każda pula jest oddzielną warstwą. System plików migruje je pomiędzy warstwami bez wpływu na użytkowników czy aplikacje. W tym modelu nie są wymagane znaczniki.

Z wykorzystania modelu warstw płyną dwie główne korzyści. Po pierwsze, odciążone aplikacje pracują sprawniej. Po drugie, przypisanie danych do odpowiednich pamięci masowych pozwala zredukować koszt przy jednoczesnym utrzymaniu wymogów biznesowych. Statystycznie do 60% danych nie następuje regularny dostęp, zaś pamięci masowe drugiej warstwy potrafią kosztować jedną czwartą ceny pamięci pierwszej warstwy. Przeniesienie statycznych danych na niższe warstwy może zredukować koszty pamięci masowych o 15%.

Nie wszystko złoto…

Zdefiniowanie warstw aplikacji i pamięci masowych ma implikacje finansowe i produkcyjne. Niestety, nie zawsze można zrealizować podejście do warstw w ten sam sposób. Niektóre metody mogą negatywnie wpłynąć na inne elementy środowiska.

Warstwy pamięci masowych mogą być uzyskane na poziomie bloków lub plików. Warstwy na poziomie bloków nie mają wpływu na aplikacje lub użytkowników, ale wymagają zaawansowanego poziomu wirtualizacji, gdzie bloki są automatycznie przenoszone pomiędzy różnymi pamięciami masowymi.

W systemie plików warstwy mogą być uzyskane na dwa sposoby – pozostawienie znacznika na źródle lub całkowite przeniesienie pliku. Ale warstwy na poziomie systemów plików mogą też stanowić wyzwanie w innych obszarach infrastruktury:
• Jeśli plik zostanie przeniesiony do całkowicie innego systemu w niższej warstwie, użytkownicy i aplikacje odczują to. Na przykład, użytkownicy i aplikacje będą musieli być poinformowani o nowej lokalizacji danych. To może być uzyskane poprzez oddzielny interfejs lub inną literę dysku. Gdy dane zostaną przeniesione do innego systemu, stanie się on podstawowym repozytorium tych danych. Za każdym razem, gdy nowe dane są przenoszone do tego systemu, musi on zostać zbackupowany, aby w przypadku awarii, skasowania lub uszkodzenia mogły być odzyskane. Wyzwaniem tutaj jest dodanie nowego zadania do systemu backupowego i modyfikacja jak aplikacje i użytkownicy uzyskują dostęp do danych.
• Jeśli w źródłowym systemie plików jest pozostawiany znacznik dla przeniesionego pliku, trzeba rozważyć trzy aspekty:
– Najczęściej znacznik zajmuje na dysku 4 kB pojemności. Jeśli zmigrowany plik ma mniejszą pojemność, cała operacja traci sens, bo nie uzyskamy oszczędności.
– Znaczniki zwykle mają znacznie mniejszą pojemność niż migrowane pliki. To może mieć znaczny wpływ na proces wykonywania backupu – backupowanie wielu małych plików może trwać znacznie dłużej niż mniejszej liczby większych plików.
– Gdy wykonujemy backup podstawowego plikowego systemu storage, wykonywany jest backup znaczników, a nie rzeczywistych danych. Aby zapewnić dostępność i możliwość odzyskania danych, backup systemu plików, gdzie rezydują rzeczywiste dane także musi być wykonany.

Z perspektywy utylizacji i optymalizacji pamięci masowych, warstwy pamięci masowych mogą wydawać się idealnym rozwiązaniem, ale cały czas trzeba pamiętać, że mogą one mieć wpływ na całą infrastrukturę pamięci masowych. Naciski, aby zwiększać efektywność utylizacji pamięci masowych spowodowały wzrost innowacyjności na tym rynku. Dostarczanie warstw pamięci masowych na poziomie bloków wciąż pozostaje wyzwaniem, ale można zaobserwować pewien przełom na poziomie systemu plików. Już większość macierzy dyskowych umożliwia instalowanie różnych rodzajów twardych dysków, dzielenie ich na klasy i migrację pomiędzy tymi warstwami bez większego negatywnego wpływu na komfort pracy użytkowników czy wydajność aplikacji.

PODZIEL SIĘ

BRAK KOMENTARZY

ZOSTAW ODPOWIEDŹ