Polityki przechowywania Veeam B&R — rozwiązujemy problemy z kopią zapasową razem z pomocą techniczną

Witam czytelników naszego bloga! Częściowo już się znamy – moje anglojęzyczne posty pojawiały się tutaj w tłumaczeniu mojej drogiej koleżanki polarowl. Tym razem postanowiłem zwrócić się bezpośrednio do polskiego audytorium.

Na swoje debiut chciałem znaleźć temat, który byłby interesujący dla jak najszerszej publiczności i wymagałby szczegółowego omówienia. Daniel Defoe twierdził, że każdego człowieka czekają śmierć i podatki. Z mojej strony mogę powiedzieć, że każdego inżyniera wsparcia czekają pytania dotyczące polityki przechowywania punktów przywracania (lub mówiąc prościej – retencji). Jak działa retencja, zacząłem wyjaśniać 4 lata temu, będąc młodszym inżynierem pierwszego poziomu, kontynuuję to nawet teraz, będąc już liderem zespołu hiszpańsko- i włoskojęzycznego. Jestem pewny, że moi koledzy z drugiego, a nawet trzeciego poziomu wsparcia również regularnie odpowiadają na te same pytania.

W tym świetle chciałem napisać ostateczny, maksymalnie szczegółowy post, do którego polskojęzyczni użytkownicy mogliby wracać wielokrotnie jako do poradnika. Moment jest odpowiedni – niedawno wydana jubileuszowa dziesiąta wersja dodała nowe możliwości do podstawowego funkcjonalności, która nie zmieniała się od lat. Mój post jest skierowany przede wszystkim na tę wersję — chociaż większość napisanej treści odnosi się również do wcześniejszych wersji, to niektóre opisywane funkcje mogą być po prostu niedostępne w tamtych wersjach. W końcu, zaglądając nieco w przyszłość, powiem, że w następnej wersji oczekiwane są pewne zmiany, ale o tym powiemy, gdy nadejdzie czas. Zacznijmy.

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

Zadania kopii zapasowej (Backup job)

Na początek zajmiemy się tą częścią, która nie uległa zmianie w wersji 10. Polityka retencji określana jest przez kilka parametrów. Otwórzmy okno tworzenia nowego zadania i przejdźmy na zakładkę Storage. Tutaj zobaczymy parametr określający pożądaną liczbę punktów przywracania:

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

Jednak to tylko część równania. Rzeczywista liczba punktów jest również określana trybem kopii zapasowej, ustawionym dla zadania. Aby wybrać ten parametr, należy kliknąć przycisk Advanced na tej samej zakładce. Otworzy to nowe okno z wieloma opcjami. Ponumerujmy je i przeanalizujmy je kolejno:

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

Jeśli włączyć tylko opcję 1, zadanie będzie działać w trybie „nieskończonego inkrementalnego” (forever forward incremental). Nie ma w tym żadnych trudności – zadanie będzie przechowywać ustaloną liczbę punktów przywracania od pełnego backupu (plik z rozszerzeniem VBK) do ostatniego inkrementu (plik z rozszerzeniem VIB). Gdy liczba punktów przekroczy ustaloną wartość, najstarszy inkrement zostanie połączony z pełnym backupem. Innymi słowy, jeśli zadanie jest ustawione na przechowywanie 3 punktów, to natychmiast po kolejnej sesji w repozytorium będzie 4 punkty, po czym pełny backup zostanie połączony z najstarszym inkrementem i całkowita liczba punktów wróci do 3.

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

Również niezwykle prosty jest retencjon w trybie „odwrotnie inkrementalnym” (reverse incremental) (opcja 2). Ponieważ w tym przypadku najnowszy punkt będzie pełnym backupem, za którym będzie podążać łańcuch tzw. rollbacków (plików z rozszerzeniem VRB), aby zastosować retencję wystarczy po prostu usunąć najstarszy rollback. Sytuacja będzie taka sama: natychmiast po sesji liczba punktów przekroczy ustaloną wartość o 1, po czym wróci do pożądanej liczby.

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

Zauważ, że w przypadku trybu odwrotnego inkrementu można również włączyć okresowy pełny backup (opcja 4), ale nie zmieni to istoty sprawy. Tak, w łańcuchu pojawią się pełne punkty przywracania, ale wciąż będziemy po prostu usuwać najstarsze punkty jeden po drugim.

Na koniec dochodzimy do ciekawej części. Jeśli aktywować inkrementalny backup, ale dodatkowo włączyć opcje 3 lub 4 (a można nawet obie jednocześnie), zadanie zacznie tworzyć okresowe pełne backupy „aktywną” lub syntetyczną metodą. Metoda tworzenia pełnego backupu nie ma znaczenia – będzie zawierać te same dane, a łańcuch inkrementalny zostanie podzielony na „podłańcuchy”. Taki sposób nazywa się forward incremental i to on wywołuje znaczną część pytań od naszych klientów.

