Wyjaśnienie zasad przechowywania kopii zapasowej w systemie GFS
W idealnym przypadku celem tworzenia kopii zapasowej jest możliwość odtworzenia danych z dowolnego punktu w przeszłości. Najprostszym sposobem na osiągnięcie tego celu jest regularne wykonywanie kopii zapasowych, zazwyczaj codziennie. Jednak nawet przy zastosowaniu technik oszczędzających miejsce, takich jak kopie przyrostowe, kopie syntetyczne, kompresja danych i deduplikacja, podejście to wymaga nieograniczonej pojemności pamięci masowej, a na to nie może sobie pozwolić praktycznie żadna firma. Właśnie dlatego istnieją zasady przechowywania kopii zapasowych, czyli schematy rotacji kopii zapasowych.
Czym są zasady przechowywania kopii zapasowych GFS?
Polityka przechowywania kopii zapasowej GFS (Grandfather-Father-Son) ma dwa cele: zminimalizowanie przestrzeni dyskowej i zmaksymalizowanie punktów odzyskiwania. Mówiąc prościej, naszym zadaniem jest uzyskanie jak największej liczby punktów odzyskiwania przy użyciu jak najmniejszej przestrzeni dyskowej.
Istnieje kilka schematów rotacji kopii zapasowych o różnym stopniu złożoności i wydajności. Najprostszym z nich jest „pierwsze weszło, pierwsze wyszło” (FIFO). Zasada jest prosta: gdy na nośniku kopii zapasowej zabraknie miejsca, najstarsza kopia jest usuwana, a na jej miejsce zapisywana jest nowa. Zaletą FIFO jest prostota, a największą wadą – ograniczenia przestrzenne, co oznacza, że przy użyciu FIFO można przechowywać skończoną liczbę kopii zapasowych. W zależności od częstotliwości wykonywania kopii zapasowych maszyn wirtualnych oraz wielkości repozytorium kopii zapasowych można objąć kopiami zapasowymi stosunkowo niewielki przedział czasowy. Jednak ten przedział czasowy jest objęty w całości.
Czy wszystkie firmy potrzebują tak dokładnego pokrycia kopiami zapasowymi? Oczywiście są takie, jak instytucje finansowe czy rządowe, gdzie nawet niewielka utrata danych może być niezwykle kosztowna. Nikt nie chciałby, aby jego konto bankowe lub ubezpieczenie społeczne zostało unieważnione z powodu awarii sprzętu w centrum danych. Dlatego właśnie takie organizacje wydają naprawdę duże pieniądze na pamięci masowe do tworzenia kopii zapasowych, archiwa taśmowe i tym podobne.
Jednak większość firm nie jest aż tak wrażliwa na utratę danych, więc mogą wdrożyć schemat rotacji kopii zapasowych, który nie zakłada przechowywania codziennych kopii zapasowych przez cały rok. Taka polityka przechowywania kopii zapasowych pozwala znaleźć rozsądną równowagę między możliwością odzyskania danych a kosztami poniesionymi na infrastrukturę kopii zapasowych. Jednym z najczęściej stosowanych jest schemat rotacji Grandfather-Father-Son (GFS).
Jak działa schemat kopii zapasowych GFS?
Podobnie jak w ludzkiej rodzinie, syn jest najmłodszy, ojciec jest starszy, a dziadek jest najstarszy. W świecie kopii zapasowych syn jest najnowszą kopią zapasową z danego momentu, a dziadek jest najstarszą. Zazwyczaj „syn” to kopia zapasowa dzienna, „ojciec” – tygodniowa, a „dziadek” – miesięczna. Można jednak dodać pomiędzy nimi więcej „krewnych”, takich jak kopie zapasowe godzinne, kwartalne czy roczne. Na przykład system macOS firmy Apple posiada wbudowane narzędzie do tworzenia kopii zapasowych Time Machine, które wykorzystuje schemat rotacji GFS, gdzie „syn” to godzinna kopia zapasowa systemu operacyjnego, a „dziadek” – miesięczna.

Klasyczny schemat GFS zakłada, że codziennie wykonuje się kopie zapasowe, które są „synowie”, co tydzień są to „ojcowie”, a co miesiąc są to „dziadkowie”. Pierwsza pełna kopia zapasowa wykonana w poniedziałek staje się pierwszym „ojcem”, a kolejne przyrostowe kopie zapasowe wykonywane codziennie są „synowie”. Ostatnia kopia zapasowa tygodnia staje się kolejnym „ojcem”.
„Synowie” są rotowani według schematu FIFO, więc najstarszy „syn” jest zastępowany nową kopią przyrostową, a cykl się powtarza. Ostatnia kopia zapasowa miesiąca staje się „dziadkiem”. Następnie „ojcowie” zaczynają się rotować według schematu FIFO.
Na poniższym rysunku widać, które kopie zapasowe są dostępne na koniec czerwca, jeśli zaczęliśmy wykonywać kopie zapasowe maszyny wirtualnej w kwietniu: niebieskie elementy to kopie dostępne, a szare to te, których nie ma.

Jedną z wad schematu GFS jest to, że starsze kopie zapasowe stają się mniej szczegółowe. Na przykład, jeśli utworzyłeś jakiś plik, powiedzmy, w poniedziałek w drugim tygodniu czerwca, a następnie usunąłeś go następnego dnia, zostanie on bezpowrotnie utracony.
Wnioski
W zależności od zasad ochrony danych w Twojej organizacji możesz dodać kopie zapasowe tworzone co godzinę, co kwartał lub co rok do schematu rotacji GFS. Dzięki innym technikom oszczędzania miejsca, takim jak kopie zapasowe tworzone na bieżąco, kopie zapasowe syntetyczne oraz kompresja i deduplikacja repozytorium kopii zapasowych, zapewnia to rozsądną ochronę danych bez wydawania ogromnych sum na infrastrukturę magazynu do kopii zapasowych.