Dlaczego Immich po ponownym uruchomieniu przestaje zwracać wyniki wyszukiwania prywatnych zdjęć?

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.

Immich zwykle przestaje zwracać możliwe do wyszukania prywatne zdjęcia po ponownym uruchomieniu, ponieważ Smart Search utracił ścieżkę uczenia maszynowego, nie zakończył jeszcze przygotowywania modelu albo nie może ukończyć zadań i odczytów pamięci masowej potrzebnych do utworzenia wektorów wyszukiwania.

Jeśli oś czasu nadal pokazuje oryginały, zdjęcia prawdopodobnie nie zniknęły — niekompletna jest warstwa wyszukiwania. Najpierw potraktuj pusty wynik jako problem ze ścieżką usługi, zachowaj bazę danych i bibliotekę przesłanych plików, a następnie ustal, czy przyczyną jest niedostępny kontener uczenia maszynowego, opóźnione zadania, niezgodny punkt końcowy czy błąd uprawnień do trwałej ścieżki, zanim cokolwiek przebudujesz.

Oddziel brak wyników wyszukiwania od braku zdjęć

Przed przetestowaniem wyszukiwania otwórz bezpośrednio kilka znanych zasobów z osi czasu, albumów i prywatnej biblioteki. Sukces oznacza, że baza danych może znaleźć rekordy, a Immich może odczytać pliki; niepowodzenie oznacza szerszy incydent dotyczący biblioteki lub pamięci masowej — w takim przypadku przerwij zmiany związane wyłącznie z wyszukiwaniem i zabezpiecz dotknięte ścieżki.

Wykonaj trzy powtarzalne wyszukiwania: termin, który wcześniej działał, oczywisty wizualnie termin oraz niedawno przesłany zasób po zakończeniu jego zadań w tle. Zapisz, czy wyniki są puste, nieaktualne czy ograniczone do starszych zdjęć. Pozwoli to odróżnić całkowitą awarię punktu końcowego od zaległości w indeksowaniu.

Wątek społeczności zawiera zestaw kontroli Smart Search związanych z ponownym uruchomieniem, w tym sprawdzenie dostępności punktu końcowego i ponowne uruchamianie zadań. Użyj jego sekwencji diagnostycznej warstwy wyszukiwania jako materiału dowodowego dla tego przypadku, a nie jako powodu do usunięcia bazy danych lub ponownego generowania danych dla każdego zasobu.

Sprawdź ścieżkę uczenia maszynowego po ponownym uruchomieniu

Sprawdź stan serwera i kontenera uczenia maszynowego, a następnie przetestuj skonfigurowany adres URL uczenia maszynowego z przestrzeni nazw sieciowej, która go wywołuje. Dostępny punkt końcowy, który poprawnie obsługuje żądania modelu, oznacza zaliczenie tej gałęzi; odmowa połączenia, błąd rozpoznawania nazwy lub niezdrowy kontener wskazuje ścieżkę usługi wymagającą naprawy.

Porównaj wdrożoną nazwę usługi, port, wartość środowiskową, wersję obrazu i członkostwo w sieci z ostatnią poprawną definicją Compose. Po skorygowaniu niezgodności odtwórz wyłącznie dotknięty kontener. Samo ponowne uruchomienie nie zastępuje nieaktualnej konfiguracji środowiska kontenera, dlatego potwierdź efektywną wartość w odtworzonym obciążeniu.

W zgłoszonym przypadku Immich v2.6.1 nieudane działanie Smart Search powiązano z niezdrowym kontenerem uczenia maszynowego. Raport awarii dotyczący konkretnej wersji uzasadnia sprawdzenie stanu i logów, ale nie dowodzi, że każda awaria po ponownym uruchomieniu jest wynikiem tej regresji.

Sprawdź gotowość modelu, zadania i trwałe ścieżki

Obserwuj logi uczenia maszynowego podczas wysyłania jednego znanego wyszukiwania. Pierwsze żądanie może ładować lub pobierać model i tymczasowo zużywać więcej pamięci; postęp zakończony pomyślną odpowiedzią oznacza zaliczenie. Powtarzające się usuwanie modelu z pamięci, zakończenie z powodu braku pamięci lub nieudane pobieranie wskazuje na konieczność naprawy pamięci, trwałości pamięci podręcznej lub sieci.

Sprawdź liczbę zadań Smart Search i ostatnie błędy, nie usuwając ich. Jeśli punkt końcowy działa, ale zadania nadal są nieudane lub oczekujące, ponów niewielką, kontrolowaną partię i obserwuj, czy liczba zadań maleje. Jeśli jeden zasób zostanie przetworzony pomyślnie, napraw współbieżność procesów roboczych lub niesprawną zależność przed zaplanowaniem pełnego ponownego indeksowania.

Potwierdź, że baza danych, biblioteka przesłanych plików i pamięć podręczna modelu są zamontowane we właściwych trwałych ścieżkach oraz mają oczekiwaną tożsamość. Powiązany przewodnik ZimaSpace dotyczący działania rozpoznawania Immich pomaga odróżnić zakres dostępu i indeksowania od braku oryginału.

Zastosuj dopasowaną poprawkę i przetestuj dwa ponowne uruchomienia

Skoryguj wyłącznie potwierdzoną przyczynę: przywróć nazwę punktu końcowego, odtwórz kontener z właściwą konfiguracją środowiska, zapewnij trwałość pamięci podręcznej modelu, zmniejsz zmierzoną współbieżność, napraw właściciela lub ponów nieudane zadania Smart Search. Zachowaj poprzedni plik Compose i kopię zapasową bazy danych; nie usuwaj wektorów jako pierwszej reakcji.

Ponownie przetestuj te same trzy zapytania, jeden stary zasób i jedno nowe przesłanie. Zaliczenie wymaga użytecznych wyników, zmniejszającej się kolejki zadań, dostępnych do odczytu oryginałów i stabilnego stanu uczenia maszynowego. Uruchom ponownie stos w zwykłej kolejności zależności i powtórz test, a następnie raz uruchom ponownie hosta, aby potwierdzić, że montowania i rozpoznawanie nazw przetrwają uruchamianie systemu.

Wycofaj zmiany, jeśli liczba wyników się zmniejszy, oryginały staną się nieczytelne lub baza danych zgłosi błędy spójności. Jeśli po dwóch ponownych uruchomieniach ta sama awaria powróci, przekaż do dalszej analizy wersję Immich, efektywny punkt końcowy, stan kontenera, odpowiednie logi, liczbę zadań, nazwę modelu i mapowania montowań; zachowaj starą instancję z działającym wyszukiwaniem w izolacji, ale z możliwością odzyskania.

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.