Kompletny schemat domowego serwera Jellyfin do obliczeń, przechowywania danych i tworzenia kopii zapasowych

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.

Kompletna topologia Jellyfin oddziela zasoby obliczeniowe, aktywne dane aplikacji, dużą bibliotekę multimediów i kopie zapasowe, jednocześnie utrzymując ścieżkę odtwarzania możliwie krótką i łatwą do przetestowania.

Topologia może działać w jednej obudowie lub na kilku maszynach; najważniejszy jest podział ról, a nie liczba urządzeń. Zasoby obliczeniowe obsługują klientów i mogą wykonywać transkodowanie, pamięć aplikacji przechowuje wrażliwy na opóźnienia stan Jellyfin, pamięć multimediów udostępnia duże pliki, a kopia zapasowa chroni dane, które muszą przetrwać awarię. Dziel role tylko wtedy, gdy wspólna konfiguracja powoduje zmierzony konflikt, ponieważ każdy dodatkowy host i przeskok sieciowy dodaje kolejną zależność.

Zdefiniuj cztery role danych, zanim zdecydujesz, gdzie je przechowywać

Podziel dane na cztery role: źródłowe multimedia, trwały stan Jellyfin, dane robocze możliwe do odtworzenia oraz kopie zapasowe. Źródłowe multimedia wymagają dużej pojemności; stan trwały obejmuje bazę danych oraz konfigurację użytkowników i serwera; dane robocze obejmują pamięć podręczną i dane wyjściowe transkodowania; kopie zapasowe służą wyłącznie do odzyskiwania pozostałych ról.

Ta klasyfikacja zapobiega częstemu błędowi w projektowaniu topologii: traktowaniu „pamięci masowej” jako jednej, niepodzielnej puli. Macierz dysków HDD o dużej pojemności może być świetna do przechowywania plików wideo, ale nie sprawdzi się jako miejsce dla intensywnie używanej bazy metadanych, podczas gdy szybki SSD jest przydatny dla danych aplikacji, lecz drogi i niepotrzebny w przypadku dużej, rzadko używanej biblioteki.

Przewodnik ZimaSpace dotyczący umiejscowienia metadanych wykorzystuje ten sam podział ról: aktywne bazy danych i pamięć podręczną należy przechowywać na szybkiej pamięci, a osobno zdecydować, czy przenośne pliki dodatkowe lub grafiki powinny znajdować się razem z multimediami, aby ułatwić migrację.

Utrzymuj podstawową ścieżkę odtwarzania w prostocie

Ścieżka krytyczna to klient → sieć → zasoby obliczeniowe Jellyfin → źródło multimediów. Jeśli zasoby obliczeniowe i multimedia znajdują się na tej samej maszynie, przesyłanie multimediów odbywa się lokalnie. Jeśli są rozdzielone, węzeł obliczeniowy musi odczytać każdy obsługiwany lub transkodowany bajt z pamięci masowej przez sieć, zanim wyśle wynik do klienta.

W przypadku rozdzielonej konfiguracji zasobów obliczeniowych i pamięci masowej przepustowość łącza między węzłami należy określać na podstawie łącznego ruchu źródłowego, a nie tylko końcowej przepływności klienta. Transkodowanie może odczytywać ze storage'u źródło o wysokiej przepływności, wysyłając do klienta wynik o niższej przepływności, dlatego łącze pamięci masowej i łącze klienta pełnią różne funkcje.

Nie dopuszczaj, aby zarządzanie, eksperymenty i opcjonalne usługi konkurowały ze ścieżką odtwarzania. Wystarczającym rozwiązaniem może być druga sieć VLAN, osobna sieć kontenerów lub po prostu zaplanowane okna tworzenia kopii zapasowych; dodanie całkowicie odrębnej sieci fizycznej jest uzasadnione tylko wtedy, gdy współdzielona ścieżka rzeczywiście pogarsza działanie usługi.

Umieść zasoby obliczeniowe tam, gdzie najłatwiej zweryfikować silniki multimedialne i izolację usług

Zasoby obliczeniowe należy dobierać do rzeczywistego obciążenia odtwarzania. Odtwarzanie bezpośrednie wymaga niewielkiej mocy obliczeniowej do wideo, natomiast niekompatybilni klienci, wypalanie napisów, konwersja HDR lub limity zdalnej przepływności mogą sprawić, że transkodowanie stanie się głównym zadaniem.

Przewodnik Jellyfin dotyczący doboru sprzętu zaleca nowoczesne przyspieszanie sprzętowe w nowych serwerach, ponieważ programowe transkodowanie wideo może być niezwykle wymagające. Rozdziela także zadania procesora od zadań silników multimedialnych GPU, co jest bardziej użyteczne niż ocenianie serwera wyłącznie na podstawie liczby rdzeni CPU.

