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

Jellyfin-databaseverbindingen optimaliseren voor gelijktijdige containers
Begin met één database-eigenaar en meet het vergrendelingsgedrag van SQLite; voeg pas een andere backend toe wanneer gelijktijdigheid en herstel die complexiteit rechtvaardigen.

Dubbele taken of imports in Jellyfin voorkomen
Dubbel werk ontstaat meestal door overlappende planners of meer dan één schrijver; wijs één verantwoordelijke, één pad en één voltooiingscontrole aan.

Waarom maakt Jellyfin ontbrekende bestanden opnieuw aan met de verkeerde eigenaar?
Verkeerd eigenaarschap ontstaat meestal door een identiteitsverschil of een ander importpad; controleer de actieve containergebruiker voordat je de machtigingen wijzigt.

