Jellyfin repareren nadat het databasevolume vol is geraakt

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.

Nadat het databasevolume van Jellyfin vol raakt, stop je nieuwe schrijfbewerkingen, behoud je de database- en WAL-bestanden, maak je veilig ruimte vrij en valideer je de database voordat je normale taken opnieuw start.

Start Jellyfin niet meer, meldt het SQLite-fouten of worden gebruikers niet weergegeven nadat het volume geen vrije ruimte meer had? Verwijder dan niet meteen databasebestanden en voer geen opruimtaken uit. Noteer eerst het volume, het aantal vrije bytes, de namen van de databasebestanden, de status van de container en de laatst bekende goede back-up.

Voorkom dat de storing uitgroeit tot een schrijfpiek

Stop Jellyfin en alle importeurs, scanners of sidecars die naar hetzelfde volume schrijven. Controleer welk mountpunt vol is, inclusief de inodecapaciteit, en behoud de hoofddatabase plus eventuele bijbehorende `-wal`- of `-shm`-bestanden. Een volle schijf kan configuratiebestanden leeg of gedeeltelijk geschreven achterlaten; een incident dat aan een specifieke versie is gekoppeld, laat zien dat alleen ruimte vrijmaken het opstarten mogelijk niet herstelt (herstel bij een vol volume).

Maak pas ruimte vrij uit wegwerpbare logbestanden, voltooide transcodeerbestanden of bekende opnieuw op te bouwen cache nadat je de permanente status hebt gekopieerd. Verwijder de database nooit als eerste stap.

Noteer vóór het opruimen de grootte van de database, de WAL-bestanden, logs, cache en de resterende vrije ruimte. Zo kun je vaststellen of het volume vol raakte door groei van de database, transcodeeruitvoer, logs of een andere container.

Controleer de database-integriteit voordat je reparatie probeert

Werk met een kopie van de database terwijl Jellyfin gestopt blijft. Voer een integriteitscontrole uit met de SQLite-tools die in je omgeving beschikbaar zijn en controleer de logs op meldingen als “disk full”, “malformed image” of fouten waarbij het bestand niet kan worden geopend. Als de controle slaagt, maak je vrije ruimte vrij, start je één keer opnieuw op en controleer je gebruikers, bibliotheken en afspelen.

Als de database ongeldig is, herstel je eerst de laatst bekende goede back-up. Een gecontroleerde herstelprocedure kan SQLite-hersteltools op een kopie gebruiken, maar dit vervangt geen gevalideerde back-up en mag niet op een actieve database worden uitgevoerd (herstelprocedure op basis van een kopie).

Controleer nadat je alleen opnieuw op te bouwen gegevens hebt verwijderd of de databasebestanden bij elkaar zijn gebleven en leesbaar zijn. Een herstart vóór deze controle kan een onvolledig schrijfproces veranderen in een tweede storing.

Voorkom dat het volume opnieuw hetzelfde kritieke punt bereikt

Verplaats cache- en transcodeeruitvoer naar een bewaakt pad, stel waarschuwingen in boven de minimale drempel voor vrije ruimte en controleer de logretentie en scanschema’s. Houd de applicatiestatus gescheiden van bulkmedia, zodat een groeiende bibliotheek het databasevolume niet kan vullen.

Start twee keer opnieuw op, voer de oorspronkelijke scan of afspeelsessie uit en controleer of de volgende back-up voltooid wordt. Schakel hulp in wanneer integriteitscontroles mislukken, de database niet kan worden hersteld of het volume opnieuw vol raakt zonder zichtbare schrijver.

Als de integriteitscontrole slaagt, start je één keer opnieuw op en voer je de oorspronkelijke gebruikers- en bibliotheekbelasting uit. Als de controle mislukt, werk je vanuit een kopie of herstel je een back-up in plaats van de beschadigde database herhaaldelijk te openen.

Toon aan dat het herstel geslaagd is en voorkom opnieuw een vol volume

Voer na de reparatie een koude herstart, één scan, één afspeelsessie en een back-up uit. Controleer of het databasevolume tijdens de actieve belasting een bewaakte marge aan vrije ruimte behoudt.

Behoud de reparatie wanneer gebruikers, bibliotheken, geplande taken en afspelen allemaal terugkeren. Voeg waarschuwingen toe voor schijfruimte en inodes en verplaats cache of logs naar een locatie die het databasevolume niet kan vullen.

Schakel hulp in wanneer het volume opnieuw vol raakt zonder zichtbare schrijver, integriteitscontroles mislukken of de herstelde database gebruikers of status verliest.

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.