Jak zapobiec zapełnieniu puli docelowej przez replikację migawek

Eva Wong jest Technicznym pisarzem i stałym majsterkowiczem w ZimaSpace. Całe życie geek z pasją do homelabów i oprogramowania open-source, specjalizuje się w tłumaczeniu skomplikowanych koncepcji technicznych na przystępne, praktyczne przewodniki. Eva wierzy, że samodzielne hostowanie powinno być zabawą, a nie czymś onieśmielającym. Poprzez swoje samouczki umożliwia społeczności rozwiewanie tajemnic konfiguracji sprzętu, od budowy pierwszego NAS po opanowanie kontenerów Docker.

Replikacja migawek zapełnia pulę docelową, gdy zachowane migawki i zmienione bloki gromadzą się szybciej, niż zasady czyszczenia miejsca w systemie docelowym mogą je zwalniać.

Zapobiegawcze rozwiązanie polega na zaprojektowaniu zasad przechowywania danych źródłowych, przechowywania danych docelowych, częstotliwości replikacji i alarmów dotyczących wolnego miejsca jako jednej spójnej polityki. Replika może zasadnie przechowywać więcej historii niż źródło, ale taki wybór musi mieć określone granice. Śledź, które migawki są potrzebne jako bazy przyrostowe, ile unikatowych danych przypinają stare migawki, czy zakładki mogą zastąpić część lokalnych migawek źródłowych oraz ile wolnego miejsca pozostanie przed nadejściem kolejnego dużego zestawu zmian.

Jednoznacznie określ zasady przechowywania danych w miejscu docelowym

Ustal, ile godzinowych, dziennych, tygodniowych i miesięcznych punktów przywracania powinno być przechowywanych w miejscu docelowym, oraz udokumentuj, dlaczego ta historia różni się od historii źródła. Nie zakładaj, że oprogramowanie do replikacji automatycznie usunie każdą starą migawkę w miejscu docelowym, gdy źródło ją usunie.

Przegląd replikacji ZFS wyjaśnia, że replikacja wymaga zasad dotyczących migawek, ponieważ migawki są zarówno punktami odzyskiwania, jak i granicami transferów przyrostowych.

Stosuj najkrótszy okres przechowywania dla często zmieniających się zbiorów danych, chyba że dłuższa historia ma konkretną wartość w procesie odzyskiwania. Archiwa o małej dynamice trzymaj według innego harmonogramu, aby jedna globalna polityka nie marnowała miejsca tam, gdzie częste punkty przywracania mają niewielką wartość.

Oszacuj, ile zmienionych danych przypinają stare migawki

Mierz wartość USED migawek, ilość zapisanych danych między migawkami oraz wolne miejsce w puli docelowej przed dużymi usunięciami, przenosinami, wymianą nośników lub ponownym zapisem maszyn wirtualnych i po tych operacjach. Migawka może utrzymywać stare bloki przy życiu nawet po usunięciu danych aktywnych.

Wskazówka dotycząca replikacji TrueNAS ostrzega, że rotacja migawek zachowuje stare bloki, nawet gdy bieżący aktywny zbiór danych staje się mniejszy.

Wykorzystaj tempo tych zmian do określenia pojemności potrzebnej na przechowywanie danych. Miejsce docelowe z 30-dniową historią szybko zmieniających się obrazów maszyn wirtualnych może wymagać znacznie większej pojemności niż inny zbiór danych o takim samym rozmiarze aktywnym, ale składający się głównie ze zdjęć rodzinnych dopisywanych bez nadpisywania.

Zarezerwuj zapas miejsca w puli na następną replikację

Ustal operacyjny próg wolnego miejsca uwzględniający największy realistyczny przyrost danych, jaki może nadejść, wzrost liczby lokalnych migawek oraz zwykły narzut systemu plików. Ustaw alarm przed osiągnięciem tego progu, a nie dopiero wtedy, gdy pula będzie już niemal pełna.

Omówienie przechowywania migawek przez Oracle wskazuje, że zasady przechowywania kontrolują wzrost migawek, zamiast traktować migawki jak bezkosztowe tylko dlatego, że ich tworzenie początkowo wymaga niewiele miejsca.

