Fotografujemy dane

Technologia kopii migawkowych - snapshots - coraz częściej jest wykorzystywana podczas budowania strategii ochrony danych w przedsiębiorstwach. W porównaniu z klasyczną metodą backupu, ma do zaoferowania bardzo krótki czas przywracania danych (RTO) oraz bliski punkt przywracania (RPO). Mechanizmów działania snapshotów jest kilka - wyjaśniamy, czym się różnią.

Pstryk i już?

Zgodnie z definicją zaproponowaną przez branżową organizację SNIA (Storage Networking Industry Association) snapshot to w pełni funkcjonalna kopia określonego zbioru danych, przedstawiająca obraz ich stanu z chwili, gdy została wykonana. Snapshoty można więc porównać do zdjęć robionych aparatem fotograficznym. Administrator systemu z funkcjonalnością kopii migawkowych może robić "zdjęcia danych" z częstotliwością np. co godzinę, gwarantując użytkownikom, że w razie utraty danych zostaną one szybko przywrócone do ostatnich wersji.

Technologia kopii migawkowych rozwiązuje kilka problemów, które często pojawiają się w centrum danych podczas wykonywania operacji tradycyjnego backupu. Jeden z nich jest związany z nieustannie rosnącą ilością danych i kurczącymi się oknami backupu. Co więcej, specyfika współczesnego biznesu coraz częściej wymaga, aby kluczowe dla niego systemy produkcyjne pracowały non stop. W takiej sytuacji utworzenie pełnej kopii zapasowej dużego wolumenu danych staje się ogromnym wyzwaniem. Ponadto, gdy aplikacja zapisuje dane oraz równolegle przebiega proces backupowania jej danych, często pojawiają się błędy logiczne, a sam proces backupu wpływa na wydajność pracy aplikacji. Receptą na te problemy są snapshoty, umożliwiające szybkie tworzenie kopii danych, które mogą zostać następnie podmapowane pod system backupu i zgrane na repozytorium taśmowe, a odtworzenie z nich odbywa się niemal natychmiastowo.

Zobacz również:

Fotografujemy dane

Decydując się na zabezpieczenie danych systemu produkcyjnego przy użyciu kopii migawkowych, należy pamiętać o bardzo ważnej rzeczy, jaką jest spójność danych. Jeżeli dane kopii migawkowej nie będą spójne z oryginałem, może okazać się, że odtworzenie danych nie będzie możliwe. Problem spójności dotyczy zazwyczaj danych strukturalnych generowanych przez bazy oraz aplikacje, takie jak CRM, ERP czy systemy pocztowe. Jeżeli snapshot zostanie wykonany w momencie, kiedy dane znajdują się w pamięci cache lub przed ukończeniem operacji zapisu, kopia migawkowa nie będzie spójna. Dlatego przed sporządzeniem kopii migawkowej zaleca się wykonanie tzw. operacji wyciszania bazy lub aplikacji. Polega ona na zrzucie pamięci cache, zakończeniu operacji zapisu oraz aktualizacji indeksów metadanych. W aplikacjach wykorzystujących system Windows z pomocą w "wyciszaniu" przychodzi usługa Windows Volume Shadow Copy Services (VSS), która właśnie w tym celu została zaprojektowana.

Niestety, obecnie nie ma odpowiednika VSS dla środowisk systemów operacyjnych serii Linux/Unix. Rozwiązaniem jest wykorzystywanie odpowiednich skryptów, przygotowujących aplikacje oraz bazy do operacji snapshotu, lub zastosowanie specjalnego agenta oprogramowania backupu.

Gdzie wykonywany jest snapshot?

