Waarom gedraagt een gededupliceerde back-uprepository zich na een onderbroken opschoning als alleen-lezen?

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.

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, kernel­log, 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.

-15% OFF
Single board computer zimaboard2

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

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.