Kopia zapasowa Home Assistant jest sprawdzona dopiero wtedy, gdy oddzielna instancja może ją przywrócić oraz odtworzyć tożsamości, konfigurację, integracje, historię i czas przywracania wymagany przez gospodarstwo domowe.
Pomyślne zadanie archiwizacji potwierdza utworzenie kopii, a nie możliwość jej odzyskania. Użyj odizolowanej maszyny wirtualnej, zapasowego urządzenia lub odłączonego segmentu sieci; pozostaw środowisko produkcyjne uruchomione; przygotuj klucz szyfrowania i zgodną ścieżkę instalacji; następnie przetestuj zarówno uruchomienie techniczne, jak i rzeczywiste funkcje gospodarstwa domowego. Zatrzymaj się, zanim sklonowane automatyzacje, moduły radiowe lub webhooki będą mogły działać na urządzeniach produkcyjnych.
Wybierz kopię zapasową i zdefiniuj kryteria zaliczenia
Wybierz najnowszą zaplanowaną kopię zapasową oraz jeden starszy punkt przywracania. Zapisz ich rozmiar, czas utworzenia, uwzględnione komponenty, lokalizację przechowywania, stan szyfrowania oraz sumę kontrolną, jeśli jest dostępna. Zdefiniuj maksymalny czas przywracania oraz dokładną konfigurację, użytkowników, automatyzacje, historię, dodatki i sekrety, które muszą zostać odtworzone.
Zaliczenie nie może oznaczać wyłącznie pojawienia się strony logowania. Musi obejmować określone funkcje gospodarstwa domowego, które mają znaczenie, takie jak lokalne sterowanie oświetleniem, jedna krytyczna automatyzacja, pulpity dla standardowych użytkowników, okres przechowywania danych w bazie oraz dostęp do zewnętrznego brokera lub bazy danych.
Przerwij etap przygotowania, jeśli archiwum lub klucz odzyskiwania istnieje wyłącznie na dysku produkcyjnym, jeśli typ instalacji nie może bezpośrednio przywrócić tego artefaktu lub jeśli nie ma odizolowanego celu, który zapobiegnie zduplikowanym działaniom. Usuń te problemy przed ingerencją w środowisko produkcyjne.
Przywróć dane w odizolowanym środowisku
Utwórz czyste środowisko docelowe ze zgodną architekturą i wystarczającą ilością miejsca, odizoluj jego sieć od ścieżek prowadzących do urządzeń produkcyjnych oraz zachowaj dostęp do konsoli na potrzeby rozwiązywania problemów. Rozpocznij przywracanie z kopii archiwum, a nie z jedynej zachowanej kopii zapasowej.
Nawet izolowany test przywracania może wymagać dostępu sieciowego supervisora. Zaprojektuj izolację tak, aby wymagane zasoby instalacyjne pozostały dostępne bez udostępniania urządzeń produkcyjnych.
Jeśli przywracanie zakończy się niepowodzeniem przed uruchomieniem, zapisz dokładny etap, błąd archiwum, wynik użycia klucza, wolne miejsce, wersję środowiska docelowego oraz typ instalacji. Nie przesyłaj wielokrotnie ani nie modyfikuj jedynej kopii; zachowaj ją i przetestuj drugą znaną kopię zapasową, aby odróżnić uszkodzenie archiwum od niezgodności środowiska docelowego.
Zweryfikuj stan, zależności i funkcje gospodarstwa domowego
Po uruchomieniu porównaj użytkowników, pulpity, encje, automatyzacje, pomocniki, odwołania do sekretów, historię bazy danych, dodatki i stan integracji z listą kryteriów. Pozostaw moduły radiowe odłączone lub użyj bezpiecznych zamienników, dopóki sklonowana instancja nie będzie mogła wysyłać zduplikowanych poleceń.
Możliwość przywrócenia na tymczasowym sprzęcie jest lepszym dowodem niż przechowywanie kopii w kilku miejscach bez rzeczywistej próby odzyskania.
Brak zewnętrznej bazy danych, brokera, rekordu DNS, certyfikatu lub udziału sieciowego jest częścią wyniku przywracania, a nie niezależną niedogodnością. Udokumentuj zależność i kolejność wymaganą do jej odzyskania.
Zmierz czas przywracania i zakończ ćwiczenie
Wykonaj zdefiniowane testy lokalnego sterowania i automatyzacji, dwukrotnie uruchom ponownie instancję testową oraz potwierdź, że przywrócony stan pozostaje zachowany. Zapisz czas od przygotowania pustego środowiska docelowego do uzyskania użytecznej usługi, czynności ręczne, niedostępne funkcje oraz wszystkie dane uwierzytelniające i zależności, które trzeba było odzyskać osobno.
Porównaj wynik z bramką przywracania przed wycofaniem serwera przed zmianą sprzętu lub wyłączeniem systemu źródłowego.
Uznaj test za zaliczony tylko wtedy, gdy wymagane funkcje i dane przetrwają ponowne uruchomienie w ramach docelowego czasu przywracania. Po zebraniu dowodów zniszcz klon lub poddaj go kwarantannie, popraw zakres kopii zapasowej albo sposób przechowywania klucza, utwórz nową kopię zapasową i powtórz ćwiczenie, zanim uznasz produkcyjną ścieżkę odzyskiwania za bezpieczną.
Zaplanuj następne potwierdzenie, zanim system się zmieni
Zapisz identyfikator przetestowanej kopii zapasowej, wersję źródłową, typ środowiska docelowego, czas przywracania, brakujące zależności oraz ostateczny werdykt. Przechowuj te dowody razem z procedurą odzyskiwania, a nie wewnątrz instancji produkcyjnej, którą procedura może wymagać zastąpić.
Ustal następne ćwiczenie po istotnej zmianie pamięci masowej, instalacji, szyfrowania, bazy danych lub dodatku, a także w regularnych odstępach odpowiednich do tolerancji gospodarstwa domowego na utratę danych. Plik utworzony po ćwiczeniu nie jest automatycznie objęty poprzednim wynikiem.
Następny test może wykorzystywać mniejsze, reprezentatywne środowisko docelowe, ale nadal musi potwierdzać odszyfrowanie, uruchomienie, krytyczne tożsamości oraz jedną funkcję gospodarstwa domowego działającą od początku do końca. Sama kontrola archiwum nie może zastąpić takiego sprawdzenia na poziomie usługi.
Wsparcie i wskazówki
Więcej do przeczytania

Jak zoptymalizować połączenia z bazą danych Immich dla równoczesnych kontenerów
Nie zwiększaj najpierw wartości max_connections. Zmierz sesje Immich, zsumuj zapotrzebowanie wszystkich kontenerów, zachowaj rezerwę dla administratora i dostosuj tylko faktycznie potwierdzone wąskie gardło.

Jak zapobiegać duplikowaniu zadań lub importów w Immich
Oddziel powtarzające się zadania od zduplikowanych zasobów. Użyj jednej kanonicznej ścieżki pozyskiwania danych, kontroluj ponowne próby i zmiany ścieżek, a następnie przetestuj ponowne wprowadzanie...

Jak naprawić Immich po zapełnieniu woluminu bazy danych
Nigdy nie usuwaj dziennika WAL PostgreSQL, aby zwolnić miejsce. Zatrzymaj operacje zapisu w Immich, zachowaj stan bazy danych, bezpiecznie zwiększ pojemność, odzyskaj działanie PostgreSQL,...

