Zdjęcie z pozornie poprawną osią czasu nie jest dowodem na to, że oryginały, baza danych i wygenerowane podglądy są w pełni nienaruszone.
Galeria hostowana samodzielnie może nadal wyświetlać zapisane w pamięci podręcznej miniatury po zniknięciu oryginału albo zachować idealne oryginały, gdy procesy robocze przestaną generować nowe pochodne. Oddziel wymagany stan od stanu możliwego do odbudowy, zweryfikuj bajty oryginałów poza aplikacją, uzgodnij pliki z rekordami bazy danych i wygeneruj ponownie tylko jeden plik testowy przed sprawdzeniem odizolowanego przywracania. Natychmiast przerwij, gdy zmienią się sumy kontrolne, pamięć źródłowa stanie się niestabilna lub zadanie zacznie zapisywać w oryginałach.
Zdefiniuj stan wymagany i stan możliwy do ponownego wygenerowania
Za stan wymagany uznaj oryginały, przesłane filmy, pliki sidecar, bazę danych, konfigurację, sekrety, konta użytkowników, albumy, edycje i informacje o udostępnianiu. Wymień osobno miniatury, przekodowane filmy, wektory twarzy i indeksy wyszukiwania jako dane pochodne, które można ponownie wygenerować tylko wtedy, gdy oryginały i stan aplikacji pozostają nienaruszone.
Wdrożenie hostowane samodzielnie często umieszcza bibliotekę na pamięci masowej o dużej pojemności, a bazę danych lub ścieżkę roboczą na szybszym nośniku. Jeden z praktycznych opisów konfiguracji pamięci Immich przedstawia podział pamięci biblioteki i ścieżki intensywnie używanej, dlatego kontrola integralności musi obejmować każdą zamontowaną ścieżkę, a nie tylko folder przeglądany przez użytkowników.
Zapisz wersję aplikacji, obraz kontenera, definicje montowań, stan schematu bazy danych, ilość wolnego miejsca oraz stan kolejki zadań. Przerwij, jeśli brakuje którejkolwiek wymaganej ścieżki lub niespodziewanie stała się tylko do odczytu; zadanie ponownego generowania nie powinno się rozpocząć, dopóki źródło prawdy jest niepewne.
Niezależnie potwierdź integralność bajtów oryginałów
Wygeneruj lub wykorzystaj ponownie zaufany manifest sum kontrolnych dla oryginałów i porównaj go z bieżącym drzewem w trybie tylko do odczytu. Uzgodnij liczbę plików, łączny rozmiar, pliki nieczytelne, nieoczekiwane obiekty o rozmiarze zero oraz osierocone ścieżki. Otwórz poza galerią reprezentatywną próbkę zawierającą pliki JPEG, HEIC, RAW, filmy, materiały z dawnych lat i najnowsze przesłane pliki.
Nie wnioskuj o stanie oryginałów na podstawie widocznych miniatur. Galeria może nadal wyświetlać zapisane w pamięci podręcznej dane pochodne po utracie oryginału, a sprawny oryginał może pozostać ukryty, gdy zawiedzie potok podglądów. Rozróżnienie między oryginałami a danymi pochodnymi możliwymi do ponownego wygenerowania sprawia, że bezpośrednia kontrola plików jest pierwszą bramką bezpieczeństwa.
Jeśli sumy kontrolne się zmienią lub odczyt się nie powiedzie, wstrzymaj import, czyszczenie i ponowne generowanie danych pochodnych. Przywróć lub zarchiwizuj obraz niesprawnej pamięci masowej, zanim zmodyfikujesz rekordy bazy danych. Etap jest zaliczony, gdy wymagane oryginały są możliwe do odczytu, a każda niewyjaśniona różnica ma właściciela, przyczynę i działanie naprawcze.
Uzgodnij rekordy, ścieżki i zadania danych pochodnych
Porównaj rekordy zasobów w bazie danych ze ścieżkami systemu plików w obu kierunkach: rekordy bez plików oraz pliki bez rekordów. Sprawdź UID i GID, montowania wiązane, katalogi bibliotek zewnętrznych, uwzględnianie wielkości liter oraz zmienione nazwy katalogów, zanim uznasz zasoby za brakujące. Zachowaj listy osieroconych elementów zamiast automatycznie usuwać którąkolwiek ze stron.
Następnie przetestuj próbkę zadań dotyczących miniatur, podglądów, transkodowania, ekstrakcji metadanych i uczenia maszynowego. Niezależny artykuł diagnostyczny o nienaruszonych oryginałach i niesprawnych danych pochodnych pokazuje, jak sprawne przesłane pliki mogą współistnieć z szarymi kafelkami, gdy zawodzi pamięć masowa, procesy robocze lub ścieżki danych pochodnych.
Ponownie wygeneruj jeden testowy plik pochodny dopiero wtedy, gdy oryginał i rekord w bazie danych są zgodne. Wynikiem pozytywnym jest nowy podgląd z oczekiwanym właścicielem i ścieżką, poprawnie zwracany klientowi; wynik negatywny ogranicz do logów procesu roboczego, dekodera, pamięci wyjściowej lub stanu kolejki. Nigdy nie uruchamiaj odbudowy całej biblioteki, dopóki po ponownym uruchomieniu ten testowy plik nie pozostaje poprawny.
Przywróć całą bibliotekę do odizolowanego środowiska docelowego
Przywróć oryginały, bazę danych, konfigurację, sekrety i wymagane pliki sidecar do środowiska tymczasowego, używając innych portów i ścieżek. Uruchamiaj zależności w odpowiedniej kolejności, zweryfikuj użytkowników i albumy, a następnie zezwól tylko na zadania danych pochodnych wymagane dla zestawu próbek. Nie kieruj instancji testowej do produkcyjnej pamięci masowej z prawem zapisu.
Przetestuj logowanie, oś czasu, wyszukiwanie, członkostwo w albumie, pobieranie bajtów oryginału, jedną edycję, jedno udostępnienie oraz odtwarzanie filmu. Porównaj sumy kontrolne pobranych plików z manifestem i sprawdź, czy drugie ponowne uruchomienie nie usuwa mapowań ścieżek ani nie odtwarza wymaganego stanu z niewłaściwym właścicielem.
Uznaj integralność za potwierdzoną dopiero wtedy, gdy działająca biblioteka i odizolowane przywrócenie są zgodne pod względem wymaganego stanu, a testowe dane pochodne odbudowują się z oryginałów. Eskaluj niezgodności bazy danych i plików, rosnącą liczbę błędów sum kontrolnych lub zadania modyfikujące oryginały; zachowaj manifesty i logi, aby naprawa nie przerodziła się w nieudokumentowany ponowny import.
Wsparcie i wskazówki
Więcej do przeczytania

Udział NAS pokazuje stare pliki po wymianie pamięci masowej: kontrole i rozwiązania
Porównaj pamięć lokalną z aktywnym udziałem i czystym klientem. Napraw tylko warstwę, co do której potwierdzono nieaktualność, a następnie sprawdź, czy rezultat utrzymuje się...

Przewodnik konserwacji chłodzenia mini PC: wentylatory, otwory wentylacyjne i parametry termiczne
Korzystaj z powtarzalnych pomiarów w stanie bezczynności i pod obciążeniem. Najpierw oczyść zewnętrzny przepływ powietrza, potwierdź działanie wentylatora, a obudowę otwieraj dopiero wtedy, gdy...

Lista kontrolna aktualizacji oprogramowania sprzętowego serwera domowego dotycząca BIOS-u, kolejności rozruchu i urządzeń
Najpierw zarejestruj wersje, wpisy UEFI, stan pamięci masowej i przekazywania urządzeń. Aktualizuj jedną warstwę naraz i zachowaj dostęp do konsoli oraz możliwość wycofania zmian,...