Wydawać by się mogło, że technologia snapshotów to funkcjonalność zarezerwowana tylko i wyłącznie dla drogich macierzy dyskowych. Okazuje się jednak, że nic bardziej mylnego. W stosie warstw między aplikacjami a fizycznym nośnikiem danych znajduje się kilka miejsc, w których mogą działać mechanizmy tworzenia kopii zapasowych. Można więc wyróżnić snapshoty oparte na hoście (w systemie plików, w menadżerze wolumenów) lub bazujące na kontrolerze (na macierzy lub innym urządzeniu w sieci).

Fotografujemy dane

Snapshoty oparte na systemie plików

Wiele z dostępnych obecnie na rynku systemów operacyjnych oferuje swoim systemom plików własne mechanizmy tworzenia snapshotów. Na przykład można przywołać wspomniany wcześniej Windows Volume Shadow Services lub inne, takie jak: Novell Storage Services, OES-Linux w SUSE, Zettabyte File System w Solaris czy Mac OS X. Podstawową zaletą tych mechanizmów jest to, że są zawarte niejako w cenie systemu operacyjnego i nie wymagają zakupu żadnych dodatkowych licencji. Ponadto, są ściśle zintegrowane z systemem operacyjnym, a ich wykonanie zazwyczaj jest bardzo proste. Jeśli chcemy zabezpieczać w ten sposób dosłownie kilka systemów plików, zarządzanie nie będzie stanowiło poważniejszego problemu. Natomiast mogą one pojawić się przy większej liczbie zabezpieczanych systemów, kiedy każdy system plików i jego kopie migawkowe są zarządzane oddzielnie. Posiadanie heterogenicznego środowiska zmusza do poświęcenia znacznej ilości czasu do skonfigurowania na każdym z nich reguł polityki odpowiedzialnych za snapshoty.

Snapshoty z poziomu menadżera wolumenów (LVM)

Rozwiązanie to jest dostępne m.in. w: HP-UX Logical Volume Manager, Linux Enterprise Volume Management System, Microsoft Logical Disk Manager, Sun Solaris 10 ZFS oraz Symantec Veritas Volume Manager (Veritas Storage Foundation). Jego zaletą jest fakt, że technologia kopii migawkowych z poziomu menadżera wolumenów potrafi działać z wieloma systemami plikowymi. Wadą - konieczność wykupienia dedykowanej licencji na obsługiwany serwer.

Snapshoty z poziomu urządzenia NAS

Urządzenia typu Network Attached Storage charakteryzują się tym, że są dedykowane i zoptymalizowane pod kątem udostępniania plików użytkownikom poprzez sieć korzystającą z protokołu TCP/IP. Wraz z ich rosnącą popularnością na rynku, wzrastają również oferowane przez nie możliwości. Jedną z nich jest funkcjonalność ochrony danych poprzez kopie migawkowe. Zaletą robienia migawek z poziomu urządzenia NAS jest to, że można nimi objąć dane wszystkich użytkowników, którzy składują na nim swoje pliki. Często mechanizmy snapshotów w macierzach typu NAS oferują integrację z Windows VSS oraz z oprogramowaniem serwera i agentami backupu. Ponadto mają funkcje minimalizujące ilość wymaganej rezerwacji miejsca na potrzeby składowania kopii migawkowych. Najczęstszą ich wadą jest to, że korzystanie z kopii migawkowych wymaga często aktywacji dodatkowej licencji.

Snapshoty z poziomu urządzenia w SAN

Praktycznie wszystkie systemy operacyjne macierzy blokowych dostępnych obecnie na rynku oferują wbudowany mechanizm wykonywania snapshotów. Zaletą tego typu rozwiązania jest to, że z pojedynczego punktu zarządzania możliwe staje się tworzenie kopii migawkowych wszystkich systemów podłączonych do macierzy. Podobnie jak w przypadku urządzeń typu NAS, wielu producentów macierzy dyskowych oferuje integracje swoich mechanizmów wykonywania kopii migawkowych z Windows VSS, jak również z zewnętrznym oprogramowaniem do backupu danych. Do wad tego typu rozwiązań należy zaliczyć wymaganie często dodatkowych, drogich licencji oraz brak integracji z aplikacjami pracującymi na serwerach innych aniżeli Windows.

