Konfiguracja Jellyfin z dwoma rodzajami pamięci masowej: metadane na dysku SSD i dane na dysku HDD

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.

Dobry układ Jellyfin z dwoma poziomami pamięci masowej umieszcza wrażliwy na opóźnienia stan aplikacji i aktywne metadane na dysku SSD, a duże pliki multimedialne przechowuje na pojemnym dysku HDD.

Nie chodzi o to, że każdy plik Jellyfin wymaga najszybszego nośnika. Bazy danych, indeksy grafik, miniatury i pamięć podręczna wykonują wiele małych operacji wyszukiwania; filmy i muzyka są głównie dużymi odczytami sekwencyjnymi; przestrzeń robocza transkodowania jest tymczasowa i może być intensywnie obciążona zapisem. Przypisz każdej funkcji poziom pamięci masowej, którego opóźnienia, pojemność, wytrzymałość, możliwości tworzenia kopii zapasowych i odzyskiwania odpowiadają danemu sposobowi pracy, a następnie przetestuj cały układ podczas skanowania i odtwarzania.

Przypisz dyskom SSD i HDD różne zadania

Użyj dysku SSD na system operacyjny lub dane aplikacji kontenerów, bazę danych Jellyfin, konfigurację, aktywne metadane, indeksy i pamięć podręczną. Duże pliki filmów, odcinków, muzyki i nagrań domowych przechowuj w puli dysków HDD. Przestrzeń transkodowania potraktuj jako osobną decyzję: może znajdować się na SSD, jeśli dostępna przestrzeń i wytrzymałość są wystarczające, albo na innej szybkiej przestrzeni roboczej, gdy równoczesne transkodowanie powoduje znaczące obciążenie zapisem.

Praktyczny poradnik dotyczący obciążenia dysków SSD w domowym laboratorium wskazuje na ten sam podział ról: bazy danych i aktywne aplikacje korzystają z niskich opóźnień pamięci flash, natomiast warstwy pojemnościowe nie potrzebują wydajności klasy NVMe tylko dlatego, że istnieją szybsze nośniki.

Nie dziel danych wyłącznie na podstawie nazw folderów. Niektóre „metadane” są nadrzędne lub ręcznie opracowane i wymagają kopii zapasowej, podczas gdy pamięć podręczna obrazów można wygenerować ponownie. Konfiguracja staje się możliwa do odzyskania, gdy wiesz, które dane na SSD muszą powrócić po awarii, a które można odbudować na podstawie multimediów.

Umieść stan aplikacji wymagający losowego dostępu na SSD

Przeglądanie Jellyfin, wyszukiwanie, aktualizacje stanu użytkowników, wyszukiwanie grafik, transakcje bazodanowe i wiele operacji bibliotecznych jest bardziej wrażliwe na opóźnienia niż sekwencyjny odczyt filmu. Przeniesienie roboczego zbioru danych aplikacji z HDD na SSD eliminuje koszt mechanicznego wyszukiwania i ogranicza wzajemne zakłócanie małych operacji wejścia-wyjścia metadanych oraz dużych odczytów multimediów.

Aktualny poradnik dotyczący wydajności Jellyfin wskazuje wolną pamięć masową metadanych jako bezpośrednią przyczynę opóźnionego przeglądania biblioteki, ponieważ dane aplikacji wykonują wiele małych odczytów. Analiza Jellyfin na dyskach SSD i HDD firmy ZimaSpace wskazuje na ten sam podział ról: opóźnienia stanu aplikacji przemawiają za SSD, podczas gdy duże pliki multimedialne mogą pozostać na HDD.

Dobieraj rozmiar SSD na podstawie rzeczywistego przyrostu danych aplikacji z zapasem, a nie pojemności multimediów. Zostaw wolne miejsce na rozrost bazy danych, metadane, funkcję trickplay lub grafiki, jeśli są włączone, lokalne kopie zapasowe tworzone przed eksportem oraz największe tymczasowe obciążenie, które zamierzasz tam umieścić. Mały, całkowicie zapełniony SSD jest gorszy niż większy, umiarkowanie wykorzystany dysk ze stabilnym zapasem wolnego miejsca.

Pozostaw duże zbiory multimediów na HDD, chyba że inne wymagania zmienią tę decyzję

HDD nadal jest rozsądną warstwą dla multimediów, ponieważ strumień filmu jest zwykle ciągłym odczytem sekwencyjnym, a jego przepływność jest znacznie niższa niż przepustowość sprawnego, nowoczesnego dysku. Stosunek pojemności do ceny, liczba zatok, redundancja i kopie zapasowe często mają większe znaczenie, zanim szybkość interfejsu SSD zacznie mieć znaczenie dla samego pliku multimedialnego.

Niedawny opis konfiguracji operatora serwera NAS Jellyfin przedstawia układ z kontenerami na SSD i multimediami na HDD, w którym przeglądanie odbywa się szybko z SSD, ale odtwarzanie wymaga oczekiwania od 15 do 20 sekund, gdy uśpione dyski twarde muszą się wybudzić. Pokazuje to rzeczywisty kompromis: nie chodzi o przepustowość ciągłą, lecz o opóźnienie pierwszego odczytu i działanie mechanizmów zarządzania energią.

