Zapobiegaj utracie konfiguracji Plex, chroniąc trwałe dane aplikacji przed aktualizacją i zmieniając wyłącznie wymienialną warstwę kontenera.
Na domowym serwerze ryzykownym momentem nie jest samo pobranie obrazu, lecz odtworzenie Plexa z nieprawidłową ścieżką konfiguracji, niesprawdzoną kopią zapasową lub bez użytecznego punktu odniesienia do wycofania zmian. Najpierw ustal, którego trwałego katalogu faktycznie używa obecny serwer, a następnie zabezpiecz ten stan przed wprowadzeniem jakichkolwiek destrukcyjnych zmian. Jeśli po aktualizacji kontener uruchomi się jako nowy serwer, zatrzymaj się i sprawdź mapowanie zamiast odtwarzać ustawienia na podstawie niewłaściwego stanu.
Oddziel konfigurację Plexa od jednorazowego kontenera
Obraz kontenera powinien być wymienialny, natomiast stan Plexa, na którym Ci zależy, musi przetrwać tę wymianę. Traktuj działający kontener jako warstwę aplikacji, a jego trwałe dane aplikacji jako oddzielny obiekt do odzyskiwania. Jeśli te dwie warstwy nie są rozdzielone, zwykła aktualizacja może przerodzić się w przypadkowe zresetowanie konfiguracji.
Trwałe dane obejmują więcej niż foldery z filmami i serialami. Plex korzysta z katalogu danych i ustawień serwera, aby zachować strukturę biblioteki, metadane, preferencje oraz inne elementy stanu serwera, podczas gdy same pliki multimedialne mogą pozostać nietknięte na oddzielnym nośniku. Zabezpieczenie wyłącznie multimediów nie chroni więc konfiguracji Plexa potrzebnej do przywrócenia tego samego serwera.
Przed zaplanowaniem aktualizacji ustal katalog na hoście lub nazwany wolumin, w którym przechowywany jest ten trwały stan. W wielu konfiguracjach kontenerowych jest on prezentowany wewnątrz Plexa jako punkt montowania konfiguracji, na przykład /config, ale dla odzyskiwania najważniejsza jest lokalizacja po stronie hosta. Jeśli nie potrafisz jednoznacznie wskazać tego źródła, uznaj aktualizację za wstrzymaną, dopóki tego nie ustalisz.
Sprawdź bieżącą ścieżkę konfiguracji przed aktualizacją
Pierwsza kontrola powinna mieć charakter obserwacyjny, a nie destrukcyjny. Otwórz definicję kontenera, plik Compose, ustawienia aplikacji na serwerze NAS lub interfejs zarządzania kontenerami i porównaj aktywne mapowanie konfiguracji z lokalizacją na hoście, która według Ciebie zawiera stan Plexa. Zrób to, gdy znany jako działający serwer jest nadal uruchomiony, aby mieć wiarygodny punkt odniesienia.
Prawidłowe mapowanie powinno prowadzić do wypełnionej lokalizacji danych aplikacji, z której obecnie korzysta serwer. Wdrożenie Plexa w Dockerze powinno przechowywać stan aplikacji na trwałych woluminach Plexa, aby dane przetrwały ponowne uruchomienia i aktualizacje kontenera. Podczas ponownego wdrażania użyj zweryfikowanego źródła konfiguracji po stronie hosta zamiast kierować Plexa do pustego lub nowo utworzonego katalogu.
Jeśli mapowanie jest nieprawidłowe, niejednoznaczne lub wskazuje lokalizację, z której Plex nie może korzystać, zatrzymaj się przed pobraniem obrazu lub odtworzeniem czegokolwiek. Napraw ścieżkę albo problem z dostępem, gdy stary kontener jest nadal dostępny, a następnie ponownie otwórz Plexa i sprawdź, czy wyświetla oczekiwany serwer. To potwierdzenie zamienia założenie dotyczące mapowania w zweryfikowaną bazę odniesienia.
Zapisz mapowanie na zrzucie ekranu, w wyeksportowanym szablonie aplikacji lub w zapisanym pliku Compose. Nie chodzi o dokumentację dla samej dokumentacji, lecz o usunięcie konieczności polegania na pamięci podczas odzyskiwania. Po aktualizacji powinno być możliwe porównanie definicji nowego kontenera ze znaną, działającą konfiguracją bez zgadywania, która ścieżka na hoście lub reguła uprawnień uległa zmianie.
Utwórz kopię zapasową możliwą do odtworzenia przed zmianą obrazu
Po zweryfikowaniu aktywnej ścieżki konfiguracji skopiuj trwały stan Plexa do oddzielnej lokalizacji odzyskiwania, zanim zmienisz obraz. Kopia może być archiwum, migawką wraz z niezależną kopią lub inną metodą obsługiwaną przez Twój serwer NAS, ale musi przedstawiać znany jako działający serwer, a nie katalog, który jedynie masz nadzieję wskazuje właściwe dane.
Zachowaj ostrożność w przypadku aktywnych plików baz danych. Jeśli metoda tworzenia kopii po prostu kopiuje dane aplikacji Plexa w czasie, gdy baza danych jest modyfikowana, zatrzymaj lub wstrzymaj kontener Plexa, chyba że używane narzędzie zapewnia migawkę spójną aplikacyjnie albo metodę uwzględniającą bazę danych. Szybka kopia zawierająca niespójną bazę nie jest bezpieczniejszą kopią tylko dlatego, że archiwizacja zakończyła się bez oczywistego błędu.
Po zakończeniu kopiowania sprawdź ją niezależnie od aktywnego katalogu. Potwierdź, że zawiera rozpoznawalną strukturę danych aplikacji Plexa, zanotuj jej znacznik czasu i rozmiar oraz sprawdź, czy archiwum można otworzyć lub rozpakować do tymczasowej lokalizacji. Jeśli kopii nie można poprawnie odczytać, napraw proces tworzenia kopii przed ingerencją w działający kontener.
Przechowuj kopię sprzed aktualizacji oddzielnie od aktywnej ścieżki danych aplikacji. Kopia znajdująca się w tym samym drzewie katalogów, które zamierzasz ponownie mapować lub porządkować, może zniknąć wraz ze źródłem, które miała chronić. Bezpośrednim celem jest możliwość odzyskania danych po błędzie aktualizacji; szerszą ochronę przed awarią dysku możesz zapewnić zgodnie ze standardową polityką tworzenia kopii na serwerze NAS.
Zapisz definicję kontenera i ostatnie działające odwołanie do obrazu
Dane konfiguracji to tylko połowa użytecznej procedury wycofania zmian. Zachowaj również bieżącą definicję kontenera: odwołanie do obrazu, mapowania woluminów, istotne wartości zmiennych środowiskowych, tryb sieci, mapowania urządzeń oraz wszelkie inne ustawienia, które trudno byłoby odtworzyć z pamięci. Plik Compose lub wyeksportowany szablon aplikacji NAS jest bardziej wiarygodny niż ręcznie odtwarzana konfiguracja po awarii.
Zapisz ostatni działający obraz za pomocą tagu wersjonowanego, skrótu lub innego możliwego do rozstrzygnięcia odwołania, zanim zaczniesz polegać na ruchomym tagu, takim jak latest. Wycofanie zmian jest znacznie trudniejsze, gdy wiesz tylko, że wczoraj wszystko działało, ale nie potrafisz ustalić, którego obrazu faktycznie używano. Zachowanie danych aplikacji, definicji kontenera i konkretnego odwołania do obrazu zmienia bieżącą konfigurację w odtwarzalny punkt odzyskiwania.
Nie usuwaj poprzedniego obrazu ani zapisanej definicji wdrożenia przed sprawdzeniem aktualizacji. Jeśli nowy kontener zawiedzie z przyczyn niezwiązanych ze ścieżką konfiguracji, powinno być możliwe odtworzenie poprzedniego środowiska bez zmieniania chronionych danych aplikacji. Dzięki temu wycofanie zmian dotyczy warstwy oprogramowania, zamiast łączyć odzyskiwanie z nową migracją konfiguracji.
Wykonaj aktualizację bez zmiany granicy trwałego stanu
Mając gotową kopię zapasową i informacje potrzebne do wycofania zmian, wymień lub zaktualizuj obraz Plexa, pozostawiając zweryfikowane mapowanie trwałej konfiguracji bez zmian. Ponowne użycie tego samego trwałego woluminu przy wymianie obrazu kontenera utrzymuje dane aplikacji poza jednorazową warstwą kontenera. Pozostaw również ścieżki multimediów i inne sprawdzone mapowania bez zmian, chyba że celem prac jest ich jawna migracja.
Oczekiwany rezultat jest prosty: zaktualizowany kontener uruchamia się z tym samym trwałym stanem /config, a Plex powraca jako istniejący serwer. Jeśli mapowanie zostanie zachowane, nowy kontener może ponownie użyć zapisanej bazy biblioteki, ustawień i metadanych zamiast traktować wdrożenie jak pierwszą instalację. Taki stan powinien być widoczny przed wprowadzeniem jakichkolwiek nowych zmian konfiguracji.
Jeśli Plex zamiast tego wyświetla świeżą konfigurację, pustą bibliotekę lub proces przypisywania serwera, nie zaczynaj od razu odbudowywać serwera. Zatrzymaj nowy kontener i porównaj jego mapowanie konfiguracji ze znaną, działającą definicją. Serwer wyglądający jak nowy po wymianie kontenera jest powodem do sprawdzenia trwałości danych, ponieważ konfigurowanie niewłaściwego stanu może utrudnić odzyskiwanie.
Jeśli mapowanie jest prawidłowe, ale nowy obraz nadal nie działa, użyj zapisanego odwołania do obrazu i definicji wdrożenia, aby powrócić do ostatniego działającego kontenera, pozostawiając chronione dane aplikacji na miejscu. Jeśli same dane aplikacji wyglądają na uszkodzone, przywróć je z kopii sprzed aktualizacji zamiast eksperymentować na jedynej znanej jako poprawna kopii zapasowej.
Sprawdź zaktualizowany serwer przed usunięciem kopii umożliwiającej wycofanie zmian
Uruchomiony kontener nie oznacza jeszcze zweryfikowanej aktualizacji. Porównaj zaktualizowany serwer z bazą odniesienia zapisaną przed pracami: potwierdź tożsamość oczekiwanego serwera, biblioteki, najważniejsze ustawienia, ścieżki multimediów oraz co najmniej jedną przykładową sesję odtwarzania. Jeśli którykolwiek z tych elementów się różni, zbadaj przyczynę przed usunięciem zasobów odzyskiwania.
Zachowaj kopię danych aplikacji sprzed aktualizacji oraz odwołanie do ostatniego działającego obrazu, dopóki nie potwierdzisz, że odzyskiwanie jest możliwe, a nie tylko że nowa wersja się uruchamia. Test przywracania pomaga potwierdzić, że kopia może stać się użyteczną ścieżką odzyskiwania, nawet jeśli test ogranicza się do rozpakowania archiwum lub przywrócenia kopii do tymczasowej lokalizacji bez zakłócania działania produkcyjnego.
Gdy zaktualizowany serwer odpowiada bazie odniesienia, a pakiet odzyskiwania pozostaje użyteczny, możesz uznać okno serwisowe za zakończone. Zachowaj kopię lub rotuj nią zgodnie ze standardową polityką, zamiast usuwać ją od razu tylko dlatego, że aktualizacja zadziałała raz. Pozostawia to możliwość reagowania na problemy, które pojawiają się dopiero po wznowieniu zadań zaplanowanych, skanowania bibliotek lub zwykłego korzystania z serwera w domu.
Stosuj ten sam mechanizm ochrony przed przyszłymi zmianami, które mogą zastąpić lub na nowo zinterpretować stan Plexa: aktualizacją obrazu kontenera, migracją na inny host, przeniesieniem ścieżki konfiguracji, poważną zmianą uprawnień lub zmianą miejsca przechowywania danych aplikacji. Ponownie sprawdź trwałe mapowanie, utwórz świeży punkt odzyskiwania, zachowaj informacje potrzebne do wycofania zmian i zweryfikuj rezultat przed sprzątaniem. Procedurę należy uruchamiać w związku ze zmianą mogącą zakłócić działanie, a nie w oparciu o arbitralny odstęp czasu.
Wsparcie i wskazówki
Więcej do przeczytania

Czy Plex może współdzielić kartę graficzną z innym kontenerem Dockera?
Plex i inny kontener często mogą korzystać z tego samego układu GPU, ale należy przetestować obsługę sterowników, mapowanie urządzeń, obciążenie silnika wideo, pamięć oraz...

Jak ustalić, czy błąd Plex pochodzi od klienta, czy od serwera
Odtwórz ten sam przypadek na innym kliencie, porównaj ścieżkę sesji, a następnie zbierz dowody z serwera dopiero wtedy, gdy zakres analizy wskaże, gdzie faktycznie...

Jak skonfigurować pamięć podręczną Plex i tymczasową pamięć na transkodowane pliki
Chroń trwały stan Plex, umieszczając tymczasowe pliki transkodowania na odpowiedniej pamięci lokalnej, a następnie zweryfikuj czyszczenie, ilość wolnego miejsca i zachowanie podczas ponownego uruchamiania.