Retencja jest tutaj stosowana przez usunięcie najstarszej części łańcucha (od pełnej kopii zapasowej do inkrementalnej). Przy tym nie będziemy usuwać tylko pustej kopii zapasowej ani tylko części inkrementów. Cała „podłańcuch” jest usuwana całkowicie za jednym razem. Zmienia się też sens ustawienia liczby punktów – podczas gdy w innych metodach to maksymalna dopuszczalna liczba punktów, po której należy zastosować retencję, tutaj to ustawienie określa minimalną liczbę. Innymi słowy, po usunięciu najstarszej „podłańcucha”, liczba punktów w pozostałej części nie powinna spaść poniżej tego minimum.

Spróbuję tę koncepcję przedstawić graficznie. Załóżmy, że retencja jest ustawiona na 3 punkty, zadanie działa codziennie z pełną kopią zapasową w poniedziałek. W takim przypadku retencja zostanie zastosowana, gdy całkowita liczba punktów osiągnie 10:

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

Dlaczego aż 10, kiedy ustawiono 3? W poniedziałek została utworzona pełna kopia zapasowa. Od wtorku do niedzieli zadanie tworzyło kopie inkrementalne. W końcu w następny poniedziałek ponownie tworzy się pełna kopia zapasowa i tylko gdy zostaną utworzone 2 inkrementy, w końcu cała stara część łańcucha może być usunięta, ponieważ pozostała liczba punktów nie spadnie poniżej ustalonych 3.

Jeśli koncepcja jest zrozumiała, proponuję samodzielnie policzyć retencję. Weźmy takie warunki: zadanie uruchamiane jest po raz pierwszy w czwartek (naturalnie, zostanie wykonana pełna kopia zapasowa). Zadanie jest ustawione na tworzenie pełnych kopii zapasowych w środy i niedziele oraz przechowywanie 8 punktów odzyskiwania. Kiedy retencja zostanie zastosowana po raz pierwszy?

Aby odpowiedzieć na to pytanie, polecam wziąć kartkę papieru, zaznaczyć dni tygodnia i napisać, jaki punkt jest tworzony każdego dnia. Odpowiedź stanie się oczywista.

Odpowiedź
Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną
Wyjaśnienie: aby odpowiedzieć wystarczy zadać sobie pytanie „kiedy zostanie zastosowana retencja”? Odpowiedź – kiedy będziemy mogli usunąć 3 pierwsze punkty (VBK, VIB, VIB) i pozostały łańcuch nie spadnie poniżej wymaganych 8 punktów. Oczywiste jest, że będzie to możliwe, gdy będziemy mieć 11 punktów w sumie, tj. w niedzielę drugiego tygodnia.

Niektórzy czytelnicy mogą zaprotestować: „po co to wszystko, skoro jest rps.dewin.me?». Без сомнения, это очень полезный инструмент, и в некоторых случаях я бы применял именно его, но есть у него и ограничения. Прежде всего, он не позволяет указать начальные условия, а во многих случаях случаев вопрос звучит именно «у нас есть такая цепочка, что будет, если изменить такие-то настройки?». Во-вторых, инструменту все-таки несколько не хватает наглядности. Показывая страничку RPS клиентам, я не находил понимания, а вот расписав ее как в примере (даже используя тот же Paint), день за днем, все становилось ясно.

W końcu nie omówiliśmy opcji „Transform previous backup chains into rollbacks” (oznaczonej cyfrą 5). Ta opcja czasami myli klientów, którzy włączają ją automatycznie, chcąc po prostu włączyć syntetyczny backup. Tymczasem ta opcja uruchamia zupełnie szczególny tryb backupu. Nie wchodząc w szczegóły, od razu powiem, że na tym etapie rozwoju produktu „Transform previous backup chains into rollbacks” jest opcją przestarzałą i nie potrafię wymyślić ani jednego scenariusza, w którym powinno się jej używać. Jej wartość jest na tyle wątpliwa, że pewien czas temu sam Anton Gosteł rzucił apel na forum, prosząc o przesyłanie przykładów jej użyteczności (jeśli macie takie, napiszcie w komentarzach, jestem bardzo ciekaw). Jeśli takich przykładów nie znajdzie się (co myślę, że będzie miało miejsce), to opcja zostanie usunięta w kolejnych wersjach.

Zadanie będzie tworzyć przyrosty (VIB) do dnia, w którym zaplanowany jest syntetyczny pełny backup. W ten dzień rzeczywiście tworzy się VBK, ale wszystkie punkty do tego VBK są przekształcane w rollbacks (VRB). Następnie zadanie będzie kontynuować tworzenie przyrostów do pełnego backupu do następnego syntetycznego backupu. W efekcie w łańcuchu powstaje mieszanka plików VBK, VBR i VIB. Retencja jest stosowana bardzo prosto – poprzez usunięcie ostatniego VBR:

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

Problemy

Oprócz samego zrozumienia, jak to działa, większość problemów, które pojawiają się podczas korzystania z trybu przyrostowego, zazwyczaj związana jest z pełnym backupem. Regularny pełny backup jest niezbędny w tym trybie, w przeciwnym razie repozytorium będzie gromadzić punkty, aż do momentu, gdy się przepełni.

