Wersjonowanie backupu – po co i co to dokładnie znaczy
Wersjonowanie backupu to przechowywanie wielu punktów w czasie (wersji) tej samej kopii danych. Dzięki temu możesz cofnąć się do stanu sprzed błędu użytkownika, awarii dysku czy zaszyfrowania plików przez ransomware. Jedna kopia to rosyjska ruletka; wersje to margines bezpieczeństwa.
Korzyści są namacalne: minimalizacja przestojów, krótszy czas odzyskiwania po incydencie i realna ochrona przed nadpisaniem poprawnych danych uszkodzonymi. W praktyce wersjonowanie łączy się z polityką retencji, czyli tym jak długo i ile wersji trzymasz.
Modele wersjonowania: pełne, przyrostowe, różnicowe oraz snapshoty
Pełny backup (full) – kopia całości danych. Jest prosty w odtwarzaniu, ale ciężki dla łącza i magazynu. Przyrostowy (incremental) – zapisuje tylko zmiany od ostatniej kopii (pełnej lub przyrostowej). Bardzo oszczędny, lecz przy długim łańcuchu wymaga więcej kroków przy odtwarzaniu. Różnicowy (differential) – zmiany od ostatniego pełnego; szybszy odtwarzanie niż przyrostowy kosztem większego rozmiaru. Snapshoty – migawki systemu plików lub maszyn wirtualnych, błyskawiczne i spójne w czasie, ale wymagają zaplecza (np. ZFS, btrfs, Hyper-V, VMware) i zwykle nie zastępują kopii offline.
W małej firmie najczęściej sprawdza się miks: pełny raz w tygodniu lub miesiącu, a na co dzień przyrostowy. Snapshot lokalny może dać szybkie cofnięcie pliku, a backup poza maszyną zabezpiecza na wypadek szyfrowania.
Polityka retencji: ile wersji i jak długo (GFS)
Retencja określa, ile wersji i z jakich okresów zostawiasz. Klasyczny model GFS (Grandfather–Father–Son) porządkuje to warstwowo: „syn” – kopie codzienne, „ojciec” – tygodniowe, „dziadek” – miesięczne. Dzięki temu masz zarówno gęste punkty z ostatnich dni, jak i długą historię.
- Codzienne: 7–30 wersji (ostatnie dni).
- Tygodniowe: 4–12 wersji (ostatnie tygodnie).
- Miesięczne: 6–12 wersji (ostatnie miesiące).
Retencję dobierasz do ryzyka i budżetu magazynu. Dane księgowe i projekty o długim cyklu życia wymagają dłuższej historii niż pliki tymczasowe. Pamiętaj o wersjach offline lub niezmiennych (immutable), które nie dadzą się nadpisać z zainfekowanej stacji.
Praktyczne ustawienia dla małej firmy: gotowe harmonogramy
Scenariusz „biuro 10–30 osób, pliki i księgowość”:
- Codziennie (noc): backup przyrostowy plików i baz, okno 22:00–05:00.
- Co sobotę: pełny backup.
- Retencja GFS: 30 codziennych, 12 tygodniowych, 12 miesięcznych.
- Kopia poza siedzibą: synchr. repozytorium do chmury/S3 raz dziennie.
Scenariusz „mały e‑commerce” (RTO godzinowe):
- Zadania przyrostowe co 2–4 godziny dla bazy i uploadów.
- Pełny raz w tygodniu, snapshoty VM co 4 godz. z retencją 48 h.
- Test odtwarzania w środowisku testowym co miesiąc.
Scenariusz „studio projektowe” (duże pliki):
- Przyrostowy z deduplikacją dwa razy dziennie.
- Miesięczny pełny, retencja miesięczna 12, tygodniowa 8, dzienna 14.
- Archiwum „cold” dla zakończonych projektów, poza główną pulą retencji.
Implementacja w popularnych narzędziach
Restic
Repozytorium S3 lub dysk. Harmonogram przez cron/Task Scheduler. Ustaw wersjonowanie przez politykę „forget/Prune”: np. restic forget --keep-daily 30 --keep-weekly 12 --keep-monthly 12 --prune. Szyfrowanie wbudowane, deduplikacja bloków.
Borg
Podobny model: borg create oraz borg prune --keep-daily 30 --keep-weekly 12 --keep-monthly 12. Atutem jest skuteczna deduplikacja i kompresja LZ4/ZSTD.
Veeam
Dla VM i Windows/linuksowych agentów. W kreatorze zadania wybierasz „Forward Incremental” + „Synthetic Full” raz w tygodniu oraz „GFS retention” dla punktów tygodniowych/miesięcznych. Włącz „Immutable repository”, jeśli używasz obsługiwanego obiektu.
Windows Shadow Copies (VSS)
Dobre jako szybkie lokalne wersjonowanie udziałów plikowych. Ustal limit miejsca (np. 10–20% wolumenu) i harmonogram migawkowy. Traktuj to jako uzupełnienie, nie jedyny backup – snapshot na tym samym wolumenie nie chroni przed ransomware ani awarią serwera.
Zarządzanie przestrzenią: kompresja, deduplikacja, limity
Bez kontroli magazyn pęka w szwach. Użyj kompresji (ZSTD/LZ4) dla plików tekstowych i baz, a deduplikacji dla powtarzalnych danych (obrazy VM, paczki). W narzędziach ustaw limity: maks. rozmiar repozytorium, automatyczne czyszczenie starych wersji, okna transferowe dla łącza.
Wyjątki: duże pliki już skompresowane (wideo, ZIP) nie skorzystają na dodatkowej kompresji – skup się na przyrostach i deduplikacji blokowej.
Przywracanie konkretnej wersji: testy i dokumentacja
Backup bez testów to iluzja. Raz na kwartał wykonaj pełny test: odtwórz wybrany folder i bazę do izolowanego środowiska, zmierz czas i spisz kroki. Trzymaj instrukcję w prostym pliku: gdzie jest repozytorium, jak odszyfrować, jakie konto ma dostęp, jak przywrócić pojedynczy plik i całą maszynę.
Regularnie sprawdzaj spójność: sumy kontrolne, logi odtwarzania, kontrolę integralności repozytorium (np. restic check, borg check, w Veeam – SureBackup/Health Check).
Automatyzacja i monitorowanie
Automatyczne alerty to must-have. Konfiguruj e‑maile/Slack/Teams po każdym zadaniu: sukces, ostrzeżenia, błędy. Raport tygodniowy: ile punktów przyrostowych, kiedy ostatni pełny, ile wolnego miejsca i czy retencja zadziałała. Dodaj alert o braku nowej wersji w określonym oknie (np. 24 h) – to łapie ciche awarie.
Najczęstsze błędy i jak ich unikać
- Zbyt krótka retencja – brak powrotu do stanu sprzed zainfekowania sprzed tygodni; stosuj GFS.
- Brak testów odtwarzania – procedura nie działa, bo nikt jej nie przećwiczył.
- Backup tylko lokalny – awaria lub kradzież sprzętu = utrata danych; trzymaj kopię poza siedzibą.
- Brak izolacji kluczy – to samo konto do produkcji i backupu ułatwia atakującemu skasowanie kopii.
- Wykluczenia „na skróty” – przypadkowo nie obejmują kluczowych katalogów lub baz.
Rekomendacje konfiguracyjne dla typowych scenariuszy
- Pliki biurowe: przyrostowe codziennie, pełny co tydzień, GFS 30/12/12, repozytorium S3 z wersjonowaniem i blokadą obiektów.
- Baza danych: zrzuty logiczne co 4 h + przyrostowy plikowy w nocy, kopia poza serwerem bazy.
- Maszyny wirtualne: snapshoty co 4–6 h (krótka retencja), agentowy backup na zewnątrz, test bootowania.
- Stacje robocze: foldery profili przez narzędzie agentowe, retencja krótsza (np. 14/8/6), odzysk pojedynczych plików przez użytkownika.
FAQ: krótkie odpowiedzi na częste pytania
Ile miejsca potrzebuję pod wersjonowanie?
Orientacyjnie 2–4× rozmiar danych źródłowych przy przyrostach i deduplikacji. Zależy od tempa zmian i typów plików.
Czy wersje w chmurze wystarczą?
Tak, jeśli masz również retencję niezmienną i oddzielne konto. Dla ciągłości działania trzymaj kopię także lokalnie, by szybciej odtwarzać.
Co wybrać: różnicowy czy przyrostowy?
Dla małej firmy zwykle przyrostowy + okresowy pełny. Różnicowy sensowny, gdy priorytetem jest prostsze odtwarzanie przy braku czasu na pełne.