Snapshoty mogą również z powodzeniem działać na urządzeniach wirtualizujących pamięć masową, np. FalconStore IPStor czy NetApp V-Series. Istotną zaletą w takim przypadku staje się możliwość tworzenia kopii migawkowych danych z wolumenów złożonych z wielu pamięci masowych, pochodzących od różnych producentów, co znacznie upraszcza proces ich backupu. Wadą zaś jest ich wpływ na wydajność pracy aplikacji podczas wykonywania snapshotu oraz złożoność mechanizmu.

Fotografujemy dane

Snapshoty z poziomu hypervisora

Zadomowiona na dobre w centrach danych technologia wirtualizacji serwerów również oferuje możliwość wykonywania kopii migawkowych. Hypervisory Citrixa, VMware czy Microsoftu mają wbudowane mechanizmy, umożliwiające tworzenie snapshotów maszyn wirtualnych. Najczęściej przywoływana wada w przypadku kopii migawkowych hypervisora to spadek wydajności działania maszyny wirtualnej, kiedy znajduje się ona w trybie snapshot. Do zalet z pewnością należy zaliczyć łatwość zarządzania kopiami maszyn wirtualnych i możliwość cofania się w czasie do wybranych punktów. Pozwala to administratorom bezstresowo podchodzić do procedur instalacji aktualizacji i poprawek do systemów operacyjnych i aplikacji. W razie wystąpienia błędów, w kilka chwil możemy cofnąć maszynę wirtualną do stanu sprzed instalacji poprawki.

Zdjęcie typu CoW czy RoW?

Technologie wykonywania kopii migawkowych oferowane przez obecnych na rynku producentów różnią się od siebie mechanizmami działania, a to często nie pozostaje bez wpływu na działanie środowiska produkcyjnego. Ważne jest, aby decydując się na rozwiązanie ochrony danych z wykorzystaniem snapshotów, kierować się świadomym wyborem, mając na uwadze różnice w działaniu poszczególnych mechanizmów.

Copy-on-Write (CoW) - kopiuj przy zapisie

Mechanizm kopii migawkowej CoW wymaga w pierwszej kolejności zarezerwowania pewnego obszaru przestrzeni pamięci masowej na potrzeby tworzonych migawek. Kopia migawkowa przechowuje tylko metadane o położeniu poszczególnych bloków na wolumenie, nie zachodzi tu żadna operacja kopiowania. Tak utworzony snapshot jest natychmiastowy, i ma minimalny wpływ na działanie całego systemu. Następnie mechanizm snapshotu śledzi wszelkie zmiany bloków, towarzyszące operacjom zapisu na oryginalnym wolumenie danych. Jeśli pojawi się żądanie operacji zapisu do bloku, którego kopia migawkowa została utworzona, nastąpi operacja kopiowania bloku na wcześniej zarezerwowaną przestrzeń na potrzeby snapshotów.

W zwolnione miejsce na oryginalnym wolumenie następuje operacja zapisu nowego bloku danych. Proces ten zapewnia spójność kopii migawkowej z czasem, w którym została ona wykonana, oraz przedstawia genezę pochodzenia nazwy Copy-on-Write. Operacje odczytu do niezmienionych bloków danych kierowane są do oryginalnego wolumenu danych, natomiast odczyt zmienionych bloków odbywa się z kopii migawkowej. Każda kopia zawiera metadane opisujące bloki danych, które zostały zmodyfikowane od czasu utworzenia pierwszego snapshotu.

Podstawową zaletą mechanizmu CoW jest jego efektywność pod względem zajmowanej przestrzeni, odpowiadającej pojemnościowo zmianom zachodzącym na wolumenie. Natomiast poważną wadą tego mechanizmu jest to, że wpływa on na wydajność pracy na danym wolumenie. Dzieje się tak, ponieważ operacje zapisu są wstrzymywane do momentu, w którym oryginalne bloki danych zostaną skopiowane do przestrzeni zarezerwowanej na potrzeby snapshotów.