Na przykład pełny backup może być tworzony zbyt rzadko. Powiedzmy, że zadanie jest ustawione na przechowywanie 10 punktów, a pełny backup jest tworzony raz w miesiącu. Jasne, że faktyczna liczba punktów będzie znacznie większa od ustawionej. Albo zadanie jest w ogóle ustawione na działanie w trybie nieskończonego przyrostu z przechowywaniem 50 punktów. Następnie ktoś przez przypadek stworzył pełny backup. To wszystko, od teraz zadanie będzie czekać, aż pełny punkt zgromadzi 49 przyrostów, po czym zastosuje retencję i wróci do trybu nieskończonego.

W innych przypadkach pełna kopia zapasowa jest ustawiona na regularne tworzenie, ale z jakiegoś powodu nie jest ona realizowana. Opiszę tutaj najpopularniejszy powód. Niektórzy klienci wolą korzystać z opcji harmonogramu "run after" i konfigurować zadania, aby działały w łańcuchu. Przyjmijmy taki przykład: są 3 zadania, które działają codziennie i tworzą pełną kopię zapasową w niedzielę. Pierwsze zadanie uruchamia się o 22:30, pozostałe uruchamiają się w łańcuchu. Inkrementalna kopia zapasowa zajmuje 10 minut, więc do 23:00 wszystkie zadania kończą pracę. A jednak pełna kopia zapasowa zajmuje godzinę, więc w niedzielę dzieje się następujące: pierwsze zadanie działa od 22:30 do 23:30. Następne od 23:30 do 00:30. A trzecie zadanie uruchamia się już w poniedziałek. Pełna kopia zapasowa jest ustawiona na niedzielę, więc w takim przypadku jej po prostu nie będzie. Zadanie będzie czekać na pełną kopię zapasową, aby zastosować retencję. Dlatego bądźcie ostrożni przy korzystaniu z opcji "run after" lub nie używajcie jej wcale – po prostu ustawcie zadania na uruchomienie o tej samej porze i pozwólcie systemowi harmonogramu zasobów wykonać swoją pracę.

Niełatwa opcja "Remove deleted items"

Przechodząc do ustawień zadania Storage – Advanced – Maintenance, można natknąć się na opcję "remove deleted items data after", liczoną w dniach.

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

Niektórzy klienci oczekują, że to właśnie jest retencja. W rzeczywistości jest to zupełnie oddzielna opcja, której niezrozumienie może prowadzić do niespodziewanych konsekwencji. Jednak przede wszystkim należy wyjaśnić, jak B&R reaguje na sytuacje, gdy podczas sesji pomyślnie wykonują kopię zapasową tylko niektóre maszyny.

Wyobraźmy sobie taki scenariusz: nieskończone inkrementalne zadanie, skonfigurowane na przechowywanie 6 punktów. W zadaniu znajdują się 2 maszyny, jedna zawsze tworzyła kopię zapasową pomyślnie, druga czasami zgłaszała błędy. W efekcie w siódmej punkcie powstała taka sytuacja:

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

Czas zastosować retencję, ale jedna maszyna ma 7 punktów, a druga tylko 4. Czy tutaj zostanie zastosowana retencja? Odpowiedź brzmi – tak, zostanie. Jeśli choć jeden obiekt został zrobiony kopię zapasową, B&R uważa, że punkt został utworzony.

Podobna sytuacja może wystąpić, jeśli jakaś maszyna po prostu nie została uwzględniona w zadaniu podczas określonej sesji. Tak się zdarza, na przykład, gdy maszyny są dodawane do zadania nie indywidualnie, a w ramach kontenerów (folderów, magazynów) i jakaś maszyna tymczasowo migruje do innego kontenera. W takim przypadku zadanie będzie uznawane za zakończone pomyślnie, ale w statystykach znajdziesz komunikat informujący, że dana maszyna nie jest już przetwarzana przez zadanie.

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

Co się stanie, jeśli tego nie zignorujemy? W przypadku trybów nieskończonego inkrementowania lub inkrementowania wstecz, liczba punktów przywracania dla "problematycznej" maszyny będzie malała z każdą sesją, aż osiągnie 1, zachowaną w VBK. Innymi słowy, nawet jeśli maszyna nie będzie backupowana przez długi czas, jeden punkt przywracania i tak pozostanie. Sprawa ma się inaczej, jeśli włączone są okresowe pełne kopie zapasowe. Jeśli zignorujemy sygnały od B&R, w końcu ostatni punkt może zostać usunięty razem ze starą częścią łańcucha.

Rozumiejąc te szczegóły, można w końcu rozważyć opcję „Remove deleted items data after”. Usunie ona wszystkie punkty dla określonej maszyny, jeśli ta maszyna nie będzie backupowana przez X dni. Zwróć uwagę, że to ustawienie nie reaguje na błędy (próbowaliśmy – nie udało się). Nie powinno być nawet próby backupu maszyny. Wydaje się, że opcja ta jest przydatna i zawsze powinna być włączona. Jeśli administrator usunął maszynę z zadania, logiczne jest, aby po pewnym czasie oczyścić zbędne dane oraz łańcuch. Jednak to ustawienie wymaga dyscypliny i uwagi.

