Waarom verliest Plex de toegang tot persistente gegevens na het opnieuw aanmaken van de stack?

Eva Wong is de Technisch Schrijver en en vaste knutselaar bij ZimaSpace. Een levenslange geek met een passie voor homelabs en open-source software, zij is gespecialiseerd in het vertalen van complexe technische concepten naar toegankelijke, praktische handleidingen. Eva gelooft dat zelf-hosting leuk moet zijn, niet intimiderend. Met haar tutorials stelt ze de community in staat om hardware-setup te ontrafelen, van het bouwen van hun eerste NAS tot het beheersen van Docker-containers.

Beschouw een nieuwe Plex-instantie na het opnieuw aanmaken van de stack als een mount- of rechtenprobleem totdat je hebt bewezen dat de oude persistente gegevens daadwerkelijk verdwenen zijn.

Het opnieuw aanmaken van een Docker- of Compose-stack vervangt containers en kan ook wijzigen welk hostpad, benoemd volume, welke gebruikersidentiteit of opslagpool achter `/config` zit. Plex opent dan een lege of onleesbare map en lijkt nieuw geïnstalleerd, terwijl de oorspronkelijke database mogelijk nog steeds bestaat. Stop de nieuwe instantie, zoek de oude appdata, vergelijk de effectieve mounts en numerieke eigenaars en herstel alleen vanuit een back-up als die staat echt ontbreekt.

Stop wanneer Plex eruitziet als een nieuwe server

Een installatiewizard voor een nieuwe server na het opnieuw aanmaken van de stack is een waarschuwing voor een persistentieprobleem, geen uitnodiging om de bibliotheek opnieuw op te bouwen. Stop de container en controleer de gegevenskoppeling voordat Plex meer gegevens wegschrijft. De meest voorkomende fout is dat de nieuwe container een lege hostmap leest in plaats van de vorige map met applicatiegegevens.

Een opnieuw aangemaakte container kan een nieuwe installatie tonen wanneer de verwachte persistente config-koppeling niet langer naar de oorspronkelijke appdata verwijst. De eerste onderscheidende controle is of de oude toestand nog op de host bestaat.

Zoek de vorige Plex-gegevensmap en controleer de wijzigingstijden, databasebestanden en metadatamappen. Als die aanwezig zijn, verwijder ze dan niet en initialiseer geen nieuwe server. Je hersteldoel is het mountpad en de rechten, niet de mediabibliotheek.

Vergelijk de oude en nieuwe /config-koppeling exact

Het opnieuw aanmaken van de stack kan een relatieve bind mount, benoemd volume, omgevingsvariabele, opslagpool of werkmap van Compose wijzigen zonder het zichtbare containerpad te veranderen. Plex ziet mogelijk nog steeds `/config`, maar dat pad kan nu naar een andere locatie op de host verwijzen.

Een Plex-container werkt het veiligst wanneer de configuratie buiten de container staat. Vergelijk de effectieve mounts uit het oude implementatierecord of de back-up met de opnieuw aangemaakte stack, in plaats van te vertrouwen op een visueel vergelijkbaar Compose-bestand.

Mount de bekende oude appdata alleen-lezen in een tijdelijke diagnostische container of controleer deze rechtstreeks op de host. Als de verwachte database en voorkeuren daar staan, corrigeer dan de productiekoppeling en start Plex één keer opnieuw. Als de map daadwerkelijk ontbreekt, ga dan over op herstel vanuit een back-up.

Controleer het eigenaarschap voordat je de database verdenkt

Een correct hostpad kan nog steeds onbruikbaar zijn als de opnieuw aangemaakte container onder een andere UID, GID, gebruikersnaamruimte of beveiligingscontext draait. Plex lijkt dan voorkeuren niet te kunnen opslaan, databasebestanden niet te kunnen openen of mappen niet te kunnen aanmaken, ook al zijn de gegevens op de juiste plaats gemount.

Wanneer Plex geen appdata kan aanmaken of bijwerken, moeten rechten van de configuratiemap numeriek worden gecontroleerd in plaats van ze blind recursief op `777` te zetten.

Voer een identiteitscontrole uit in de container en vergelijk die met de numerieke eigenaar en modus op de host. Pas de kleinst mogelijke wijziging in eigenaarschap of ACL toe die het bedoelde serviceaccount toegang geeft. Start Plex daarna en controleer of de bestaande server wordt geopend in plaats van een nieuwe installatie.

Als het numerieke eigenaarschap overeenkomt maar toegang nog steeds mislukt, controleer dan ACL's, beveiligingslabels van de container en het gedrag van de gebruikersnaamruimte voordat je de database wijzigt. Een correcte UID/GID heft een afzonderlijke toegangscontrolelaag niet op.

-15% OFF
Single board computer zimaboard2

Controleer mediamounts pas nadat de applicatiestatus is hersteld

Nadat de identiteit en bibliotheken van de oude server terug zijn, kunnen sommige bibliotheken nog steeds onbeschikbaar lijken omdat mediamounts onafhankelijk van `/config` zijn gewijzigd. Dat is een afzonderlijke persistentierol. Herstel het mediapad zonder de bibliotheek opnieuw aan te maken of media naar de map met applicatiegegevens te kopiëren.

Houd applicatiestatus en mediamounts als afzonderlijke persistentierollen. Dankzij die scheiding kun je eerst de Plex-identiteit herstellen en ontbrekende mediapaden pas onderzoeken nadat de oorspronkelijke bibliotheken terug zijn.

Open vanuit de Plex-container verschillende bekende mediapaden. Als de oude database naar `/media/movies` verwijst maar de opnieuw aangemaakte stack `/movies` beschikbaar stelt, herstel dan het verwachte interne pad of plan een gecontroleerde migratie van het bibliotheekpad. Start geen nieuwe scan voordat de mount stabiel is.

Herstel alleen vanuit een back-up wanneer de oorspronkelijke toestand echt verdwenen is

Als de oude map op de host leeg, verwijderd of onherstelbaar beschadigd is, herstel dan de meest recente bekende goede Plex-appdata-back-up naar een schone, correct gekoppelde locatie. Bewaar de mislukte toestand afzonderlijk, zodat je nog kunt onderzoeken wat er is gebeurd in plaats van het enige bewijsmateriaal te overschrijven.

Een betrouwbare workflow voor containerherstel beschermt persistente `/config`, vervangt alleen de wegwerpbare applicatielaag en controleert de mounts voordat Plex weer mag schrijven.

Controleer na het herstel de serveridentiteit, het aantal bibliotheken, de kijkstatus, lokale weergave, transcoding indien gebruikt en één herstart. Leg daarna de effectieve stackconfiguratie en back-uplocatie vast. Het incident is pas afgesloten wanneer een volgende keer opnieuw aanmaken naar dezelfde persistente gegevens verwijst zonder handmatig giswerk.

Ondersteuning & Tips

Meer om te lezen

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.