Strategie backupu – schemat FIFO, czy GFS

Stworzenie kopii zapasowej plików pozwala na ich przywrócenie, w razie gdy nadejdzie taka potrzeba. Ale kiedy taką kopię najlepiej stworzyć? Jak często należy ją powtarzać? Czy musisz robić backup codziennie? Tym razem przeanalizujemy strategie backupu, a dokładnie schemat FIFO oraz schemat GFS.

Strategie backupu, czyli zacznij od końca

Intuicyjnie wielu z nas będzie chciało przechowywać jak najwięcej kopii zapasowych. Szybko jednak zderzymy się z rzeczywistością w postaci niewystarczającej ilości przestrzeni na storage’u. 

Próbując ustalić liczbę potrzebnych kopii czy częstotliwość ich wykonywania najlepiej zacząć od określenia sytuacji wyjściowej odpowiadając sobie na kilka pytań: 

  • Jaki jest rozmiar magazynu danych, w którym kopie będą przechowywane?
  • Jakie dane chcesz zabezpieczyć? Z ilu urządzeń? Pojedyncze pliki czy całe systemy?
  • Jaki jest rozmiar tych danych?

A następnie:

  • Czy na pewno storage jest odpowiednio pojemny?

Należy zatem znaleźć kompromis między “zabezpieczeniem wszystkiego” a “byciem wystarczająco zabezpieczonym”. Moja propozycja brzmi: wyobraź sobie sytuację, kiedy staniesz przed potrzebą przywrócenia danych. Na przykład będzie to awaria dysku w komputerze użytkownika. Czy w takiej sytuacji będziesz przywracał obraz całego dysku? Czy musi być to kopia “z wczoraj”, a może wystarczy taka sprzed miesiąca? Czy Twój użytkownik przechowuje dane lokalnie czy na udziałach sieciowych? Może w razie awarii jakiejkolwiek stacji wystarczy Ci obraz dowolnej maszyny, gdzie będzie zainstalowany system i podstawowy zestaw aplikacji, a użytkownik zaloguje się do swoich kont? Może wystarczy zabezpieczyć najważniejsze pliki z pulpitu użytkownika? Tak, aby można było przywrócić obraz, a ponadto kilka katalogów, które pozwolą mu kontynuować pracę? 

Gotowy na wszystko

Wykonanie każdej kopii zajmuje czas, obciąża sieć i urządzenie, z którego dane są zabezpieczane. Dobrym podejściem będzie ograniczenie liczby kopii.

Kiedy wiesz już co potrzebujesz zabezpieczyć i umiesz określić potencjalne scenariusze, o wiele łatwiej będzie Ci działać.

Przykładowo takie scenariusze mogą brzmieć następująco:

  1. Przez błąd oprogramowania z bazy danych zostały usunięte potrzebne wpisy Chcesz przywrócić wersję bazy sprzed tej awarii. Zauważyłeś ją dopiero po 5 dniach, dlatego kopia musi mieć przynajmniej 6 dni.
  2. Użytkownik usunął katalog z lokalizacji współdzielonej, a inni użytkownicy go potrzebują. Chcesz przywrócić ostatnią wersję plików.
  3. Dysk serwera pocztowego uległ awarii. Chcesz przywrócić cały system. Może być to wersja nawet sprzed kilku miesięcy, ponieważ masz osobno zabezpieczoną kopię Exchange’a, którą wykonujesz codziennie.
  4. Musisz szybko przygotować stanowisko pracy dla nowego pracownika. Chcesz szybko przywrócić obraz maszyny po świeżej instalacji systemu, ale na inne urządzenie.
  5. Ransomware zaszyfrował dyski kilku maszyn. Chcesz odtworzyć systemy i pliki użytkowników.

Można bardzo długo wymyślać historie, które są mniej lub bardziej prawdopodobne do wystąpienia w każdej organizacji. Generalnie należy kierować się podejściem, że kopie najważniejszych elementów systemu (np. baz danych) należy wykonywać przynajmniej raz dziennie, a te mniej ważne można realizować w większych odstępach czasu (np. obraz dysku serwera raz w tygodniu).

Automatyzacja backupu

