Komplett Jellyfin-topologi för hemmaserver för beräkning, lagring och säkerhetskopiering

Eva Wong är Teknisk skribent och den boende fixaren på ZimaSpace. En livslång nörd med en passion för hemma-labb och öppen källkod, hon specialiserar sig på att översätta komplexa tekniska koncept till tillgängliga, praktiska guider. Eva tror att självhosting ska vara roligt, inte skrämmande. Genom sina handledningar ger hon gemenskapen verktyg att avmystifiera hårdvaruinstallationer, från att bygga sin första NAS till att bemästra Docker-containrar.

En komplett Jellyfin-topologi separerar beräkningskraft, aktiva programdata, bulklagring för media och säkerhetskopiering, samtidigt som uppspelningsvägen hålls så kort och testbar som möjligt.

Topologin kan rymmas i ett chassi eller flera maskiner; den viktiga skillnaden gäller rollerna, inte antalet lådor. Beräkningsnoden betjänar klienter och kan omkoda, applagringen innehåller Jellyfins fördröjningskänsliga tillstånd, medialagringen tillhandahåller stora filer och säkerhetskopian skyddar det som måste överleva ett fel. Dela bara upp rollerna när den gemensamma designen skapar en uppmätt konflikt, eftersom varje extra värd och nätverkshopp lägger till ytterligare ett beroende.

Definiera de fyra datarollerna innan du väljer var de ska finnas

Klassificera data i fyra roller: källmedia, Jellyfins beständiga tillstånd, återskapningsbara arbetsdata och säkerhetskopior. Källmedia kräver mycket kapacitet; beständigt tillstånd omfattar databasen samt användar- och serverkonfiguration; arbetsdata omfattar cache och omkodningsutdata; säkerhetskopior finns endast för att återställa en annan roll.

Den här klassificeringen förhindrar ett vanligt topologifel: att behandla ”lagring” som en enda odifferentierad pool. En hårddiskarray med hög kapacitet kan vara utmärkt för videofiler men olämplig för en aktiv metadatabas, medan en snabb SSD är användbar för appdata men dyr och onödig för ett stort kallt bibliotek.

Guiden om placering av metadata från ZimaSpace använder samma rolluppdelning: behåll aktiva databaser och cache på snabb lagring, och avgör separat om portabla sidofiler eller omslagsbilder ska lagras tillsammans med median för att underlätta migrering.

Håll den primära uppspelningsvägen enkel

Den kritiska vägen är klient → nätverk → Jellyfin-beräkning → mediekälla. Om beräkningskraft och media finns på samma maskin är mediepassagen lokal. Om de är separerade måste beräkningsnoden läsa varje byte som skickas eller omkodas över nätverket innan resultatet skickas till klienten.

För en uppdelad beräknings- och lagringsdesign ska länken mellan noderna dimensioneras efter den sammanlagda källtrafiken, inte bara den slutliga klientbithastigheten. En omkodning kan läsa en källa med hög bithastighet från lagringen samtidigt som en utdata med lägre bithastighet skickas till klienten, så lagringslänken och klientlänken har olika uppgifter.

Håll administration, experiment och valfria tjänster borta från uppspelningsvägen när de skapar konkurrens om resurser. Ett andra VLAN, ett separat containernätverk eller helt enkelt schemalagda säkerhetskopieringsfönster kan räcka; att lägga till ett helt andra fysiskt nätverk är motiverat först när den gemensamma vägen faktiskt försämrar tjänsten.

Placera beräkningskraften där mediemotorer och tjänsteisolering är enklast att validera

Beräkningskraften bör väljas utifrån det uppspelningsarbete som faktiskt utförs. Direktuppspelning kräver liten videoberäkningskraft, medan inkompatibla klienter, inbränning av undertexter, HDR-konvertering eller begränsningar av fjärrbithastighet kan göra omkodning till den dominerande uppgiften.

