Zdefiniuj stan do odtworzenia, zanim wybierzesz pliki
Zacznij od weryfikowalnego zdania: dokończyć niedokończone zadania, ponownie odczytać zaakceptowane wyniki lub kontynuować trening od zapisanego stanu. Te cele nie wymagają tego samego pakietu. Wskaż wersję aplikacji, zestaw danych wejściowych, parametry i moment odniesienia. Niedawna data pliku sama w sobie nie oznacza, że wszystkie komponenty reprezentują ten sam stan pracy.
W przypadku treningu PyTorch dokumentacja rozróżnia parametry modelu i checkpoint wznowienia obejmujący między innymi stan optymalizatora. Określ elementy niezbędne dla twojego własnego protokołu: postęp, ewentualny scheduler, dane i inne stany aplikacji. Eksport przeznaczony wyłącznie do inferencji może być odpowiedni do tego celu, a jednocześnie niewystarczający do kontynuowania uczenia od tego samego punktu.
Uniezależnij próbę od katalogu roboczego
Przygotuj odrębną lokalizację docelową z potrzebną przestrzenią i uprawnieniami. Wyraźnie zidentyfikuj wybraną kopię zapasową i zabezpiecz jej kopię referencyjną. Test nie może nadpisać bieżącej pracy ani opublikować swoich wyników w miejsce zaakceptowanych rezultatów. Wyłącz lub przekieruj zewnętrzne działania aplikacji: wysyłanie powiadomień, zapis do udostępnionego folderu lub uruchamianie dodatkowej kampanii.
Użyj funkcji odtwarzania swojego narzędzia w tym zakresie. Restic pozwala na przykład wybrać lokalizację docelową za pomocą --target i wyświetlić podgląd odtworzenia za pomocą --dry-run. Jego dokumentacja ostrzega, że odtworzenie w miejscu może pozostawić częściowy stan, jeśli zostanie przerwane. Te możliwości ilustrują metodę; nie oznaczają, że Restic lub zarządzana kopia zapasowa są dostarczane wraz z wynajmem Capordia.
Sprawdź kolejno kopię, stan i użycie
Najpierw sprawdź, czy pakiet odpowiada oczekiwanemu spisowi i czy pliki nie zostały zmienione. Następnie przejdź do rzeczywistego otwarcia: uprawnienia, ścieżki względne, zależności, odczyt danych i wczytanie stanu. Pakiet może pomyślnie przejść kontrolę integralności, a jednocześnie pomijać plik, który nigdy nie znalazł się w spisie. Kontrola funkcjonalna odpowiada na to drugie pytanie.
Na koniec uruchom ograniczoną operację w nowym procesie, bez niejawnego dostępu do katalogu źródłowego. Zanotuj, co odczytuje, co produkuje i co pozwala na jej akceptację. Przy wznowieniu partii sprawdź, czy nie publikuje ponownie już zatwierdzonych zadań. Test na kilku danych wejściowych dowodzi tylko tego zakresu; nie gwarantuje ani całej kampanii, ani jej pełnego czasu trwania.
| Poziom | Pytanie | Element do zachowania |
|---|---|---|
| Integralność | Czy otrzymany pakiet odpowiada pakietowi przewidzianemu? | Spis i wynik kontroli |
| Odtworzony stan | Czy pliki i zależności umożliwiają wczytanie? | Wersje, ścieżki i wykryte rozbieżności |
| Użycie | Czy reprezentatywna operacja daje oczekiwany wynik? | Dane testowe, wyniki i decyzja |
Rozwiązany przykład: nienaruszone archiwum, które nie wznawia pracy
Przypadek całkowicie fikcyjny: kampania obejmuje 240 teczek. W zapisanym punkcie 180 jest zaakceptowanych, a 60 pozostaje do przetworzenia. Zespół przywraca archiwum w osobnym obszarze. Wszystkie wymienione pliki przechodzą kontrolę integralności, ale aplikacja nie odnajduje tabeli mapowania wczytywanej dotąd ze stanowiska kolegi. Przywracanie zostaje odrzucone: stanu nie można wznowić samodzielnie.
Zespół dodaje dokładną wersję tej tabeli do pakietu i dokumentuje jej ścieżkę. Rozpoczyna przywracanie od nowa w nowym miejscu docelowym, a następnie weryfikuje rejestr: 180 + 60 = 240 identyfikatorów, bez duplikatów. Na dziesięciu teczkach próbnych spośród pozostałych sześćdziesięciu przetwarzanie daje oczekiwane dwadzieścia plików, czyli dwa na teczkę. Ich zawartość zostaje zaakceptowana według ustalonych kryteriów. Te dziesięć prób pozostaje oddzielonych od wyników produkcyjnych; rejestr początkowy nie zostaje przesunięty przez ten test.
Mierzyć pełny czas i wiedzieć, co on dowodzi
Zmierz czas od rozpoczęcia niezbędnych przygotowań do zaakceptowanego wyniku, rozdzielając oczekiwanie, przywracanie, konfigurację i kontrolę. W naszym fikcyjnym przykładzie etapy te zajmują odpowiednio 15, 75, 20 i 25 minut: razem 135 minut, czyli 2 godz. 15 min. Dla wewnętrznego okna trzech godzin pozostały zapas wynosi 180 − 135 = 45 minut. To obliczenie nie opisuje żadnej wydajności usługi.
Zapisz warunki, które czynią ten pomiar powtarzalnym: rozmiar pakietu, miejsce docelowe, wersje, dostępność osób i zakres kontroli. Wiek kopii zapasowej odpowiada na inne pytanie: jaką późniejszą pracę trzeba ewentualnie powtórzyć? Szybkie przywrócenie zbyt starego stanu może pozostać nie do przyjęcia. Ustal oba kryteria z kierownikiem projektu, nie mieszając ich ze sobą.
| Krok | Czas |
|---|---|
| Przygotować miejsce docelowe | 15 min |
| Przywrócić pakiet | 75 min |
| Skonfigurować aplikację | 20 min |
| Zaakceptować wynik testu | 25 min |
| Razem / zapas na 3 godziny | 135 min / 45 min |
Zamknąć test i zachować jasne następne działanie
Raport mieści się na jednej stronie: wybrana kopia zapasowa, cel, środowisko testowe, odchylenia, zaakceptowany wynik i ograniczenia. Jeśli brakuje jakiegoś elementu, przypisz jego poprawę, a następnie powtórz daną kontrolę. Nie zastępuj niepowodzenia ogólnym sformułowaniem typu „archiwum dostępne”. Po teście zidentyfikuj wyniki testowe i usuń je zgodnie z własną procedurą, nie naruszając kopii przeznaczonych do przechowywania.
Powtórz test, gdy zmieni się format kopii zapasowej, oprogramowanie lub istotna zależność, a także przed terminem, który utrudniłby odzyskanie danych. Częstotliwość zależy od projektu; nie jest automatycznym zobowiązaniem wynajmu. W okresie 3, 7 lub 30 dni zaplanuj termin na sprawdzenie wznowienia i przekazanie jego wyniku osobie, która będzie dalej prowadzić tę pracę.
Pytania przed decyzją
Czy poprawny odcisk wystarcza do zaakceptowania kopii zapasowej?
Weryfikuje on zgodność danych plików, a nie kompletność projektu ani jego zdolność do ponownego uruchomienia. Dodaj wczytanie w osobnym obszarze i reprezentatywną operację. Raport określa zakres każdej z tych kontroli.
Czy przy każdym teście trzeba odtworzyć całą produkcję?
Niekoniecznie. Wybierz zakres obejmujący zależności i kluczowe kryteria, a następnie wskaż jego ograniczenia. Mały test jest przydatny do wykrycia brakującego pliku; nie mierzy jednak zdolności do przywrócenia znacznie większej ilości danych.
Co zrobić, jeśli test kończy się powodzeniem tylko przy dostępnym starym katalogu?
Poszukaj ukrytej zależności: konfiguracji, danych, biblioteki lub ścieżki zewnętrznej. Dodaj ją do pakietu albo udokumentuj, jak ją odnaleźć, a następnie powtórz test bez tego skrótu. Dopóki ta potrzeba pozostaje nieznana, wznowienie zależy od środowiska źródłowego.