W poprzednich dwóch artykułach omawialiśmy typy kopii zapasowych. Wykorzystując kopie pełne, przyrostowe lub różnicowe o określonym łańcuchu kopii (czyli takich, gdzie co określoną liczbę kopii jest realizowana kopia pełna), możesz wykorzystać retencję, czyli regularnie usuwać najstarsze kopie, gdy już osiągną określony “wiek”.

Schemat FIFO

Najprostszym schematem rotacji kopii jest FIFO czyli First-in-First-out. Polega on na tworzeniu kopii przyrostowych na przemian z kopiami pełnymi co określoną liczbę wersji. Przechowujesz tylko ostatnie X-kopii, te najstarsze będą usuwane. Same założenia tego schematu nie określają jednak jak często takie kopie są wykonywane.

Oczywiście w przypadku kopii przyrostowych, liczba kopii X może być powiększona o kilka, które są niezbędne do zachowania pełnego łańcucha przyrostów. Tak, żeby nie było sytuacji, że po wykonaniu kopii pełnej, ucieknie Ci ta najstarsza i zależne od niej kopie okażą się niemożliwe do przywrócenia.

Na plus

  • Łatwa implementacja
  • kopie mogą być przechowywane przez bardzo długi czas przy zachowaniu dokładności co do konkretnego dnia czy godziny

Na minus

  • im dłuższy okres przechowywania kopii, tym więcej miejsca potrzebne w magazynie

Schemat GFS

Podejście Grandfather – Father – Son (czyli: Dziadek – Ojciec – Syn), pozwala na zarządzanie kopiami w długiej perspektywie czasu.

Administrator osobno definiuje jak długo będzie przechowywał kopie pełne, różnicowe i przyrostowe. Jest to schemat backupu, który łączy te wszystkie trzy typy kopii w jednym łańcuchu. Kopia Grandfather stanowi pełny backup danych. Wykonywana jest raz w miesiącu. Takie kopie można przechowywać nieograniczony czas w zależności od wielkości storage’u. Na koniec każdego tygodnia wykonywana jest kopia różnicowa (Father), która stanowi kopię różnicową. Takie kopie będziemy przechowywać przez miesiąc od momentu ich utworzenia.  W cyklu dziennym wykonywane są kopie przyrostowe (Son).

Plusem takiego podejścia jest to, że maksymalna liczba wersji, które należy skonsolidować w pełną wersję plików to 1 kopia pełna, 1 kopia różnicowa i 6 kopii przyrostowych. Dzięki temu kopie możesz przywrócić stosunkowo szybko. Równocześnie też zachowujesz odległe kopie jednocześnie oszczędzając miejsce w magazynie danych.

Na plus

  • długi okres przechowywania kopii
  • oszczędność miejsca w magazynie
  • szybsze przywracanie – w najgorszym scenariuszu odtwarzane jest maksymalnie 7 wersji

Na minus

  • sztywne ramy odstępów czasowych backupu

Podręcznikowe podejście do kopii GFS ma sztywno ustalone ramy czasowe kopii – ich wykonywania i przechowywania.

Obecnie producenci rozwiązań do backupu udostępniają narzędzia, które pozwalają na bardziej elastyczne zarządzanie kopiami pozwalając na tworzenie indywidualnych zasad tworzenia i przechowywania kopii w oparciu o schemat GFS.

Strategie backupu – czas decyzji

Który schemat jest lepszy? Nie ma jednoznacznej odpowiedzi na to pytanie. W pewnych sytuacjach sprawdzi się FIFO, w innych GFS. Strategie backupu muszą uwzględniać kluczowe potrzeby i oczekiwania organizacji w kontekście zabezpieczania danych.

Na pewno dla backupów, które potrzebujesz przechowywać zaledwie kilka dni, lepszym wyborem będzie FIFO. W ten sposób zaoszczędzisz wiele miejsca w magazynie danych. W drugą stronę, jeżeli bardziej zależy Ci na odtwarzaniu danych co do dokładnego dnia niż przestrzeni na magazynie, możesz wykorzystać kopie FIFO o długim czasie retencji. GFS sprawdzi się zaś w przypadku przechowywania kopii, przez dłuższe okresy czasu.