Fotografujemy dane

Redirect-on-Write (RoW) - przekieruj przy zapisie

Mechanizm działania jest bardzo podobny do metody CoW, eliminuje jednak podwójną operację zapisu, która ma w niej miejsce. Nowe operacje zapisu do oryginalnego wolumenu zostają przekierowane do obszaru pamięci masowej zarezerwowanej na potrzeby snapshotów. Przekierowanie zapisów redukuje liczbę wymaganych operacji z dwóch do jednej. W porównaniu z mechanizmem CoW nie zachodzi tu potrzeba kopiowania bloków danych, nowe bloki są od razu zapisywane na dysk. Kiedy snapshot zostaje usunięty, dane z niego muszą zostać skopiowane i "uspójnione" do oryginalnego wolumenu. W dalszej kolejności tworzenie dużej liczby snapshotów może prowadzić do zwiększenia złożoności dostępu do danych i śledzenia danych w snapshotach.

Clone/Split mirror

Clone/Split mirror tworzy fizyczny klon systemu plików, wolumenu lub LUN-a na dodatkowej przestrzeni dyskowej pamięci masowej. Duplikacja danych zapewnia im poziom wysokiej dostępności. W każdej chwili w trakcie procesu mirrorowania możliwa jest operacja tzw. rozpięcia mirrora i uczynienia go dostępnym, np. na potrzeby operacji backupu lub testowania. Wadą tego mechanizmu jest to, że każda kopia danych zajmuje tyle samo miejsca co dane oryginalne. Nie bez wpływu pozostaje również wydajność systemu, ponieważ musi on synchronicznie pisać do kopii lustrzanej.

CoW z operacją kopiowania w tle

Niektórzy dostawcy rozwiązań oferują implementację mechanizmów snapshotu typu CoW wraz z procesem kopiowania danych w tle z oryginalnego wolumenu na wolumen przeznaczony dla snapshotów. Podejście takie łączy mechanizmy CoW oraz split mirror, tworząc dodatkowy mirror oryginalnego wolumenu i oferując dodatkową ochronę.

Fotografujemy dane

Snapshot przyrostowy

Przyrostowa kopia migawkowa śledzi zmiany dokonywane na oryginalnym wolumenie danych oraz na kopii migawkowej. Każdy inkrementalny snapshot ma znacznik czasowy, który umożliwia cofanie się do dowolnego punktu w czasie, w którym utworzono dany snapshot. Zaletą snapshotów przyrostowych jest umożliwienie częstszego tworzenia kopii migawkowych oraz dłuższa ich retencja. Wadą jest to, że polegają one na kopii podstawowej, w której został wykonany pierwszy snapshot (CoW, RoW, split mirror, CoW z kopiowaniem w tle).

Podsumowanie

Mechanizmy tworzenia kopii migawkowych są oferowane zarówno przez producentów sprzętu (macierze SAN, NAS), jak i dostawców oprogramowania (systemy operacyjne, hypervisory, systemy backupu). Kopie migawkowe znajdują zastosowanie nie tylko w strategiach ochrony danych, ale często są również wykorzystywane do testowania aplikacji, analiz danych i raportowania.

Technologia snapshotów w połączeniu z technologią replikacji pozwala na budowę efektywnych mechanizmów zabezpieczenia przed katastrofą, umożliwiając np. przeniesienie kopii migawkowych do odległej geograficznie lokalizacji. Decydując się na wprowadzenie technologii kopii migawkowych do strategii ochrony

danych, należy pamiętać o konieczności zagwarantowania im odpowiednio dużej przestrzeni na potrzeby ich składowania oraz zatroszczyć się o zapewnienie spójności danych.


TOP 200