Podam przykład z praktyki: do zadania dodano kilka kontenerów, których skład był dość dynamiczny. Z powodu braku pamięci RAM serwer B&R napotkał problemy, które pozostały niezauważone. Zadanie zostało uruchomione i próbowało wykonać kopię zapasową maszyn, z wyjątkiem jednej, która w danym momencie nie była obecna w kontenerze. Ponieważ wiele maszyn zgłosiło błędy, domyślnie B&R powinien wykonać 3 dodatkowe próby wykonania kopii zapasowej „problemowych” maszyn. Z powodu ciągłych problemów z pamięcią RAM, te próby rozciągnęły się na kilka dni. Nie było ponownej próby wykonania kopii zapasowej brakującej VM (brak VM to nie błąd). W efekcie, podczas jednej z ponownych prób, spełniono warunek „Usuń usunięte elementy” i wszystkie punkty maszyny zostały usunięte.

W tej sprawie mogę powiedzieć tyle: jeśli masz ustawione powiadomienia o wynikach zadań, a jeszcze lepiej - wykorzystujesz integrację z Veeam ONE, to prawdopodobnie coś takiego się u Ciebie nie wydarzy. Jeśli jednak zaglądasz na serwer B&R raz na tydzień, aby sprawdzić, czy wszystko działa, to lepiej zrezygnować z opcji, które mogą potencjalnie prowadzić do usunięcia kopii zapasowych.

Co dodano w v.10

To, o czym mówiliśmy wcześniej, istniało w B&R przez wiele wersji. Zrozumiawszy te zasady działania, przyjrzyjmy się teraz, co dodano w jubileuszowej „dziesiątce”.

Retencja dzienna

Powyżej omawialiśmy „klasyczną” politykę przechowywania opartą na liczbie punktów. Alternatywne podejście - ustawić w tym samym menu „dni” zamiast „punktów przywracania”.

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

Idea jest jasna z nazwy - retencja będzie przechowywać ustaloną liczbę dni, liczba punktów w każdym dniu nie ma znaczenia. Należy jednak pamiętać o następującym:

  • Bieżący dzień nie jest brany pod uwagę przy obliczaniu retencji
  • Dni, w których zadanie nie działało wcale, również są brane pod uwagę. Należy o tym pamiętać, aby przypadkowo nie stracić punktów tych zadań, które działają nieregularnie.
  • Punkt przywracania liczy się od dnia, w którym rozpoczęto jego tworzenie (tzn. jeśli zadanie zaczęło działać w poniedziałek, a zakończyło we wtorek, to jest to punkt od poniedziałku)

W pozostałych przypadkach zasady stosowania retencji zadaniami są określane przez wybraną metodę kopii zapasowej. Spróbujmy jeszcze raz poprzez zadanie obliczeniowe, korzystając z tej samej metody inkrementalnej. Powiedzmy, że retencja została ustawiona na 8 dni, zadanie jest uruchamiane co 6 godzin z pełną kopią zapasową w środę. Przy tym zadanie nie działa w niedzielę. Zadanie startuje po raz pierwszy w poniedziałek. Kiedy zostanie zastosowana retencja?

Odpowiedź
Jak zwykle, najlepiej narysować tabelkę. Pozwolę sobie uprościć zadanie i nie będę rysować wszystkich punktów stworzonych każdego dnia, ponieważ liczba punktów w ciągu dnia tutaj nie ma znaczenia. Ważne jest tylko, że w pierwszy poniedziałek i w środy pierwszy punkt będzie pełną kopią zapasową, a w pozostałe dni zadanie po prostu stworzy 4 punkty inkrementalne.

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

Zrozumieliśmy, że retencja zostanie zastosowana przez usunięcie poniedziałkowej pełnej kopii zapasowej i jej inkrementu. Kiedy to się stanie? Kiedy pozostała część łańcucha będzie miała 8 dni. Przy tym nie liczymy bieżącego dnia, a niedzielę przeciwnie, liczymy. Dlatego odpowiedź brzmi – w czwartek drugiego tygodnia.

Archiwizowanie metodą GFS dla zwykłych zadań

Do v.10 metoda przechowywania Grandfather-Father-Son (GFS) była dostępna tylko dla zadań tworzenia kopii zapasowych (Backup copy) i zadań kopiowania na taśmy magnetyczne. Teraz jest również dostępna dla zwykłych kopii zapasowych.

Chociaż to nie dotyczy obecnego tematu, nie mogę nie wspomnieć, że nowa funkcjonalność nie oznacza odejścia od strategii 3-2-1. Obecność punktów archiwalnych w głównym repozytorium nie wpływa na jego niezawodność. Zakłada się, że GFS będzie używane razem z rozszerzalnym repozytorium (Scale-out), do przesyłania tych punktów do S3 i podobnych magazynów. Jeśli ich nie używasz, lepiej dalej przechowywać punkty pierwotne i archiwalne w różnych repozytoriach.

