Een repository kan na een onderbroken prune-actie alleen-lezen worden wanneer een exclusieve vergrendeling, opslagfout, onveranderlijke backend of onvoltooide onderhoudsstatus wijzigingen blokkeert.
‘Alleen-lezen’ kan de veiligheidsreactie van de back-upclient zijn en hoeft niet te betekenen dat de opslaglocatie daadwerkelijk als alleen-lezen is aangekoppeld. Een geannuleerde prune-actie kan een exclusieve vergrendeling, onafgeronde werkzaamheden aan packs of indexen, onvoldoende werkruimte voor het opruimen of backendbewerkingen achterlaten die lezen toestaan maar verwijderen weigeren. Daarnaast kan het besturingssysteem het bestandssysteem van de repository na I/O- of consistentiefouten opnieuw als alleen-lezen aankoppelen. Bepaal welke laag de eerste schrijfbewerking weigert voordat je vergrendelingen verwijdert of prune opnieuw uitvoert.
Leg de eerste bewerking vast die alleen-lezen meldt
Voer een opdracht uit om de repository te vermelden, daarna één niet-destructieve controle, en sla de eerste foutmelding van de client-, backend- en besturingssysteemlogboeken op.
De documentatie van Restic legt uit dat prune repositorygegevens herschrijft en exclusieve toegang nodig heeft omdat niet-gerefereerde inhoud wordt verwijderd en gedeeltelijk gevulde bestanden opnieuw kunnen worden verpakt.
Als het vermelden werkt, maar elke bewerking die een vergrendeling aanmaakt of metagegevens schrijft mislukt, maak dan onderscheid tussen een verouderde vergrendeling, schrijfrechten voor de backend en objectretentie.
Controleer of de onderbroken prune-actie een exclusieve vergrendeling heeft achtergelaten
Vermeld de repositoryvergrendelingen via de back-uptool en identificeer de host, het proces, het aanmaaktijdstip en de opdracht die elke vergrendeling beheert.
Borg documenteert dat opdrachten die de repository wijzigen repositoryvergrendelingen gebruiken om gelijktijdige schrijfbewerkingen te voorkomen en waarschuwt dat het verbreken van een actieve vergrendeling de repositorystatus kan beschadigen.
Verwijder een verouderde vergrendeling uitsluitend via de ondersteunde opdracht en pas nadat je hebt aangetoond dat de eigenaar niet meer actief is.
Bepaal of het bestandssysteem opnieuw als alleen-lezen is aangekoppeld
Controleer de aankoppeltabel, kernellog, bestandssysteemstatus, status van de opslagpool en recente USB-, SATA-, netwerk- of controllerfouten.
De Linux-documentatie voor ext4 vermeldt errors=remount-ro als veiligheidsbeleid, waaruit blijkt hoe een opslagfout de repository daadwerkelijk alleen-lezen kan maken.
Forceer geen aankoppeling als lezen-schrijven terwijl hardware- of bestandssysteemfouten blijven optreden. Bewaar de logboeken en herstel eerst de opslag.
Controleer de gedeeltelijke status van prune, compact of een index
Bepaal welke fase werd onderbroken: het selecteren van verlopen snapshots, het verwijderen van verwijzingen, het opnieuw verpakken van gegevens, het opnieuw opbouwen van een index of het vastleggen van metagegevens.
De Borg-referentie voor prune vermeldt dat prune en compact afzonderlijke stappen zijn, waardoor archieven geldig kunnen blijven terwijl het vrijmaken van ruimte nog niet is voltooid.
Gebruik de controleopdracht van de repository voordat je opnieuw een destructieve bewerking uitvoert. Verwijder packs, indexen of segmenten nooit handmatig.
Controleer objectvergrendeling, onveranderlijkheid en backendreferenties
Controleer voor cloudrepository’s de objectretentie, juridische blokkering, bucketpolicy, versiebeheer, verwijderrechten en het vernieuwen van referenties.
AWS stelt dat S3 Object Lock verwijderen of overschrijven voorkomt tijdens een beschermde retentieperiode, waardoor lezen mogelijk blijft terwijl prune mislukt.
Verzwak onveranderlijke retentie niet alleen om prune te laten slagen. Gebruik een repositoryontwerp dat door de back-uptool wordt ondersteund.
Controleer vrije ruimte, inodes en werkruimte voor prune
Controleer het aantal bytes en inodes op het bestandssysteem, quota’s, reserves voor snapshots, tijdelijke mappen, limieten van objectopslag en ruimte in de lokale cache.
GNU Coreutils legt uit dat df blokken en inodegebruik kan rapporteren, zodat je een vol bestandssysteem kunt onderscheiden van een vergrendelings- of rechtenprobleem op repositoryniveau.
Als het bestandssysteem vol is, voeg dan tijdelijk capaciteit toe of verwijder niet-gerelateerde, gecontroleerde gegevens in plaats van repositoryobjecten te verwijderen.
Herstel met controle, ontgrendeling en één gecontroleerde onderhoudsrun
Bescherm de laatst bekende goede herstelpunten, stop planningen, voer een ondersteunde controle uit, verwijder alleen een aantoonbaar verouderde vergrendeling en voer één gelogde onderhoudsrun uit.
De ZimaSpace-gids voor het herstellen van een volle back-upbestemming geeft de verwante regel: behandel een repository als een beheerde structuur, niet als een verzameling losse bestanden.
Het probleem is opgelost wanneer vermelden, controleren, back-uppen, retentie en een testherstel allemaal slagen zonder geforceerde ontgrendeling of handmatige verwijdering.
Veelgestelde vragen
Kan ik het vergrendelingsbestand handmatig verwijderen?
Niet als eerste stap. Controleer of geen enkel proces het gebruikt en gebruik de ondersteunde ontgrendelingsbewerking van de back-uptool.
Moet ik prune meteen opnieuw uitvoeren na een crash?
Nee. Controleer eerst de status van de repository, index, het bestandssysteem en de backend voordat je opnieuw destructief onderhoud uitvoert.
Betekent alleen-lezen dat de back-upgegevens veilig zijn?
Niet noodzakelijk. Ontbrekende packs, opslagfouten, onveranderlijke objecten of onvolledige indexen kunnen herstelbewerkingen nog steeds verhinderen.
Ondersteuning & Tips
Meer om te lezen

Kan Plex een GPU delen met een andere Docker-container?
Plex en een andere container kunnen vaak dezelfde GPU gebruiken, maar je moet de driverondersteuning, apparaattoewijzing, belasting van de video-engine, het geheugengebruik en het...

Hoe je kunt bepalen of een Plex-fout door de client of de server wordt veroorzaakt
Reproduceer hetzelfde item op een andere client, vergelijk het sessiepad en verzamel pas serverbewijs nadat de scope heeft uitgewezen waar de fout daadwerkelijk zit.

Plex-cache en tijdelijke opslag voor transcodering configureren
Bescherm de permanente Plex-status door tijdelijke transcodebestanden op geschikte lokale opslag te plaatsen en controleer vervolgens het opruimen, de beschikbare ruimte en het gedrag...