Jeśli natychmiastowy start jest ważniejszy niż oszczędność wynikająca z usypiania dysków, utrzymuj dyski z multimediami aktywne w typowych godzinach oglądania lub dostosuj ich politykę zasilania. Jeśli ważniejsza jest cicha i energooszczędna praca, zaakceptuj opóźnienie wybudzania przy pierwszym odtworzeniu. Przenoszenie wszystkich multimediów na SSD tylko po to, aby uniknąć jednej pauzy związanej z rozruchem dysku, jest zwykle decyzją dotyczącą kosztu pojemności, a nie wymogiem Jellyfin.

Chroń SSD jako małą, ale kluczową jednostkę odzyskiwania

SSD może zawierać znacznie mniej danych niż pula HDD, a mimo to przechowywać stan, który sprawia, że serwer zachowuje się jak ta sama instancja Jellyfin. Awaria SSD z danymi aplikacji może usunąć użytkowników, historię oglądania, konfigurację, playlisty i opracowane metadane, nawet gdy wszystkie filmy pozostaną nienaruszone. Często twórz kopie zapasowe tej niewielkiej jednostki odzyskiwania i przechowuj je poza domeną awarii SSD.

Układ dwuwarstwowy działa najlepiej, gdy stan aplikacji znajdujący się na SSD ma własną, przetestowaną ścieżkę przywracania. Procedura testowania przywracania podkreśla, że należy sprawdzać aplikację na odizolowanym celu, zamiast uznawać skopiowane pliki za dowód. Zachowuj specyficzny dla serwera stan w wersjonowanych kopiach zapasowych SSD, a wybrane pliki towarzyszące multimediów przechowuj tylko wtedy, gdy ułatwiają migrację lub odbudowę.

Nie twórz kopii lustrzanej SSD wyłącznie po to, aby uniknąć kopii zapasowych. Redundancja może ograniczyć przestój po awarii jednego urządzenia, ale nie pozwoli odzyskać danych po nieudanej aktualizacji, przypadkowym usunięciu, uszkodzeniu bazy danych ani utracie hosta. Zachowuj wersjonowane punkty odzyskiwania i przetestuj jedno przywrócenie do odizolowanej instancji Jellyfin.

Nie pozwól, aby zadania o mieszanym obciążeniu wejścia-wyjścia zniweczyły podział pamięci

Układ jest najbardziej użyteczny, gdy operacje wejścia-wyjścia stanu aplikacji pozostają na SSD, a duże transfery multimediów odbywają się na HDD. Kopie zapasowe, pobieranie, rozpakowywanie, analiza multimediów lub zapisy transkodowania mogą zniweczyć ten podział, jeśli wszystkie jednocześnie korzystają z jednego urządzenia. Zdecyduj, gdzie każde regularne zadanie zapisuje dane, a w razie potrzeby planuj intensywne operacje poza godzinami największej aktywności widzów.

Domowe laboratorium z dwoma rodzajami pamięci masowej powinno być testowane przy takim samym rodzaju mieszanego obciążenia losowego wejścia-wyjścia, przy którym widoczne stają się kolejki operacji pamięci masowej. Dokładne wyniki testów porównawczych nie odnoszą się bezpośrednio do Jellyfin, ale mechanizm już tak: równoczesne małe operacje bazy danych reagują na opóźnienia zupełnie inaczej niż długi sekwencyjny odczyt multimediów.

Zmierz ładowanie panelu, wyszukiwanie, rozpoczęcie odtwarzania, czas skanowania, kolejki HDD i opóźnienia SSD podczas jednego typowego okresu nakładania się obciążeń. Jeśli przeglądanie pozostaje szybkie, a odtwarzanie czeka wyłącznie na wybudzenie dysków, układ działa zgodnie z założeniami. Jeśli oba poziomy zwalniają podczas tworzenia kopii zapasowej lub importu, usuń wąskie gardło współdzielonego kontrolera, sieci lub harmonogramu, zanim kupisz szybszą pamięć flash.

Rozbuduj ten poziom, który rzeczywiście osiąga swoją granicę

Zwiększ pojemność SSD, gdy stan aplikacji Jellyfin, metadane lub przestrzeń robocza zbliżają się do ustalonego progu wolnego miejsca albo gdy inna współhostowana baza danych potrzebuje tego samego niskoopóźnieniowego poziomu. Zwiększ pojemność HDD, gdy przechowywana kolekcja multimediów osiąga limit puli. Rozbuduj sieć dopiero wtedy, gdy odseparowana ścieżka multimediów stanie się zmierzonym wąskim gardłem.

Niedawny poradnik dotyczący warstw pamięci masowej serwera multimediów wskazuje na ten sam podział obciążeń: pojemność SSD powinna służyć wrażliwym na opóźnienia danym serwera, a pojemność HDD — dużym bibliotekom multimediów. Rozbuduj ten poziom, którego zmierzona granica pojemności lub opóźnienia jest rzeczywiście osiągana.

Zakończ rozbudowę, gdy SSD przechowuje aktywny roboczy zbiór danych aplikacji z zapasem na odzyskiwanie, pula HDD zapewnia normalną obsługę multimediów, kopie zapasowe odpowiednio obejmują obie role, a najgorsze typowe nakładanie się obciążeń mieści się w założonych limitach opóźnień. Konfiguracja z dwoma poziomami pamięci masowej jest udana, gdy każdy poziom ma jedno jasno określone zadanie — nie wtedy, gdy do każdego dostępnego złącza podłączono dysk.

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.