Teraz rozważmy zasady tworzenia punktów GFS. W ustawieniach zadania, na kroku Storage, pojawił się specjalny przycisk, który wywołuje następujące menu:

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

Istotę GFS można sprowadzić do kilku punktów (zwróć uwagę, że GFS w innych rodzajach zadań działa inaczej, ale o tym wkrótce):

  • Zadanie nie tworzy osobnej pełnej kopii zapasowej dla punktu GFS. Zamiast tego zostanie użyta najbardziej odpowiednia pełna kopia zapasowa z dostępnych. Dlatego zadanie powinno działać w trybie inkrementalnym z okresowym pełnym kopią zapasową, lub pełna kopia zapasowa powinna być tworzona przez użytkownika ręcznie.
  • Jeśli aktywny jest tylko jeden okres (na przykład tygodniowy), to na początku okresu GFS zadanie po prostu zacznie czekać na pełną kopię zapasową i oznaczy pierwszą odpowiednią jako GFS.

Przykład: zadanie jest skonfigurowane do przechowywania tygodniowego GFS, używając kopii zapasowej w środę. Zadanie działa codziennie, ale pełna kopia zapasowa jest zaplanowana na piątek. W takim przypadku w środę rozpocznie się okres GFS i zadanie rozpocznie oczekiwanie na odpowiedni punkt. Pojawi się on w piątek i zostanie oznaczony flagą GFS.

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

  • Jeśli włączonych jest kilka okresów (na przykład tygodniowy i miesięczny), to B&R zastosuje metodę, która pozwala wykorzystać ten sam punkt jako GFS dla kilku interwałów (w celu zaoszczędzenia miejsca). Flagi będą przydzielane po kolei, zaczynając od najmłodszej.

Przykład: tygodniowy GFS jest ustawiony na środę, a miesięczny – na ostatni tydzień miesiąca. Zadanie działa codziennie i tworzy pełne kopie zapasowe w poniedziałki i piątki.

Dla uproszczenia rozpoczniemy odliczanie od przedostatniego tygodnia miesiąca. W tym tygodniu zostanie utworzona pełna kopia zapasowa w poniedziałek, ale zostanie zignorowana, ponieważ tygodniowy interwał GFS zaczyna się w środę. Natomiast piątkowa pełna kopia zapasowa całkowicie odpowiada punktowi GFS. Ten system jest nam już znany.

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

Teraz rozważmy, co się wydarzy w ostatnim tygodniu miesiąca. Miesięczny interwał GFS rozpocznie się w poniedziałek, ale poniedziałkowy VBK nie zostanie oznaczony jako GFS, ponieważ zadanie dąży do oznaczenia jednego VBK zarówno jako miesięcznego, jak i tygodniowego punktu GFS. Przy tym rozpoczęcie wyszukiwania następuje właśnie od tygodniowego, ponieważ z definicji może on stać się także miesięcznym.

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

Jeśli jednak włączone będą tylko tygodniowe i roczne interwały, będą działać niezależnie od siebie i mogą oznaczyć 2 osobne VBK jako odpowiadające interwałom GFS.

Zadania tworzenia kopii zapasowej (Backup copy)

Inny typ zadań, który często wymaga wyjaśnienia dotyczącego działania. Na początek omówmy „klasyczną” metodę działania, bez nowości v.10.

Prosta metoda retencji

Domyślnie takie zadania działają w trybie nieskończonego inkrementu. Tworzenie punktów określane jest dwoma parametrami – interwałem kopiowania i pożądaną liczbą punktów przywracania (tutaj nie ma retencji według dni). Interwał kopiowania ustawia się na pierwszej zakładce Job podczas tworzenia zadania:

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

Liczba punktów jest określona nieco dalej na zakładce Target

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

Zadanie tworzy 1 nowy punkt za każdy interwał (jaka liczba punktów została stworzona dla VMs przez pierwotne zadania, nie ma znaczenia). Pod koniec interwału nowy punkt zostaje sfinalizowany i, jeśli to konieczne, stosuje się retencję poprzez łączenie VBK i najstarszego inkrementu. Ten mechanizm jest nam już znany.

Metoda retencji z wykorzystaniem GFS

BCJ potrafi również przechowywać archiwalne punkty. Ustawia się to na tej samej zakładce Target, nieco poniżej ustawienia liczby punktów przywracania:

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

Punkty GFS mogą być tworzone na dwa sposoby – syntetycznie, wykorzystując dane z wtórnego repozytorium, lub symulując pełny backup i odczytując wszystkie dane z pierwotnego repozytorium (aktywowane opcją oznaczoną cyfrą 3). Retencja w obu przypadkach będzie się znacznie różnić, więc rozważmy je osobno.

Syntetyczny GFS