Wstrzymaj przechowywanie danych o mniejszym znaczeniu lub skróć jego okres, zanim miejsce docelowe osiągnie stan awaryjny. Cel replikacji potrzebuje przestrzeni do odebrania i zatwierdzenia nowych bloków, dlatego pozostawienie miejsca wystarczającego wyłącznie na dzisiejszy aktywny zbiór danych nie jest bezpiecznym planem pojemności.

Używaj zakładek tam, gdzie zachowują historię przyrostową

Jeśli używana wersja ZFS i narzędzia do replikacji obsługują zakładki, sprawdź, czy zakładka może zachować referencję wysyłania przyrostowego po tym, jak stara migawka źródłowa nie jest już potrzebna jako pełny lokalny punkt przywracania.

Projekt kopii zapasowych w zewnętrznej lokalizacji pokazuje, jak zakładki zachowują bazy przyrostowe, pozwalając jednocześnie niezależnie ustalać okres przechowywania migawek.

Nie zastępuj każdej migawki zakładką. Historia odzyskiwania w miejscu docelowym nadal wymaga rzeczywistych migawek, a narzędzia do replikacji różnią się sposobem zarządzania wspólnymi bazami. Używaj zakładek tylko tam, gdzie upraszczają obsługę źródła bez osłabiania celu odzyskiwania w miejscu docelowym.

Chroń tylko migawki nadal potrzebne replikacji

Przed usuwaniem ustal najnowszą wspólną migawkę współdzieloną przez źródło i miejsce docelowe. Jeśli narzędzia używają blokad lub równoważnych mechanizmów ochrony, sprawdź, czy zadania czyszczenia ich przestrzegają oraz czy nieaktualne blokady są ostatecznie zwalniane.

Podręcznik ZFS systemu FreeBSD wyjaśnia, że blokady chronią wspólne migawki do czasu ich jawnego zwolnienia.

Nie przechowuj każdej historycznej migawki tylko dlatego, że wymagana jest jedna wspólna baza. Chroń niewielki zestaw faktycznie potrzebny replikacji, a następnie pozwól, by zasady przechowywania w miejscu docelowym zarządzały starszymi, niezależnymi punktami odzyskiwania.

Kontroluj migawki replikacji niezależnie od historii kopii zapasowych

Niektóre narzędzia tworzą własne migawki synchronizacyjne oprócz zaplanowanych migawek godzinowych lub dziennych. Wyświetl obie grupy w miejscu docelowym i upewnij się, że zestaw tworzony przez narzędzie nie może rosnąć bez reguły czyszczenia.

Omówienie narzędzi Sanoid i Syncoid wyjaśnia, że migawki synchronizacyjne pełnią funkcję zabezpieczeń, a nie każda migawka replikacji jest przeznaczona do długoterminowego przechowywania jako historia kopii zapasowych.

Przeglądaj miejsce docelowe co miesiąc lub po każdym dużym przeniesieniu zbioru danych. Polityka jest prawidłowa, gdy oczekiwane punkty przywracania pozostają dostępne, następny przyrost ma prawidłową wspólną bazę, a wolne miejsce w puli utrzymuje się powyżej zdefiniowanego progu. Powiązany artykuł ZimaSpace na temat diagnozowania miejsca zajmowanego przez migawki opisuje sposób postępowania, gdy miejsce docelowe jest już niespodziewanie pełne.

Często zadawane pytania

Czy miejsce docelowe powinno przechowywać dokładnie te same migawki co źródło?

Niekoniecznie. Cel kopii zapasowej może przechowywać dłuższą historię, ale różnica powinna być zamierzona, sprawdzona pod kątem pojemności i regulowana własnymi zasadami przechowywania.

Czy usunięcie plików ze źródła natychmiast zwolni miejsce w miejscu docelowym?

Nie. Replikowane migawki mogą nadal odwoływać się do starszych bloków po zniknięciu aktywnego pliku. Miejsce zostanie zwolnione dopiero wtedy, gdy żadna zachowana migawka ani inne odwołanie nie będzie już potrzebować tych bloków.

Czy usunięcie najstarszej migawki zawsze zwolni najwięcej miejsca?

Nie. Miejsce zajmowane przez migawki jest współdzielone między punktami odzyskiwania. Oszacuj lub zmierz unikatowe miejsce zajmowane przez referencjonowane dane i chroń każdą wspólną migawkę nadal wymaganą do replikacji przyrostowej.

Wsparcie i wskazówki

Więcej do przeczytania

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.