Zdefiniuj akceptowalną utratę i przestój
Zapisz najpóźniejszy akceptowalny punkt odzyskiwania i docelowy czas przywrócenia użytecznej usługi. To cele aplikacji, a nie SLA PrivacyNodes. Jeśli utrata godziny danych jest nieakceptowalna, sama kopia dobowa nie może spełnić tego celu. Wybierz metodę kopii zapasowej bazy danych zgodną z Twoim obciążeniem i wersją.
Uzyskaj jednorazowy cel, artefakt aplikacji i upoważnione dane uwierzytelniające do odzyskiwania przez chroniony magazyn. Potwierdź, kto zatwierdza odtworzenie danych klientów i jak środowisko testowe blokuje ruch zewnętrzny. Nie odtwarzaj nad działającą produkcyjną bazą danych ani istniejącym katalogiem.
Zinwentaryzuj pełny stan aplikacji
Dla API raportowego wymień PostgreSQL, przesłane pliki, eksporty, których nie można odtworzyć, konfigurację, odwołania do kluczy szyfrujących, DNS i zależności zewnętrzne. Odróżnij jednorazową pamięć podręczną od kolejki przechowującej pracę klientów, która wymaga uzgodnienia. Obraz kontenera opisuje oprogramowanie, a nie cały stan trwały.
| Zapis | Twoja wartość |
|---|---|
| Wersja artefaktu i konfiguracji | Dokładne identyfikatory |
| Kopia zapasowa bazy danych i punkt odzyskiwania | Wybrane archiwum i znacznik czasu |
| Migawka przesłanych plików i granica spójności | Migawka, ścieżka i plan dopasowania |
| Cel jednorazowy | Zweryfikowane środowisko i puste miejsce docelowe |
| Dane uwierzytelniające i zatwierdzający | Tylko chronione odwołania |
| Start, zakończenie, brakujące kroki | Zaobserwowane wyniki, nie szacunki |
Zrozum, co obejmuje kopia zapasowa
PostgreSQL dokumentuje zrzuty logiczne, kopie zapasowe systemu plików i ciągłe archiwizowanie jako różne strategie. pg_dump Archiwum obejmuje jedną bazę danych; role i przestrzenie tabel w całym klastrze wymagają osobnego rozważenia. Jego klient nie może zrzucić nowszej wersji głównej serwera. Dopasuj wersje narzędzi i strategię do celu; kopiowanie aktywnego katalogu danych nie jest automatycznie spójne.
Sprawdź archiwum przed odtworzeniem. Wybranie tabeli za pomocą pg_restore nie obejmuje automatycznie wszystkich jej zależności. Jego --clean opcja usuwa istniejące obiekty; odtworzenie w jednej transakcji nie może łączyć się z zadaniami równoległymi. Przejrzyj opcje dla konkretnie zidentyfikowanej pustej bazy testowej.
Dokumentacja techniczna: Kopia zapasowa i odtwarzanie PostgreSQL · PostgreSQL pg_dump · PostgreSQL pg_restore.
Sprawdź integralność i odtwórz niezależnie
Kontrole repozytorium i funkcjonalne odtworzenia odpowiadają na różne pytania. Zwykłe check restic nie odczytuje każdego zapisanego pakietu danych; check --read-data dodaje te odczyty i może zużywać znaczne pasmo. Żadne z nich nie dowodzi, że migawka zawiera wszystko, czego potrzebuje API.
Wybierz konkretną migawkę i nowy katalog docelowy. Niekwalifikowane latest we współdzielonym repozytorium może wybrać inne obciążenie. Odtworzenie może nadpisać pliki, a przerwanie może pozostawić częściowe wyniki. Najpierw zweryfikuj miejsce docelowe, pozostawiając pliki produkcyjne i oryginalne repozytorium nietknięte.
Dokumentacja techniczna: kontrole repozytorium restic · cele odtworzenia restic.
Przetestuj odtworzone działanie w kolejności zależności
Odtwórz środowisko, przywróć bazę danych i pasujące przesłane pliki, a następnie uruchom API z danymi uwierzytelniającymi staging. Wstrzymaj workery, dopóki ich zaległości i efekty uboczne nie zostaną zrozumiane. Wyłącz produkcyjne e-maile, wywołania płatności i webhooki; użyj testowego celu eksportu i nigdy nie konsumuj produkcyjnej kolejki.
Użyj znanego konta testowego, aby odczytać rekord, otworzyć jego przesłany plik, sprawdzić ograniczenia dostępu i uruchomić mały nowy eksport. Sprawdź, czy inne konto testowe nie może odczytać jego danych. Porównaj wybrany punkt odzyskiwania z najnowszym oczekiwanym rekordem. Zapisz rzeczywisty czas odtworzenia po próbie; nie zapisuj z góry wymyślonego wyniku sukcesu.
Rozstrzygnij własność zapisów przed rzeczywistym przełączeniem
Podczas incydentu zdecyduj, który system może przyjmować zapisy i jak późniejsze zmiany zostaną uzgodnione. Dwie kopie z możliwością zapisu mogą się rozjechać. Próba dokumentuje tę decyzję bez przełączania rzeczywistego ruchu. Gdy ćwiczenie się zakończy, usuń jednorazowe dane zgodnie z zasadami retencji.
Po każdej próbie popraw brakujące dane uwierzytelniające, zależności i kroki walidacji. Trzymaj runbook poza oryginalnym hostem i zapewnij, że inny upoważniony opiekun może go znaleźć. Opcja kopii zapasowej do wyboru jest oddzielona od tego procesu aplikacji; potwierdź zakres i procedury odtwarzania w fakty o usłudze. Użyj rekordu wydania dla wdrożenia, które nastąpi.
Oficjalne odniesienia
Dokumentacja została zweryfikowana dla tego artykułu. Przykłady są ćwiczeniami planistycznymi, a nie poleceniami przetestowanymi na serwerze PrivacyNodes. Sprawdź dokumentację dla swojej zainstalowanej wersji.