Jellyfins guide för maskinvaruval rekommenderar modern maskinvaruacceleration för nya servrar, eftersom programvarubaserad videoomkodning kan vara extremt krävande. Den skiljer också mellan processorns uppgifter och grafikprocessorns mediemotoruppgifter, vilket är mer användbart än att enbart bedöma en server efter antalet processorkärnor.

Om Jellyfin delar värd med fotoindexering, säkerhetskopiering, hemautomation eller AI-arbetsbelastningar bör medietjänsten få tydliga gränser för processor, minne och enhetsåtkomst. En större allt-i-ett-nod som ZimaCube 2 kan implementera en konsoliderad topologi, men topologin behöver fortfarande separata roller för appdata, media och säkerhetskopiering i stället för att behandla ett enda chassi som en enda felzon.

-15% OFF
Single board computer zimaboard2

Använd SSD för Jellyfins aktiva tillstånd och kapacitetslagring för biblioteket

Placera Jellyfins databas, index, cache och annat ofta åtkomligt tillstånd på SSD eller liknande lagring med låg fördröjning. Lägg det stora videobiblioteket på hårddisk, en NAS-pool eller ett annat medium som klarar de sekventiella läsningar som krävs.

Jellyfin skiljer uttryckligen mellan dessa arbetsbelastningar: lagringsanvisningarna anger att mediefiler huvudsakligen behöver sekventiell genomströmning som överstiger deras bithastighet, medan Jellyfins egna filer utför omfattande slumpmässig åtkomst och därför bör placeras på SSD.

Om biblioteket är fjärranslutet ska det monteras förutsägbart och sökvägen som Jellyfin-tjänsten ser ska dokumenteras. Återställningen blir mycket enklare när sökvägarna till apptillstånd och media kan återställas oberoende av varandra, i stället för att vara inbäddade i en odokumenterad kedja av tillfälliga monteringar.

Gör säkerhetskopian till en annan destination, inte en annan mapp i samma felzon

En säkerhetskopia som lagras på samma SSD eller i samma diskpool som det aktiva Jellyfin-tillståndet skyddar inte mot ett fel på den lagringen. Säkerhetskopieringsdestinationen bör överleva det feltillstånd du försöker återhämta dig från, oavsett om det innebär en annan uppsättning diskar, en annan maskin eller en offlinekopia/kopia på annan plats.

Jellyfins dokumentation om säkerhetskopiering och återställning identifierar databas, metadata, undertexter och trickplay som separata klasser av säkerhetskopieringsinnehåll. Bestäm vilka som är kritiska, vilka som kan återskapas och hur mycket destinationskapacitet deras tillväxt kräver.

Säkerhetskopiering av media är ett separat policybeslut eftersom ett stort bibliotek kan vara mycket större än apptillståndet. Skydda oersättliga hemvideor mer aggressivt än ersättningsbart media, och räkna inte paritet eller RAID-redundans som den enda säkerhetskopian om radering, korruption eller användarfel ingår i hotbilden.

Validera återställningen först och dela sedan upp eller bygg ut topologin

Genomför tre tester innan du bygger ut: en representativ lokal ström, en representativ tvingad omkodning och en återställning av Jellyfins tillstånd till en ren plats eller reservinstans. Dessa tester belastar den primära uppspelningsvägen, den alternativa beräkningsvägen respektive återställningsvägen.

Dela upp beräkning och lagring först när den befintliga lösningen har ett konkret skäl att förändras – behov av ett separat kapacitetschassi, oberoende underhållsfönster, GPU-placering, begränsningar på grund av ljud eller värme eller ihållande I/O-konkurrens. En uppdelad design kan förbättra rollisoleringen, men den gör också nätverket och fjärrmonteringen till en del av varje uppspelning.

Sluta bygga ut när varje roll har en namngiven ägare, den kritiska vägen kan mätas, säkerhetskopian överlever det avsedda felet och nästa komponent varken skulle undanröja en känd flaskhals eller förbättra återställningen. Den gränsen håller en hemservertopologi tillräckligt begriplig för att kunna repareras under press.

NAS- och serverinstallation

Mer att läsa

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.