Jeśli Jellyfin współdzieli hosta z indeksowaniem zdjęć, kopiami zapasowymi, automatyką domową lub zadaniami AI, zapewnij usłudze multimedialnej wyraźne granice zasobów procesora, pamięci i dostępu do urządzeń. Większy, zintegrowany węzeł, taki jak ZimaCube 2, może realizować skonsolidowaną topologię, ale nadal wymaga ona oddzielnych ról dla danych aplikacji, multimediów i kopii zapasowych, zamiast traktowania jednej obudowy jako jednej domeny awarii.

-15% OFF

Używaj SSD do aktywnego stanu Jellyfin, a pamięci o dużej pojemności do biblioteki

Umieść bazę danych Jellyfin, indeksy, pamięć podręczną i inne często używane dane stanu na SSD lub podobnej pamięci o niskich opóźnieniach. Dużą bibliotekę wideo przechowuj na HDD, puli NAS lub innym nośniku zapewniającym wymaganą przepustowość odczytu sekwencyjnego.

Jellyfin wyraźnie rozróżnia te obciążenia: wskazówki dotyczące pamięci masowej wskazują, że pliki multimedialne wymagają głównie przepustowości sekwencyjnej większej od ich przepływności, podczas gdy własne pliki Jellyfin wykonują dużo operacji losowego dostępu i lepiej umieścić je na SSD.

Jeśli biblioteka jest zdalna, zamontuj ją w przewidywalny sposób i udokumentuj ścieżkę widoczną dla usługi Jellyfin. Odzyskiwanie jest znacznie łatwiejsze, gdy ścieżki stanu aplikacji i ścieżki multimediów można przywracać niezależnie, zamiast osadzać je w nieudokumentowanym łańcuchu tymczasowych montowań.

Twórz kopię zapasową w innej lokalizacji, a nie w kolejnym folderze tej samej domeny awarii

Kopia zapasowa przechowywana na tym samym SSD lub w tej samej puli dysków co aktywny stan Jellyfin nie chroni przed awarią tej pamięci masowej. Miejsce docelowe kopii zapasowej powinno przetrwać rodzaj awarii, przed którym próbujesz się zabezpieczyć — może to oznaczać inny zestaw dysków, inną maszynę albo kopię offline lub zewnętrzną.

Dokumentacja Jellyfin dotycząca tworzenia kopii zapasowych i przywracania wyróżnia bazę danych, metadane, napisy i trickplay jako osobne klasy danych objętych kopią zapasową. Zdecyduj, które z nich są krytyczne, które można odtworzyć oraz ile miejsca docelowego będzie wymagał ich przyrost.

Kopia zapasowa multimediów to osobna decyzja, ponieważ duża biblioteka może wielokrotnie przewyższać rozmiarem stan aplikacji. Chroń niepowtarzalne nagrania domowe bardziej rygorystycznie niż multimedia, które można ponownie pozyskać, i nie uznawaj parzystości ani nadmiarowości RAID za jedyną kopię zapasową, jeśli uwzględniasz usunięcie, uszkodzenie danych lub błąd operatora.

Najpierw zweryfikuj odzyskiwanie, a dopiero potem dziel lub rozbudowuj topologię

Przed rozbudową przeprowadź trzy testy: reprezentatywne odtwarzanie lokalne, wymuszone transkodowanie oraz przywrócenie stanu Jellyfin do czystej lokalizacji lub zapasowej instancji. Testy te sprawdzają odpowiednio podstawową ścieżkę odtwarzania, ścieżkę wyjątków związanych z zasobami obliczeniowymi oraz ścieżkę odzyskiwania.

Rozdziel zasoby obliczeniowe od pamięci masowej tylko wtedy, gdy istnieje ku temu konkretny powód — potrzeba zastosowania obudowy na dodatkowe dyski, niezależne okna konserwacji, umiejscowienie GPU, ograniczenia dotyczące hałasu lub temperatury bądź trwała rywalizacja o operacje wejścia-wyjścia. Rozdzielona konfiguracja może poprawić izolację ról, ale sprawia też, że sieć i zdalne montowanie stają się częścią każdego odtwarzania.

Zakończ rozbudowę, gdy każda rola ma wyznaczonego właściciela, ścieżka krytyczna jest mierzalna, kopia zapasowa przetrwa zakładaną awarię, a kolejny komponent nie usunie znanego wąskiego gardła ani nie poprawi odzyskiwania. Taka granica sprawia, że topologia domowego serwera pozostaje na tyle zrozumiała, aby można ją było naprawić w sytuacji presji.

Konfiguracja NAS i serwera

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.