Skonfiguruj pamięć podręczną i pamięć tymczasową Immich, najpierw oddzielając trwały stan biblioteki od wygenerowanych pochodnych, pamięci podręcznej modeli do wielokrotnego użycia oraz rzeczywiście jednorazowych danych roboczych kontenera.
Miniatury i zakodowane filmy mogą wyglądać jak pamięć podręczna, ponieważ Immich może je ponownie wygenerować, ale są to trwałe zasoby robocze, których odtworzenie może być czasochłonne i kosztowne. Pobrane modele mają inny cykl życia, natomiast logi i dane robocze zapisywane w warstwie zapisywalnej nie powinny po cichu zajmować dysku rozruchowego. Przypisz pamięć masową według roli, a następnie przetestuj działanie czyszczenia i ponownego uruchamiania.
Przed przeniesieniem sklasyfikuj każdą rolę pamięci masowej
Utwórz inwentaryzację obejmującą co najmniej cztery klasy: oryginały i wymagany stan aplikacji; wygenerowane miniatury i podglądy; wygenerowane zakodowane filmy; oraz dane modeli, logów lub tymczasowego środowiska uruchomieniowego. Dla każdej klasy zapisz bieżącą ścieżkę, rozmiar, tempo przyrostu, zasady tworzenia kopii zapasowych, koszt odtworzenia oraz usługę, która zapisuje dane.
Raport użytkownika dotyczący przyrostu rozmiaru wygenerowanych miniatur i filmów pokazuje, dlaczego miniatury i zakodowane filmy należy mierzyć osobno. Poszczególne proporcje nie są uniwersalne, ponieważ rodzaj multimediów i ustawienia przetwarzania wpływają na ilość generowanych danych.
Nie nazywaj katalogu „pamięcią podręczną” tylko dlatego, że jego usunięcie zwalnia miejsce. Jeśli jego utrata powoduje wielodniowe ponowne generowanie danych, przerywa bieżące odtwarzanie lub usuwa stan, który zgodnie z planem odzyskiwania powinien zostać zachowany, nadaj mu wyraźną rolę trwałą, nawet jeśli aplikacja może go technicznie odtworzyć.
Umieść często zmieniane wygenerowane dane tam, gdzie odpowiadają im opóźnienia i trwałość nośnika
Miniatury i podglądy służą do interaktywnego przeglądania i często wymagają wielu małych odczytów, podczas gdy zakodowane filmy mogą zajmować znacznie więcej miejsca sekwencyjnego. Szybki dysk SSD może przyspieszyć pracę z dużą liczbą danych pochodnych, ale tylko wtedy, gdy przeniesienie tej roli usuwa zmierzone opóźnienie, zamiast tworzyć kolejny mały wolumin, który niespodziewanie się zapełni.
Wyjaśnienie ZimaSpace dotyczące przyrostu zajętości pamięci przez miniatury przedstawia uniwersalną lekcję dotyczącą pamięci masowej: aktywna pamięć aplikacji może się zapełnić, nawet gdy oryginały znajdują się gdzie indziej. Ścieżki specyficzne dla Immich mogą się różnić, ale wymóg monitorowania faktycznie zapisywanej roli pozostaje taki sam.
Jeśli duże pliki multimedialne pozostają na dysku HDD lub w pamięci NAS, a dane pochodne są przenoszone na SSD, monitoruj zarówno minimalny poziom wolnego miejsca, jak i sprawdzaj każde podłączenie po ponownym uruchomieniu. Szybka warstwa danych pochodnych jest użyteczna tylko wtedy, gdy ma wystarczającą pojemność na normalny przyrost, a jej awarii nie można pomylić z utratą autorytatywnych oryginałów.
Świadomie utrwalaj pamięć podręczną modeli, ale traktuj ją jako możliwą do odtworzenia
Modele uczenia maszynowego są pobierane lub przygotowywane do wielokrotnego wnioskowania i mogą zajmować znaczną ilość miejsca. Utrwalanie pamięci podręcznej modeli pozwala uniknąć zbędnego pobierania i pracy podczas uruchamiania, szczególnie przy wolniejszych łączach, ale nie należy mylić jej z bazą danych ani oryginalnymi zdjęciami rodzinnymi w hierarchii odzyskiwania.
Dyskusja społeczności dotycząca architektury pamięci masowej Immich pokazuje, dlaczego operatorzy oddzielają szybką pamięć przypominającą pamięć podręczną od dużej pamięci na zdjęcia. Traktuj takie układy wyłącznie jako przykłady; przed przeniesieniem czegokolwiek sprawdź bieżące ścieżki i podłączenia w swojej definicji Compose.
Jeśli pamięć podręczna modeli zostanie utracona, akceptowalnym sposobem odzyskania jest zazwyczaj jej ponowne utworzenie lub pobranie, pod warunkiem że usługa może dotrzeć do wymaganego źródła i ma wystarczającą ilość miejsca na dysku. Udokumentuj to zachowanie, aby narzędzie do tworzenia kopii zapasowych przypadkowo nie przeznaczało ograniczonej przestrzeni poza siedzibą na ochronę dużej pamięci podręcznej, którą można odtworzyć.
Ogranicz warstwy zapisywalne, logi i przestrzeń roboczą
Warstwy zapisywalne kontenerów nie powinny stawać się nieudokumentowanym miejscem przechowywania trwałych danych pochodnych, tymczasowych transkodowań ani dużych logów. Sprawdź użycie miejsca przez Docker oraz podłączenia kontenerów, aby każda duża, rosnąca ścieżka była albo świadomie utrwalona, albo celowo jednorazowa. Niewyjaśniony skok rozmiaru warstwy zapisywalnej jest objawem konfiguracji, a nie domyślnym celem czyszczenia.
Procedura 2026 Docker HQ dotycząca bezpiecznego czyszczenia miejsca zajmowanego przez Docker podkreśla konieczność przeprowadzenia audytu przed usuwaniem danych oraz ochrony woluminów, które mogą zawierać bazy danych. Zastosuj tę samą ostrożność tutaj: nigdy nie uruchamiaj zbiorczych poleceń czyszczenia na produkcyjnym hoście Immich, dopóki nie ustalisz właściciela każdego woluminu i każdej warstwy.
Skonfiguruj rotację logów, przechowuj ścieżki robocze na pamięci z wystarczającym zapasem na nagłe skoki użycia oraz monitoruj liczbę wolnych i zajętych i-węzłów, a także zużycie miejsca w bajtach, gdy tworzonych jest wiele małych plików. Jeśli ścieżka tymczasowa się zapełnia, właściwym rozwiązaniem jest ograniczenie tej roli lub jej przeniesienie, a nie usuwanie nieznanych katalogów aż do momentu, gdy aplikacja przypadkiem się uruchomi.
Zweryfikuj zmiany pamięci masowej za pomocą testów ponownego uruchomienia, odtworzenia i wolnego miejsca
Po zmianie ścieżek otwórz starsze i nowsze zasoby, przejrzyj kilka albumów, odtwórz film, uruchom jedno zadanie generowania miniatur lub uczenia maszynowego oraz prześlij kontrolowany nowy plik. Potwierdź, że dane są zapisywane na właściwych urządzeniach, a baza danych nadal wskazuje na dostępne pliki multimedialne.
Uruchom ponownie kontenery, a następnie hosta. Poprawna konfiguracja automatycznie ponownie podłącza każdą rolę, zachowuje oczekiwane dane pochodne i pamięć podręczną modeli, pozostawia dane robocze jako jednorazowe oraz zgłasza wystarczającą ilość wolnego miejsca na każdej aktywnej warstwie. Obserwuj pamięć masową przez okres normalnego obciążenia, aby potwierdzić, że dane przyrastają zgodnie z planem.
Wycofaj zmianę ścieżki, jeśli Immich tworzy zduplikowane katalogi, zgłasza brakujące zasoby lub po cichu zapisuje dane w warstwie kontenera, ponieważ podłączenie nie powiodło się. Przy eskalacji dołącz mapy podłączeń, rozmiary ścieżek, informacje o właścicielu, wolne miejsce w systemie plików, użycie miejsca przez kontenery oraz dokładne zadanie, które jako pierwsze zapisało dane w niewłaściwej lokalizacji.
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,...

