Een verouderde Restic-vergrendeling verwijderen zonder een actieve back-up te onderbreken

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 verouderde Restic-vergrendeling mag pas worden gewist nadat is bewezen dat elke vermelde host en elk vermeld proces inactief is. De reparatie is een normale ontgrendeling van verouderde vergrendelingen, niet het geforceerd verwijderen van alle vergrendelingen.

Wanneer meerdere homeservers één repository delen, kan een vergrendeling die oud lijkt, toebehoren aan een trage externe taak, een opnieuw gestarte container of een proces waarvan de klok afwijkt van die van de machine van de beheerder. Pauzeer eerst nieuwe planningen, bewaar de metagegevens van de vergrendeling, controleer de genoemde host en elke onderhoudscontroller en gebruik daarna het standaardopruimpad. Als een eigenaar niet kan worden geverifieerd, stop dan en behoud de vergrendeling.

Nieuwe taken pauzeren en elke eigenaar van een vergrendeling identificeren

Schakel de timers, cron-vermeldingen, containerplanningen en orkestratietaken uit die Restic op de repository kunnen starten. Bewaar de huidige lijst met vergrendelingen en recente servicelogboeken. Noteer voor elke vergrendeling de host, proces-ID, gebruiker, tijdstempel en of deze exclusief is, en controleer vervolgens het genoemde proces op die exacte host.

Een exclusieve repositorycontrole kan ander werk blokkeren, en een vergrendeling van een onderbroken controle kan eruitzien als een achtergelaten back-upvergrendeling totdat de bewerking en eigenaar met elkaar zijn vergeleken.

Als een proces actief is of de logboeken blijven vorderen, wacht dan of stop het proces netjes via de servicemanager. Als de host onbereikbaar is, is niet bewezen dat de vergrendeling verouderd is. Ga pas verder wanneer elk relevant proces ontbreekt, geen enkele planner het opnieuw kan starten en de repository geen schrijfbewerkingen ontvangt.

Controleer of de vergrendeling verouderd is op basis van meer dan alleen de leeftijd

Wacht gedurende een korte observatieperiode en vermeld de vergrendelingen opnieuw. Een verouderde kandidaat heeft geen actieve eigenaar, geen voortschrijdend logboek, geen vernieuwing en geen schrijfactiviteit op de repository. Vergelijk de klokken en raadpleeg dezelfde backend vanaf een andere vertrouwde client als de repository extern is.

Een volledige Restic-repositoryworkflow behandelt ontgrendelen als één administratieve bewerking naast back-ups, controles, bewaarbeleid en herstelbewerkingen; het is geen vervanging voor het vaststellen wie nog eigenaar van de repository is.

Als de vergrendeling wordt vernieuwd, een logboek verandert of clients een verschillend beeld van de backend geven, stop dan. Als de vergrendeling ongewijzigd blijft en de eigenaar definitief inactief is, ga dan verder. Leeftijd ondersteunt de conclusie, maar bepaalt deze niet; een trage actieve bewerking kan ouder zijn dan een beheerder verwacht.

Gebruik eerst de standaardopruiming van verouderde vergrendelingen

Gebruik het normale ontgrendelingsgedrag van Restic, zodat verouderde vergrendelingen worden verwijderd en vergrendelingen die nog als actief worden beschouwd, behouden blijven. Voeg geen optie voor het verwijderen van alle vergrendelingen toe en voer de volgende opdracht niet uit zonder vergrendeling. Bewaar de uitvoer van de opdracht en maak direct daarna een nieuwe lijst met vergrendelingen.

De standaardontgrendelingsopdracht is specifiek bedoeld voor verouderde vergrendelingen, terwijl geforceerde verwijdering een afzonderlijke actie met een hoger risico is die geen onderdeel hoort te zijn van de normale reparatiestappen.

Als de verouderde vermelding verdwijnt en er geen actieve vergrendeling wordt verwijderd, ga dan verder met de validatie. Als er een actieve vergrendeling blijft bestaan, respecteer die dan en voer de controle van de eigenaar opnieuw uit. Als een vergrendeling onmiddellijk terugkeert, heeft een timer, container of externe host werk gestart; schakel die bron uit en herhaal de ontgrendeling niet totdat de nieuwe eigenaar bekend is.

-15% OFF
Single board computer zimaboard2

Valideer de oorspronkelijke back-up en de volgende geplande uitvoering

Voer exact de back-up uit die werd geblokkeerd en leg het begin, de voortgang, de afsluitstatus en de levenscyclus van de vergrendeling vast. Controleer of de vergrendeling verschijnt terwijl Restic werkt en verdwijnt na een normale beëindiging. Vermeld de nieuwe snapshot en herstel een klein voorbeeld naar een afzonderlijke locatie voordat je automatisering opnieuw inschakelt.

Als de repository zich gedraagt alsof deze alleen-lezen is of het onderhoud onvolledig blijft, houd dan de toestand na een onderbroken prune los van het opruimen van verouderde vergrendelingen.

Schakel de normale planning opnieuw in voor één cyclus. De reparatie is geslaagd wanneer beide uitvoeringen worden voltooid, hun vergrendelingen normaal verdwijnen en het herstelde voorbeeld overeenkomt. Schakel ondersteuning in als een verouderde vergrendeling terugkeert na een normale beëindiging van het proces, backendweergaven inconsistent blijven of de resultaten van de repositorycontrole en het herstel niet overeenkomen. Automatiseer geen geforceerde ontgrendeling als oplossing voor terugkerende problemen.

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.