W takim przypadku punkt GFS nie jest tworzony dokładnie w wyznaczonym dniu. Zamiast tego, punkt GFS zostanie stworzony, gdy VIB danego dnia, na który było wyznaczone utworzenie punktu GFS, zostanie połączony z pełnym backupem. Czasami prowadzi to do nieporozumień, ponieważ czas płynie, a punkt GFS wciąż nie jest dostępny. Tylko potężny szaman z działu wsparcia może przewidzieć, w którym dniu punkt pojawi się. W rzeczywistości magia nie jest potrzebna – wystarczy spojrzeć na wyznaczoną liczbę punktów i interwał synchronizacji (ile punktów jest tworzonych każdego dnia). Spróbuj to obliczyć samodzielnie na takim przykładzie: zadanie ustawiło przechowywanie 7 punktów, interwał synchronizacji – 12 godzin (tj. 2 punkty dziennie). Obecnie w łańcuchu jest już 7 punktów, dzisiaj jest poniedziałek i tego dnia zaplanowano utworzenie punktu GFS. Kiedy on zostanie stworzony?

Odpowiedź
Tutaj lepiej opisać, jak łańcuch będzie się zmieniał w dynamice, dzień po dniu:

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

Zatem w poniedziałek ostatni inkrement w łańcuchu jest oznaczany jako GFS, ale nie zachodzą żadne inne widoczne zmiany. Codziennie zadanie tworzy 2 nowe punkty, a retencja nieubłaganie przesuwa łańcuch naprzód. W końcu w czwartek przychodzi czas, aby zastosować retencję do tego konkretnego inkrementu. Ta sesja zajmie więcej czasu niż zwykle – ponieważ zadanie "wyciągnie" potrzebne bloki z łańcucha i stworzy nowy pełny punkt. Od tego momentu w łańcuchu będzie już 8 punktów – 7 w głównym łańcuchu + GFS.

Tworzenie punktów GFS z opcją "Read entire point"

Na początku powiedziałem, że BCJ działa w nieskończonym trybie inkrementacyjnym. Teraz omówimy jedyne wyjątki od tej zasady. Przy włączonej opcji "Read entire point" punkt GFS zostanie utworzony dokładnie w zaplanowanym dniu. Same zadania będą działać w trybie inkrementacyjnym z okresowymi pełnymi kopiami zapasowymi, które omówiliśmy wcześniej. Retencja będzie również stosowana przez usunięcie najstarszej części łańcucha. W tym przypadku jednak usunięte zostaną tylko inkrementy, a pełna kopia zapasowa zostanie zachowana jako punkt GFS. W związku z tym przy obliczaniu retencji nie uwzględnia się punktów oznaczonych flagami GFS.

Załóżmy, że zadanie zostało ustawione tak, aby przechowywało 7 punktów i tworzyło tygodniowy punkt GFS w poniedziałek. W takim przypadku każde poniedziałek zadanie rzeczywiście będzie tworzyć pełną kopię zapasową i oznaczać ją jako GFS. Retencja będzie stosowana, gdy po usunięciu inkrementów z najstarszej części liczba pozostałych inkrementów nie spadnie poniżej 7. Tak to wygląda na schemacie:

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

I tak, na koniec drugiego tygodnia w łańcuchu znajduje się w sumie 14 punktów. W ciągu drugiego tygodnia zadanie stworzyło 7 punktów. Gdyby było to proste zadanie, retencja byłaby już zastosowana. Ale to jest BCJ z retencją GFS, dlatego nie uwzględniamy punktów GFS, a zatem mamy tylko 6. To znaczy, że retencji jeszcze nie możemy zastosować. W trzecim tygodniu tworzymy jeszcze jedną pełną kopię zapasową z flagą GFS. 15 punktów, ale tego znowu nie liczymy. I w końcu, we wtorek trzeciego tygodnia tworzymy inkrement. Teraz, jeśli usuniemy inkrementy z łańcucha pierwszego tygodnia, łączna liczba inkrementów spełni ustaloną retencję.

Jak już wspomniano, w tej metodzie bardzo ważne jest, aby pełne kopie zapasowe były tworzone regularnie. Powiedzmy, że jeśli ustawimy główną retencję na 7 dni, ale tylko 1 roczny punkt, łatwo sobie wyobrazić, że inkrementów może się zgromadzić znacznie więcej niż 7. W takich przypadkach lepiej wykorzystać syntetyczną metodę tworzenia GFS.

I znowu „Usuń usunięte elementy”

Ta opcja jest również dostępna dla BCJ:

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

Logika tej opcji jest taka sama jak w zwykłych zadaniach kopii zapasowej – jeśli maszyna nie jest przetwarzana przez wskazaną liczbę dni, jej dane są usuwane z łańcucha. Jednak dla BCJ przydatność tej opcji jest obiektywnie wyższa, i oto dlaczego.

