Jak wykonać kopię zapasową Plexa bez przechwytywania niespójnej bazy danych

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.

Aby wykonać pełną kopię zapasową danych aplikacji Plex, zatrzymaj Plex przed skopiowaniem systemu plików lub utworzeniem migawki. W przypadku samej głównej bazy danych zaplanowana kopia zapasowa Plex jest metodą uwzględniającą aplikację.

Podczas pracy serwera Plex zapisuje bazy danych, metadane, preferencje i pamięć podręczną, dlatego ogólne zadanie tworzenia kopii zapasowej może przechwycić pliki w różnych momentach. Nie oznacza to, że każda kopia wykonywana podczas pracy serwera jest uszkodzona, ale surowej kopii trudniej zaufać, jeśli aplikacja lub warstwa pamięci masowej nie koordynuje spójności. Najpierw zdecyduj, czy potrzebujesz głównej bazy danych Plex, czy całego stanu serwera, a następnie wybierz metodę odpowiadającą temu zakresowi i sprawdź możliwość przywrócenia, zanim uznasz tworzenie kopii za zakończone.

Oddziel kopię głównej bazy danych od pełnej kopii danych serwera

Zaplanowane zadania Plex mogą tworzyć kopie głównych baz danych zawierających informacje o stanie odtwarzania i dopasowaniach. Jest to przydatne podczas odzyskiwania bazy danych, ale Plex wyraźnie informuje, że nie zastępuje to tworzenia kopii zapasowej całego katalogu danych Plex Media Server. Traktuj te dwie kopie jako różne narzędzia odzyskiwania, zamiast zakładać, że jeden plik obejmuje wszystko.

Dokumentacja kopii zapasowych Plex zaleca tworzenie kopii głównego katalogu danych serwera i wskazuje, że na niektórych platformach można wykluczyć pamięć podręczną. Zdefiniuj zestaw danych objętych kopią w sposób przemyślany, aby tymczasowa pamięć podręczna nie powiększała archiwum, a najważniejsze dane bazy i metadane pozostały chronione.

Jeśli chcesz „przywrócić serwer dokładnie do poprzedniego stanu”, uwzględnij trwałe drzewo danych aplikacji oraz wszelkie ustawienia specyficzne dla platformy wymagane przez Plex. Jeśli chcesz tylko „odzyskać stan obejrzanych materiałów i główną bazę biblioteki”, zaplanowana kopia bazy danych może być mniejszym i bardziej ukierunkowanym rozwiązaniem awaryjnym.

Wstrzymaj Plex przed surowym kopiowaniem systemu plików

W przypadku prostej kopii na poziomie plików zatrzymaj kontener Plex i potwierdź jego zamknięcie przed skopiowaniem lub utworzeniem migawki trwałej ścieżki danych. Ogranicz przestój do minimum: zatrzymaj usługę, przechwyć spójny stan, uruchom ją ponownie, a następnie pozwól, aby wolniejsze kopiowanie poza serwerem było kontynuowane z migawki, jeśli system plików obsługuje taki przepływ pracy.

Dokumentacja interfejsu kopii zapasowych SQLite pokazuje, dlaczego kopiowanie działającej bazy danych jest problemem koordynacji, a nie tylko rozmiaru pliku. Kopia uwzględniająca aplikację lub wstrzymana migawka zapewnia określony stan bazy danych; ślepe kopiowanie zmieniających się plików bazy, WAL i metadanych daje mniejszą pewność co do punktu przywracania.

Nie zatrzymuj Plex na wiele godzin, gdy duża kopia zapasowa przeszukuje wolną pamięć masową, jeśli serwer NAS może utworzyć natychmiastową migawkę. Bezpieczniejszy schemat to krótkie wstrzymanie zapisu w celu zapewnienia spójności, a następnie utworzenie migawki lub archiwum, dzięki czemu usługa może wznowić pracę, podczas gdy kopia jest przenoszona w inne miejsce.

Stosuj różne zasady odzyskiwania dla dzienników, pamięci podręcznej i trwałych danych

Pamięć podręczna i szczegółowe dzienniki mogą zmieniać się bardzo szybko i zwykle nie wymagają takiego samego okresu przechowywania jak baza danych i metadane Plex. Rozdzielenie tych ścieżek zmniejsza rozmiar kopii i ułatwia określenie granicy przywracania. Zapobiega również temu, aby rozbudowane drzewo dzienników lub pamięci podręcznej zajmowało miejsce przeznaczone na dane aplikacji.

Przewodnik ZimaSpace dotyczący oddzielania dzienników kontenerów od danych aplikacji wyjaśnia, dlaczego stan aplikacji, dzienniki i pamięć podręczna mają różne cykle życia oraz wymagania dotyczące odzyskiwania. Plex również skorzysta z takiej polityki, nawet jeśli wszystkie trzy elementy początkowo znajdują się w jednej konfiguracji kontenera.

Jeśli zmienisz zakres kopii zapasowej, wykonaj test przywracania na kopii tymczasowej lub w odizolowanym kontenerze. Polityka kopii zapasowych nie jest zweryfikowana tylko dlatego, że przesyłanie zakończyło się powodzeniem. Jest zweryfikowana dopiero wtedy, gdy Plex może otworzyć odzyskaną bazę danych i metadane z oczekiwanym stanem serwera.

Zweryfikuj kopię, przywracając znany stan

Wybierz niewielki zestaw informacji, które możesz sprawdzić po przywróceniu: nazwę serwera, jedną bibliotekę, jeden obejrzany element, jeden częściowo obejrzany element oraz znane Ci ustawienie. Testowe przywracanie powinno odzyskać te informacje bez konieczności tworzenia przez Plex nowego serwera lub ponownego skanowania biblioteki na podstawie plików multimedialnych.

Plex opisuje procedurę przywracania bazy danych, która rozpoczyna się od zatrzymania serwera i zastąpienia aktywnej bazy danych kopią zapasową. Nawet jeśli stosujesz inną metodę pełnej kopii, zasada zatrzymania serwera przed zastąpieniem bazy danych jest przydatną regułą odzyskiwania.

Jeśli test przywracania się nie powiedzie, popraw metodę tworzenia kopii, zanim zwiększysz okres przechowywania lub zautomatyzujesz kolejne kopie. Po naprawę bazy danych sięgaj dopiero wtedy, gdy nie można przywrócić sprawdzonej kopii. Nie nadpisuj ostatniej możliwej do odzyskania kopii podczas eksperymentów z uszkodzoną działającą bazą danych.

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.