Pamięci masowe to – obok serwerów, infrastruktury sieciowej i układów klimatyzacji – jeden z głównych elementów centrum danych. Lawinowy przyrost przetwarzanych przez firmy informacji, z którym mamy do czynienia w ostatnim czasie, spowodował, że liczba macierzy dyskowych w centrach danych rośnie znacznie szybciej niż np. serwerów. Tymczasem zakupy kolejnych pamięci masowych można ograniczyć, a czasem nawet zrezygnować z nich. Prezentujemy 10 metod zapewniających lepsze wykorzystanie posiadanych pamięci masowych, a poprzez to ograniczenie zużycia energii elektrycznej.
Już od kilku lat (a od dwóch lat z dużym nasileniem) w rozwiązaniach pamięci masowych co pewien czas pojawia się nowa metoda na uzyskanie większej wydajności energetycznej. Dzięki temu możliwe jest ograniczenie poboru prądu (a przez to obniżenie kosztów funkcjonowania centrum danych) lub udostępnienie zapasu mocy innym komponentom centrum danych.
Budując strategię „green storage” dla naszego centrum danych, należy wziąć pod uwagę dwa parametry – ilość pobieranej energii na jednostkę pojemności wat/GB i ilość pobieranej energii na jednostkę wydajności wat/IOPS (Input/Output Per Second). Analizy te powinno się przeprowadzić dla każdego urządzenia pamięci masowych w centrum danych i to z perspektywy aplikacji, które z udostępnionych pojemności korzystają. Parametry te powinny być porównywane co pewien czas, aby skontrolować, czy wykonywane czynności optymalizacji mają sens.
Wydajne zasilacze
W centrum danych duża ilość mocy elektrycznej jest tracona z powodu stosowania źle zaprojektowanych zasilaczy, o małym współczynniku wydajności. Nieefektywnie działające zasilacze w urządzeniach mogą odpowiadać za zmarnowanie nawet ponad 50% energii elektrycznej w okresie zmniejszonego poboru energii w centrach danych.
W dobrze zaprojektowanych zasilaczach należy uwzględnić dwa elementy. Po pierwsze, moc wyjściowa zasilacza powinna być ściśle dostosowana do wymogów urządzenia, które on zasila. Po drugie, zasilacze powinny dostarczać optymalną ilość energii w zależności od stopnia obciążenia urządzenia. Źle zaprojektowane zasilacze przez cały czas pracy urządzenia pobierają maksymalną możliwą ilość energii elektrycznej, zamiast dostosować jej pobór do tego, czy np. macierz dyskowa pracuje w danym momencie w maksymalnym obciążeniu, czy znajduje się w stanie jałowym.
Dziś efektywne energetycznie zasilacze są dostępne dla macierzy dyskowych i bibliotek taśmowych, przełączników sieci SAN i innych urządzeń pamięci masowych.
Twarde dyski o dużych pojemnościach
Dostępne dziś twarde dyski do wykorzystania w macierzach dyskowych mają niewiarygodnie duże pojemności. Dzięki nim możemy znacznie obniżyć współczynnik określający ilość poboru pomocy na jednostkę pojemności (wat/GB) w centrum danych. Przeniesienie danych z dysków Fibre Channel 36/73/146 GB na nowsze i bardziej pojemne dyski Fibre Channel lub Serial Attached SCSI (SAS) nie tylko spowoduje zmniejszenie liczby napędów, które trzeba zasilać, ale i spadną wymogi odnośnie do chłodzenia macierzy dyskowej. Podobnie stanie się, gdy będziemy przenosić najrzadziej wykorzystywane dane na pobierające najmniej prądu i oferujące największe pojemności dyski Serial ATA (SATA).
Jedyną wadą tego modelu postępowania jest utrata wydajności mierzona w liczbie operacji wejścia-wyjścia na sekundę (IOPS), co może mieć znaczenie dla aplikacji wymagających największej wydajności. Dla macierzy dyskowych parametr IOPS w przybliżeniu jest określany jako suma wartości IOPS zainstalowanych w nich twardych dysków. Zmniejszenie liczby dysków automatycznie obniża całkowitą wydajność macierzy. W przypadku, gdy ma to duże znacznie, dobrym rozwiązaniem może okazać się wykorzystanie dysków Solid-State Drive (SSD).
Zaawansowane techniki RAID
W macierzach dyskowych przechowywane są duże ilości danych na dużej liczbie dysków. Z tego powodu powinniśmy dbać o spójność tych danych. W przeszłości ta ochrona najczęściej odbywała się poprzez wykonywanie lustrzanej kopii danych (RAID 1). Od pewnego czasu najczęściej stosowany jest RAID 5, stanowiący najlepszy kompromis pomiędzy wydajnością a pojemnością (zapewnia spójność danych przy awarii jednego twardego dysku w macierzy), a ostatnio coraz więcej macierzy umożliwia także skonfigurowanie dysków w RAID 6, który pozwala na jednoczesną awarię dwóch twardych dysków. W porównaniu z kopią lustrzaną nowe struktury RAID oferują do 70% lepsze wykorzystanie przestrzeni dyskowej, a przez to mniejszy pobór mocy wynikający z zastosowania mniejszej liczby twardych dysków.
Dynamiczne przydzielanie zasobów
Jednym z głównych problemów, na który natykają się administratorzy pamięci masowych, jest odpowiednia alokacja przestrzeni dyskowych na potrzeby poszczególnych aplikacji. Aby uniknąć problemów, administratorzy przydzielają aplikacjom znacznie więcej przestrzeni dyskowej, niż w danym momencie one potrzebują, aby uniknąć problemów w przypadku nagłego przyrostu ilości danych.
Co jednak w przypadku, gdy taki przyrost nie nastąpi? Tracimy miejsce (szacunki mówią, że ok. 60% przestrzeni dyskowej), które mogłoby być wykorzystane przez inne aplikacje. Niewykorzystywane twarde dyski nadal się kręcą, muszą więc być zasilane, a przez to pobór mocy wciąż utrzymuje się na wysokim poziomie.
Problem ten może być rozwiązany za pomocą techniki zwanej dynamicznym przydzielaniem zasobów (thin provisioning). Zapewnia ona tworzenie „elastycznych” woluminów przedstawiających się aplikacji jako te, które mają określoną pojemność, ale w rzeczywistości zajmują tylko tyle miejsca, ile dane przypisane do tej aplikacji. Gdy wymagania odnośnie do pojemności zmieniają się, macierz dyskowa jest w stanie automatycznie przydzielić dodatkowe miejsce fizyczne. Bezpośrednią korzyścią płynącą z tej metody jest znaczna redukcja fizycznie zaalokowanej przestrzeni dyskowej, a pośrednią – oszczędności w zasilaniu oraz chłodzeniu.
Deduplikacja danych
Średni wolumin dyskowy zawiera tysiące zduplikowanych obiektów. Powstają one przy każdej modyfikacji danych, ich dystrybucji, backupie czy archiwizacji. Rezultatem jest bardzo nieefektywne wykorzystanie zasobów pamięci masowych. Panaceum na te problemy jest deduplikacja danych, będąca swego rodzaju kompresją.
W procesie deduplikacji obiekty są dzielone na mniejsze bloki. Każdy blok danych jest opatrzony cyfrową sygnaturą, która jest porównywana z innymi sygnaturami w woluminie dyskowym. Jeśli któryś z bloków powtarza się, jest usuwany, a pozostaje tylko odnośnik do wcześniej zidentyfikowanego, identycznego bloku.
Teoretycznie deduplikacja mogłaby być wprowadzona praktycznie wszędzie, nawet w pojedynczych dyskach twardych. Jednak ze względu na fakt, że do jej przeprowadzenia wykorzystywane są pewne zasoby mocy obliczeniowej, jest stosowana głównie w systemach backupu i archiwizacji, tam też jest najbardziej efektywna. Stopień odzyskania przestrzeni dyskowej jest różny i zależy od rodzaju przechowywanych danych oraz np. liczby wykonywanych backupów. W rekordowych implementacjach udawało się odzyskać nawet 95% miejsca.
Bardzo dobre efekty daje połączenie ze sobą technik dynamicznego przydzielania i deduplikacji danych. Ponieważ administratorowi często trudno jest przewidzieć stopień deduplikacji, narzędzie umożliwiające dynamiczne przydzielanie ma dla niego niebagatelną wartość, jako że nie musi wtedy zabezpieczać zapasu przestrzeni dyskowej na wypadek, gdyby współczynnik deduplikacji nagle zmalał.
Kopie migawkowe
Administratorzy pamięci masowych często muszą przeznaczać niemałą ilość miejsca na środowisko testowe, gdzie dział programistyczny lub administratorzy aplikacji mogą przeprowadzać swoje testy przed przekazaniem użytkownikom nowego rozwiązania. W dużych firmach, gdzie w ramach procedury testowej uruchamiane są symulacje na dużą skalę, środowisko testowe stanowi znaczny koszt.
W przeszłości na potrzeby testów administratorzy wykonywali pełną kopię danych produkcyjnych i na nich przeprowadzali testy. Oferowana od kilku lat technologia kopii migawkowych zapewnia osiągnięcie podobnego celu, ale jednocześnie znaczną oszczędność miejsca – na macierzy dyskowej zapisywane są tylko zmiany, które wystąpiły od momentu wykonania kopii. Dla środowiska produkcyjnego oryginalne dane pozostają nienaruszone, natomiast w ramach testów możliwa jest praca na wykonanej kopii. Funkcja kopii migawkowych zapewnia także ich multiplikowanie, a dzięki temu prowadzenie wielu rodzajów symulacji.
Kompresja danych
Wykorzystywana od dekad w napędach taśmowych i komputerach osobistych kompresja w centrach danych może być realizowana na dwa sposoby: w oddzielnych urządzeniach kompresujących dane w czasie rzeczywistym oraz w systemach backupu dysk-dysk (D2D), takich jak wirtualne biblioteki taśmowe, gdzie dzięki kompresji możliwe jest zredukowanie zapotrzebowania na przestrzeń dyskową. Urządzenia te najczęściej korzystają z algorytmu kompresji Lempel-Ziv i mogą zaoferować do 50% oszczędności miejsca.
Pamięci flash
Dyski Solid-State Drive (SSD) do przechowywania danych wykorzystują pamięci flash. Ponieważ nie ma w nich mechanicznych komponentów, możliwe jest uzyskanie znacznie dłuższych czasów dostępu oraz mniejszego poboru mocy elektrycznej (średnio o 38%). Zastosowanie dysków SSD w macierzach dyskowych daje możliwość wydzielenia odrębnej „warstwy”, w której mogą być przechowywane dane przetwarzane przez najbardziej wymagające aplikacje. Jest to też idealne rozwiązanie, gdy potrzebujemy środowiska, w którym relatywnie mała ilość danych jest przetwarzana w bardzo intensywny sposób.
Tryb uśpienia
Tak jak taśmy nie zużywają energii, gdy nie następuje dostęp do danych, zatrzymanie dysków z danymi, do których od dawna nikt nie zagląda, może przynieść znaczne oszczędności w zużyciu energii. Dzięki inteligentnym kontrolerom dyskowym, które są w stanie przeanalizować stopień wykorzystania poszczególnych danych i odpowiednio „poukładać” je na twardych dyskach, możliwe jest uśpienie dysków z najrzadziej wykorzystywanymi danymi. Ma to jednak dwie wady – czas dostępu do uśpionych danych znacznie się wydłuża (kilkanaście sekund potrzebnych na rozruch twardego dysku), wielu ekspertów twierdzi też, że częste zatrzymywanie i uruchamianie twardych dysków zmniejsza ich mechaniczną niezawodność.
Kolejną techniką, która zapewni znaczne oszczędności, jest tryb uśpienia całej macierzy dyskowej. Możemy sobie pozwolić na to, jeśli nie ma konieczności zdalnego dostępu do danych, a wszystkie kopie zapasowe po całym dniu pracy zostaną wykonane dość szybko. Wówczas wyłączenie macierzy na sześć godzin (od północy do 6 rano) daje 25% oszczędności w poborze energii elektrycznej przez to urządzenie.
Wirtualizacja
Dzięki wirtualizacji serwerów wiele maszyn wirtualnych może być uruchamianych na jednym fizycznym serwerze, redukując całkowitą liczbę serwerów w centrum danych, a tym samym ilość pobieranej przez nie energii elektrycznej. Podobną technologię można zastosować w pamięci masowej, gdzie dzięki wprowadzeniu dodatkowej abstrakcyjnej warstwy możliwe jest lepsze zarządzanie posiadanymi zasobami.
Podczas wprowadzania wirtualizacji pamięci masowych wszystkie macierze dyskowe poddawane temu procesowi są dzielone na klasy pod względem wydajności. Dzięki temu administrator może określić wydajność macierzy, na których ma znajdować się dany wolumin, a resztą zajmie się rozwiązanie odpowiedzialne za wirtualizację, umożliwiając także dynamiczne zmiany w fizycznych i wirtualnych woluminach oraz migrację danych pomiędzy macierzami dyskowymi różnych klas (może to mieć znaczenie, gdy intensywne wykorzystywanie danych w ramach jakiegoś projektu zostało zakończone i teraz potrzebny jest tylko okazjonalny dostęp do tych danych).