Proces konserwacji repozytorium Restic: sprawdzanie, przycinanie, kompresowanie i testowanie przywracania

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.

Bezpieczne podejście polega na traktowaniu harmonogramów blokad, sprawdzania integralności, podglądu retencji, czyszczenia w celu przepakowania, ponownego sprawdzania i odizolowanego przywracania jako sekwencji obserwowalnych etapów kontrolnych, a nie jako pojedynczego polecenia.

W przypadku repozytorium Restic używanego przez co najmniej jeden serwer domowy praktyczne ryzyko polega na konieczności utrzymania repozytorium Restic bez blokowania kopii zapasowych i bez mylenia odzyskiwania miejsca z możliwością odzyskania danych. Zapisz bieżącą tożsamość i punkt odzyskiwania, zacznij od najmniej inwazyjnego rozróżnienia, zinterpretuj wyniki pomyślne i niepomyślne przed zmianą kolejnej zmiennej oraz zatrzymaj się, gdy pamięć masowa stanie się niestabilna lub jedyna możliwa do odzyskania kopia byłaby narażona. Poniższy proces kończy się dopiero wtedy, gdy pierwotne obciążenie zakończy się powodzeniem albo dowody doprowadzą do granicy eskalacji.

Otwórz okno konserwacji obejmujące całe repozytorium

Wstrzymaj harmonogramy tworzenia kopii zapasowych, zapominania, sprawdzania, kopiowania i czyszczenia na każdym hoście, który może uzyskać dostęp do repozytorium. Potwierdź, że nie pozostała żadna aktywna blokada, zapisz wersję Restic i identyfikator repozytorium oraz przetestuj dane uwierzytelniające bez ujawniania ich w historii powłoki ani w dziennikach. Konserwacja repozytorium to jedna wspólna zmiana stanu, a nie zadanie wykonywane dla każdego kontenera osobno.

Jeśli wcześniejsza awaria pozostawiła blokadę, przed jej usunięciem postępuj zgodnie z procedurą ZimaSpace dotyczącą blokady repozytorium Restic po awarii. Blokada jest dowodem własności; usuń ją dopiero wtedy, gdy nazwany proces, host, znaczniki czasu i aktywność zaplecza potwierdzą, że operacja nie jest już wykonywana.

Sprawdź wolne miejsce zaplecza, liczbę i-węzłów lub limity obiektów, uprawnienia do zapisu oraz lokalną pamięć podręczną lub miejsce tymczasowe. Zatrzymaj się, jeśli ścieżka pamięci masowej jest niestabilna, niezmienna retencja blokuje wymagane usuwanie lub nie można wstrzymać innego procesu zapisującego.

Sprawdź strukturę i przykładowe dane repozytorium

Uruchom restic snapshots oraz zwykłe restic check, zapisując dane wyjściowe i kod zakończenia. Następnie zaplanuj --read-data lub obsługiwane podzbiory odczytu danych, odpowiednio do rozmiaru repozytorium i dostępnej przepustowości. Pomyślne sprawdzenie samej struktury nie dowodzi, że każdy pakiet można odczytać.

Dyskusja społeczności Restic rozróżnia rutynowe role poleceń check, prune i rebuild-index oraz wyjaśnia, że odbudowa indeksu nie jest zwykłą konserwacją zapobiegawczą. Nie uruchamiaj rebuild-index ani nie usuwaj plików pakietów tylko dlatego, że sprawdzanie trwa długo; polecenia odzyskiwania rezerwuj dla zdiagnozowanej niespójności.

Jeśli sprawdzanie zgłosi brakujące pakiety, niezgodność skrótu, błąd odczytu zaplecza lub niespójność indeksu, zatrzymaj się przed czyszczeniem. Zabezpiecz repozytorium, powtórz tylko nieudany odczyt przez stabilną ścieżkę i przejdź do udokumentowanego odzyskiwania na kopii.

Wyświetl podgląd retencji, a następnie wyczyść i przepakuj

Uruchom zamierzoną politykę restic forget z opcją --dry-run i przejrzyj zachowane oraz usuwane migawki według hosta, ścieżki i znaczników. Zatwierdź forget dopiero wtedy, gdy lista zachowuje wymagane punkty odzyskiwania. Jeśli to możliwe, zachowaj najnowszą zweryfikowaną migawkę poza eksperymentalną zmianą polityki.

W Restic „compact” nie jest osobnym poleceniem: prune usuwa niepowiązane dane i w razie potrzeby przepakowuje pliki repozytorium. Aktualny przewodnik rozwiązywania problemów opisuje błędy prune w Restic, w tym błędy związane z wolnym miejscem i blokadami, które należy rozwiązać przed kolejną destrukcyjną próbą.

Uruchom prune raz, bez równoległego tworzenia kopii zapasowych, i zachowaj pełny dziennik. Jeśli operacja się nie powiedzie, nie uruchamiaj jej ponownie bez zastanowienia ani nie usuwaj obiektów wyglądających na tymczasowe. Ponownie sprawdź blokady, wolne miejsce robocze, uprawnienia zaplecza i ostatnią ukończoną fazę; zachowaj stan repozytorium do celów diagnostycznych.

Sprawdź ponownie i wykonaj odizolowane przywracanie

Po pomyślnym wykonaniu prune ponownie uruchom restic check i zakończ planowane pokrycie odczytem danych. Porównaj liczbę migawek, rozmiar repozytorium i błędy z bazą sprzed konserwacji. Brak spadku zajętego miejsca do szacowanej wartości nie oznacza awarii, jeśli zachowane migawki nadal odwołują się do tych danych.

Przywróć najnowszą migawkę oraz starszy reprezentatywny podzbiór do pustego katalogu. Zweryfikuj zawartość plików, uprawnienia, znaczniki czasu, dowiązania symboliczne i jeden artefakt na poziomie aplikacji. Samo zamontowanie lub wyświetlenie listy nie jest testem przywracania.

Wznów harmonogramy dopiero wtedy, gdy sprawdzanie po prune zakończy się pomyślnie, przywrócone dane będą użyteczne oraz będzie można utworzyć i przywrócić nową małą kopię zapasową. Każdy nowy przypadek uszkodzenia, powtarzający się błąd zaplecza lub nieukończone prune należy eskalować przed ponownym zezwoleniem wielu hostom na zapis.

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.