W trybie normalnym BCJ działa w nieskończonym trybie inkrementalnym, więc jeśli w pewnym momencie maszyna zostaje usunięta z zadania, retencja stopniowo usunie wszystkie punkty przywracania, aż zostanie tylko jeden – w VBK. Teraz wyobraźmy sobie, że zadanie nadal jest skonfigurowane do tworzenia syntetycznych punktów GFS. Kiedy nadejdzie czas, zadanie powinno utworzyć GFS dla wszystkich maszyn w łańcuchu. Jeśli jakaś maszyna całkowicie nie ma nowych punktów – cóż, trzeba będzie użyć tego, co jest. I tak za każdym razem. W rezultacie może zaistnieć taka sytuacja:

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

Zwróć uwagę na sekcję Pliki: mamy główny VBK i 2 tygodniowe punkty GFS. A teraz na sekcję Punkty przywracania – w rzeczywistości w tych plikach znajduje się ten sam obraz maszyny. Oczywiście, takie punkty GFS nie mają sensu, zajmują tylko miejsce.

Taka sytuacja jest możliwa tylko przy użyciu syntetycznego GFS. Aby temu zapobiec, użyj opcji „Usuń usunięte elementy”. Tylko nie zapomnij ustawić jej na odpowiednią liczbę dni. Wsparcie techniczne widziało przypadki, kiedy opcję ustawiano na mniejszą liczbę dni niż interwał synchronizacji – BCJ zaczynało szaleć i usuwać punkty, zanim zdążyło je stworzyć.

Pamiętaj również, że ta opcja nie dotyka już utworzonych punktów GFS. Jeśli chcesz wyczyścić archiwa, musisz to zrobić ręcznie – klikając prawym przyciskiem myszy na maszynę i wybierając „Usuń z dysku” (w pojawiającym się oknie nie zapomnij zaznaczyć opcji „Usuń pełną kopię zapasową GFS”):

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

Nowość v.10 – natychmiastowa kopia (immediate copy)

Zrozumiawszy „klasyczną” funkcjonalność, przejdźmy do nowości. Nowość jest jedna, ale bardzo ważna. To nowy tryb pracy.

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

Nie ma tutaj pojęcia "interwał synchronizacji"; zadanie będzie na bieżąco monitorować, czy pojawiły się nowe punkty, i kopiować je wszystkie, niezależnie od ich liczby. Niemniej jednak zadanie pozostaje inkrementalne, co oznacza, że nawet jeśli główne zadanie tworzy VBK lub VRB, te punkty będą kopiowane jako VIB. Poza tym w tym trybie nie ma żadnych niespodzianek – zarówno standardowe, jak i GFS retention działają zgodnie z zasadami opisanymi powyżej (co prawda tutaj dostępny jest tylko syntetyczny GFS).

Krążą dyski. Cechy repozytoriów z rotacją dysków (rotated drives)

Stałe zagrożenie wirusami szyfrującymi uczyniło de facto standardem bezpieczeństwa posiadanie kopii danych na nośniku, do którego wirus nie może dotrzeć. Jednym z rozwiązań jest stosowanie repozytoriów z rotacją dysków, w których dyski są używane na zmianę: podczas gdy jeden dysk jest podłączony i dostępny do zapisu, pozostałe są przechowywane w bezpiecznym miejscu.
Aby nauczyć B&R współpracować z takimi repozytoriami, należy w ustawieniach repozytorium, na etapie Repository, kliknąć przycisk Advanced i wybrać odpowiednią opcję:

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

Po tym VBR będzie oczekiwał, że okresowo istniejący ciąg zniknie z repozytorium, co oznacza rotację dysku. W zależności od typu repozytorium i rodzaju zadania, B&R będzie zachowywał się różnie. Można to przedstawić w takiej tabeli:

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

Rozważmy każdą opcję.

Zwykłe zadanie i repozytorium Windows

Otóż, mamy zadanie, które zachowuje ciągi na pierwszym dysku. Przy rotacji stworzony ciąg faktycznie znika, a zadanie musi jakoś przetrwać tę utratę. Pocieszenie znajduje w tworzeniu pełnego backupu. Tak więc każda rotacja oznacza pełny backup. Ale co dzieje się z punktami na odłączonym dysku? Są one zapamiętywane i brane pod uwagę przy obliczaniu retention. Tak więc, ustawiona liczba punktów w zadaniu to to, ile punktów należy utrzymać na wszystkich dyskach. Przytoczmy przykład:

Zadanie działa w nieskończonym trybie inkrementalnym i jest skonfigurowane do przechowywania 3 punktów przywracania. Ale mamy także drugi dysk, i co tydzień przeprowadzamy rotację (dysków może być więcej, to nie zmienia istoty).

W pierwszym tygodniu zadanie będzie tworzyło punkty na pierwszym dysku i łączyło zbędne. W ten sposób łączna liczba punktów wyniesie trzy:

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

Następnie podłączamy drugi dysk. Podczas uruchamiania B&R zauważy, że dysk się zmienił. Łańcuch na pierwszym dysku zniknie z interfejsu, ale informacja o nim pozostanie w bazie. Teraz zadanie będzie utrzymywać 3 punkty na drugim dysku. Ogólna sytuacja będzie wyglądać następująco:

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

