Przewodnik migracji Borg Backup dotyczący przenoszenia repozytorium na nową pamięć masową

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 wstrzymaniu procesów zapisujących, skopiowaniu lub przeniesieniu danych metodą odpowiednią dla danej wersji, zweryfikowaniu miejsca docelowego oraz przełączeniu z możliwością wycofania zmian - jako sekwencji obserwowalnych etapów, a nie pojedynczego polecenia.

W przypadku repozytorium BorgBackup na lokalnym nośniku, NAS-ie lub pamięci dostępnej przez SSH praktyczne ryzyko polega na konieczności przeniesienia repozytorium Borg bez utworzenia rozdzielonej ani niekompletnej kopii. Zapisz bieżącą tożsamość i punkt odzyskiwania, rozpocznij od najmniej inwazyjnego rozróżnienia, zinterpretuj wyniki pozytywne i negatywne 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 oryginalne obciążenie zakończy się powodzeniem albo dowody osiągną granicę eskalacji.

Zapisz założenia repozytorium przed kopiowaniem

Zapisz wersję Borga, URL repozytorium, identyfikator repozytorium, tryb szyfrowania, lokalizację klucza, proces odzyskiwania hasła, listę archiwów, rozmiar, wolne miejsce, ustawienia trybu tylko do dopisywania oraz każdego klienta lub zadanie automatyzacji, które może wykonywać zapis. Repozytorium nie jest możliwe do odzyskania wyłącznie z lokalnej pamięci podręcznej, a zaszyfrowane repozytoria mogą zależeć od materiału klucza przechowywanego poza miejscem docelowym.

Artykuł ZimaSpace dotyczący odzyskiwania po utracie pamięci podręcznej Borga rozdziela możliwy do odbudowania stan pamięci podręcznej od brakujących kluczy lub uszkodzenia repozytorium. Wykonaj tę kontrolę przed migracją, aby problem z kluczem nie został wykryty dopiero po usunięciu starej pamięci masowej.

Określ, czy chodzi o przeniesienie tego samego repozytorium bajt po bajcie, czy o transfer do nowo zainicjalizowanego repozytorium. Wersja i format Borga decydują o dostępnych metodach; nie mieszaj przykładów poleceń Borg 1 i Borg 2 ani nie zakładaj, że tożsamość repozytorium powinna się zmienić.

Wstrzymaj procesy zapisujące i utwórz spójny punkt źródłowy

Wyłącz timery, zadania cron, kontenery i klientów zdalnych, a następnie potwierdź, że żaden proces Borga ani blokada repozytorium nie są aktywne. Przed kopiowaniem uruchom borg list oraz odpowiednie borg check. Jeśli kontrola źródła zakończy się niepowodzeniem, zachowaj je i zdiagnozuj ten stan zamiast klonować niepewność do miejsca docelowego.

Dyskusja w Super User zwraca uwagę na ryzyko kopiowania działającego repozytorium za pomocą rsync, gdy deduplikowane repozytorium Borg ulega zmianom. Bezpieczna zasada polega na kopiowaniu wstrzymanego repozytorium albo użyciu migawki systemu plików utworzonej po zatrzymaniu wszystkich procesów Borga zapisujących dane, tak aby indeksy, segmenty, stan nonce i dane pochodziły z jednego punktu w czasie.

Pozostaw harmonogramy kopii zapasowych wyłączone do czasu zakończenia walidacji miejsca docelowego. Jeśli przestój byłby zbyt długi, wykonaj kopię początkową, gdy repozytorium jest bezczynne, zatrzymaj procesy zapisujące, a następnie przeprowadź końcową synchronizację; podczas przełączania nigdy nie pozwalaj, aby źródło i miejsce docelowe przyjmowały niezależne kopie zapasowe.

Kopiuj metodą obsługiwaną przez używaną wersję Borga

W przypadku przeniesienia tego samego repozytorium zachowaj wszystkie pliki, uprawnienia, sposób obsługi plików rzadkich i własność, używając odpowiedniego lokalnego lub zdalnego narzędzia do kopiowania, oraz przeanalizuj jego dziennik błędów. Kopiuj katalog główny repozytorium jako całość, a nie wybrane archiwa lub pozornie duże katalogi danych. Po końcowej synchronizacji pozostaw źródło nietknięte.

W przypadku nowego repozytorium lub migracji formatu użyj funkcji transferu tylko wtedy, gdy jest obsługiwana przez zainstalowane wersje Borga i wybrany plan szyfrowania. Odpowiedź w Server Fault opisuje transfer repozytorium Borg jako kierunek repozytorium-do-repozytorium powiązany z Borg 2, który nie jest zamienny z kopiowaniem systemu plików w Borg 1.

Po skopiowaniu na początku udostępnij miejsce docelowe klientom w trybie tylko do odczytu. Jeśli identyfikator repozytorium, dostęp do klucza, uprawnienia lub format są nieoczekiwane, zatrzymaj się i popraw miejsce docelowe; nie wykonuj „inicjalizacji” na skopiowanych danych ani nie uruchamiaj naprawy w celu wymuszenia rozpoznania.

-15% OFF

Zweryfikuj archiwa, przełącz klientów i zachowaj możliwość wycofania zmian

W miejscu docelowym uruchom Borg list, info oraz odpowiednie kontrole repozytorium i archiwów. Wypakuj pliki testowe z nowszego i starszego archiwum do osobnego katalogu, a następnie porównaj zawartość, metadane i uprawnienia. Wykonaj test przy użyciu tego samego pliku binarnego Borga i zdalnej ścieżki, których użyje automatyzacja.

Zaktualizuj jednego klienta, wskazując nowy URL, wyczyść lub odbuduj wyłącznie stan pamięci podręcznej, który Borg uzna za niezbędny, i utwórz małe archiwum testowe. Odtwórz je i potwierdź, że harmonogramy przycinania lub kompaktowania nadal są wyłączone, dopóki wszyscy klienci nie będą korzystać z nowej lokalizacji.

Przełączenie można uznać za udane, gdy spis archiwów się zgadza, kontrole kończą się powodzeniem, dwa odtworzenia są użyteczne, a nowa kopia zapasowa kończy się powodzeniem po ponownym uruchomieniu lub restarcie harmonogramu. Pozostaw źródło w trybie tylko do odczytu przez co najmniej jeden normalny cykl; usuń je dopiero po upływie czasu na wycofanie zmian albo eskaluj problem, jeśli kontrole różnią się między źródłem a miejscem docelowym.

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.