Na koniec ponownie podłączamy pierwszy dysk. Przed utworzeniem nowego punktu zadanie sprawdzi, co się dzieje z retencją. A retencja, przypominam, jest ustawiona na przechowywanie 3 punktów. Mamy jednak 3 punkty na dysku 2 (ale jest on odłączony i przechowywany w bezpiecznym miejscu, do którego B&R nie ma dostępu) oraz 3 punkty na dysku 1 (a ten jest podłączony). Oznacza to, że można bezpiecznie usunąć 3 punkty z dysku 1, ponieważ przekraczają one retencję. Po czym zadanie ponownie tworzy pełny backup, a nasz łańcuch zaczyna wyglądać tak:

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

Jeśli retencja jest ustawiona na przechowywanie dni zamiast liczby punktów, logika się nie zmienia. Ponadto GFS retencja nie jest w ogóle obsługiwana przy użyciu repozytoriów z rotacją dysków.

Typowe zadanie i repozytorium Linux, sieciowa pamięć masowa

Taka opcja jest również możliwa, ale ogólnie mniej zalecana z powodu nałożonych ograniczeń. Na rotację dysku i zniknięcie łańcucha zadanie zareaguje w taki sam sposób – utworzeniem pełnego backupu. Ograniczenie związane jest z okrojonym mechanizmem retencji.

Tutaj przy rotacji cały łańcuch na wyłączonym dysku jest po prostu usuwany z bazy danych B&R. Zwróć uwagę – z bazy danych, same pliki pozostają na dysku. Można je zaimportować i użyć do przywracania, ale łatwo zgadnąć, że prędzej czy później takie zapomniane łańcuchy zapełnią całe repozytorium.

Rozwiązanie – dodanie DWORD ForceDeleteBackupFiles, jak to wskazano na tej stronie: www.veeam.com/kb1154. Po tym zadanie zacznie po prostu usuwać całą zawartość folderu zadania lub folderu repozytorium (w zależności od wartości) przy każdej rotacji.

Jednak to nie jest elegancka retencja, a właśnie czyszczenie całej zawartości. Niestety, wsparcie techniczne spotkało się z przypadkami, w których jako repozytorium wskazany został po prostu katalog główny dysku, gdzie oprócz backupów znajdowały się także inne dane. Wszystko to zostało zniszczone podczas rotacji.

Ponadto, przy włączonym ForceDeleteBackupFiles działa to dla wszystkich typów repozytoriów, co oznacza, że nawet repozytoria na systemie Windows przestaną stosować retencję i zaczną usuwać zawartość. Innymi słowy, lokalny dysk na Windows to najlepszy wybór dla tego typu systemu przechowywania kopii zapasowych.

Backup copy i repozytorium Windows

Z BCJ wszystko staje się jeszcze ciekawsze. Oprócz tego, że mamy pełną retencję, nie trzeba robić pełnej kopii zapasowej przy każdej zmianie dysku! Działa to tak:

Na początku B&R zaczyna tworzyć punkty na pierwszym dysku. Powiedzmy, że ustawiliśmy retencję na 3 punkty. Zadanie będzie działać w trybie nieskończonej inkrementacji i łączyć wszystko, co zbędne (przypominam, że w tym przypadku retencja GFS nie jest obsługiwana).

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

Następnie podłączamy drugi dysk. Ponieważ nie ma na nim jeszcze łańcucha, tworzymy pełną kopię zapasową, po czym uzyskujemy drugi łańcuch składający się z trzech punktów:

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

W końcu przychodzi czas na ponowne podłączenie pierwszego dysku. I tutaj zaczyna się magia, ponieważ zadanie nie utworzy pełnej kopii zapasowej, a zamiast tego po prostu kontynuuje inkrementalny łańcuch:

Polityki przechowywania Veeam B&R — rozwikłujemy łańcuchy kopii zapasowej razem z pomocą techniczną

Po tym na każdym dysku będzie istniał swój własny niezależny łańcuch. Dlatego retencja tutaj oznacza nie liczbę punktów na wszystkich dyskach, ale liczbę punktów na każdym dysku osobno.

Backup copy i repozytorium Linux - sieciowe magazynowanie

I znów, cała elegancja znika, jeśli repozytorium nie znajduje się na lokalnym dysku Windows. Ten scenariusz działa analogicznie do opisanego powyżej z prostym zadaniem. Przy każdej rotacji BCJ będzie tworzyć pełną kopię zapasową, a istniejące punkty zostaną zapomniane. Aby nie zostać bez wolnego miejsca, należy użyć DWORD ForceDeleteBackupFiles.

Podsumowanie

Tak więc, w wyniku tego długiego tekstu omówiliśmy dwa typy zadań. Oczywiście jest ich znacznie więcej, ale nie możemy ich wszystkich omówić w formacie jednego artykułu. Jeśli po przeczytaniu masz jakiekolwiek pytania, pisz je w komentarzach, chętnie odpowiem osobiście.

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster