Avamar-ruimtevrijmakingsprocessen - Deel 2: Kraken
Summary: In dit artikel wordt het "crunching"-gedeelte van de Avamar-ruimteterugwinning beschreven. Crunching is een kritiek achtergrondproces waarbij bestaande strepen worden gebruikt en data erin worden bewerkt om de ruimte efficiënt te hergebruiken. ...
Symptoms
Het artikel is gericht op crunching, de activiteit die door het afval verzamelde strepen voorbereidt voor hergebruik.
Hieronder vindt u de volledige serie 'Avamar space reclamation'-artikelen.
- Avamar-ruimteterugwinningsprocessen - Deel 1: Garbage Collection
- Avamar-ruimtevrijmakingsprocessen - Deel 2: Kraken
- Avamar-ruimtevrijmakingsprocessen - Deel 3: Checkpointproces (RMCP) verwijderen
In dit artikel wordt beschreven:
- Wat er gebeurt tijdens het 'crunching'-onderhoudsproces van Avamar.
- Waarom 'crunching' van strips regelmatig nodig is voor een Avamar systeem.
Publiek:
Dit artikel is bedoeld voor degenen die Avamar-systemen ondersteunen of beheren. Hierin wordt uitgelegd hoe de onderhoudswerkzaamheden van Avamar samenwerken om verlopen data van het systeem op te slaan, te beschermen en te wissen. Er wordt van uitgegaan dat de lezer bekend is met Avamar onderhoudsschema's, hoe data worden opgeslagen op een Avamar systeem en hoe datastrips worden opgebouwd. Er wordt ook van uitgegaan dat de lezer het eerste artikel in deze serie heeft gelezen en begrepen waarin Avamar garbage collection wordt besproken.
Symptomen die zich meestal voordoen wanneer crunching niet optimaal werkt:
-
Hoge checkpointoverhead
-
Tragere back-upprestaties
Dit artikel bespreekt:-
- Wat is crunching?
- Waarom crunchen belangrijk is
- Een overzicht van hoe crunching werkt
- De twee manieren waarop crunching kan worden uitgevoerd
- Asynchrone crunching
- Synchrone crunching
- Situaties die kunnen voorkomen dat asynchrone crunching plaatsvindt
- Probleemoplossing en nuttige opdrachten die te maken hebben met crunching
- Verwijzingen, verder lezen en gerelateerde KB-artikelen
Cause
Resolution
Wat is 'crunching' in Avamar?
Garbage Collection identificeert data die niet langer worden vermeld door back-ups.
De beschrijving van de segmentheader wordt gewijzigd om aan te geven welke chunks moeten worden verwijderd. De datastrips, die deze segmenten bevatten, zijn ongewijzigd.
Het verwijderen van deze segmenten treedt op als neveneffect van de crunching-bewerking.
Crunching is een Avamar onderhoudsbewerking die door garbage-collected strips wordt gewijzigd om de vrije ruimte binnen deze strips aaneengesloten te maken.
Door strips te bewerken om hun vrije ruimte aaneengesloten te maken, hergebruikt Avamar efficiënt ruimte voor inkomende back-updata.
Denk aan crunchen op een vergelijkbare manier als de klassieke defragmentatie van harde schijven.
Data moeten van de ene naar de andere plaats worden verplaatst om de datacontainers efficiënter te kunnen hergebruiken.
Schijfdefragmentatiehulpprogramma's verplaatsen gerelateerde data-elementen naar aangrenzende delen van een rotatieschijf om de opeenvolgende toegangstijden te verkorten.
Crunching verplaatst data echter naar de onderkant van de stripe om ruimte te maken voor nieuwe binnenkomende segmenten.
Analogie:
Stelt u zich een bus voor met één voorste toegangsklep en geen afsluitklep. Mensen (chunks) gaan de bus binnen via de voorklep.
Dit is een speciale bus waar mensen alleen kunnen vertrekken met behulp van Star Trek 'beam me up Scotty'-technologie.
De bus begint vol.
Zodra meerdere personen dematerialisatie hebben voltooid, heeft de bus ruimte voor meer personen.
Niemand anders kan erop passen totdat de mensen uit de buurt van de ingang zijn verplaatst. Dat wil zeggen, 'crunched' naar de achterkant van de bus om ruimte te maken in de buurt van de voorklep.
Waarom crunchen belangrijk is:
We bespreken wat er gebeurt wanneer back-updata naar Avamar worden geschreven. Dit verklaart waarom crunchen belangrijk is.
Ter voorbereiding op het accepteren van back-updata selecteert de Avamar de stripe op elk dataknooppunt dat de meeste aaneengesloten vrije ruimte heeft. De stripe is gemarkeerd als de actieve strip.
Alle nieuwe inkomende back-updata worden toegevoegd aan de actieve strip.
Wanneer de strip vol raakt, wordt de volgende, minst volledige strip gemarkeerd als de actieve strip.
Stelt u zich een systeem voor waarin onvoldoende crunching heeft plaatsgevonden.
Een 'crunchable' stripe (garbage-collected but yet to be crunching) kan relatief leeg zijn.
Deze relatief lege strip zou niet worden geselecteerd als de actieve stripe als er een andere strip is die meer aaneengesloten vrije ruimte heeft.
In het onderstaande diagram zijn beide strips in het diagram garbage collected, maar alleen data stripe 2 is crunched,
Hoewel datastrip 1 leeger is, heeft stripe 2 meer nuttige aaneengesloten ruimte.
Avamar selecteert strip 2 als de actieve strip.
Naarmate het gebruik van Avamar-storage toeneemt, wordt de actieve strip gekozen uit een pool met steeds volle strips.
Als crunching te laat is, is het hergebruik van strips inefficiënt.
Er zijn meer strips nodig om de binnenkomende data gemiddeld een dag vast te leggen, zelfs als die hoeveelheid data ongewijzigd is.
Als u meer strips gebruikt om de data vast te leggen, resulteert dit in een hogere checkpointoverhead dan wanneer strips efficiënter worden hergebruikt.
Zorg er daarom altijd voor dat Avamar de mogelijkheid heeft om regelmatig voldoende crunching uit te voeren.
Hoe werkt crunching?
Wanneer het systeem crunching op een stripe uitvoert, is het:-
-
Leest de data uit het stripe-bestand in de cur-map in het geheugen.
-
Bepaalt welke chunks worden vermeld door de segmentheader.
-
Herschrijft het stripe-bestand en de segmentheader op schijf. Het stripe-bestand wordt alleen gevuld met items waarnaar wordt verwezen door de segmentheader.
Als u het stripe-bestand wijzigt, wordt de harde koppeling verbroken, waardoor het gebruik van het bestandssysteem toeneemt.
Vanaf Avamar versie 5.0 en hoger blijven strips op volledige grootte na crunching. Dit helpt bij het voorkomen van fragmentatie van het bestandssysteem na verloop van tijd.
Wanneer vindt crunching plaats?
Asynchrone crunching - De standaard- en voorkeursmethode voor het uitvoeren van crunching.
Asynchrone crunching wordt uitgevoerd tijdens het laatste deel van het "Blackout Window", nadat de garbage collection een time-out heeft en alleen onder de volgende omstandigheden;
-
Als de parameter asynccrunching is ingesteld op True.
-
Als er crunchable strips*.
-
EN als we ons crunching-doel of onze dagelijkse limiet*niet hebben bereikt.
-
EN als het systeem inactief is* (er worden geen back-ups of ander onderhoud uitgevoerd).
-
Als het systeem beschrijfbaar is en disknoflush niet is bereikt.
Asynchrone crunching is een preventieve bewerking.
Het maakt gebruik van speciale tijd en resources om strips voor te bereiden vóór het back-upvenster.
Zie het bijgevoegde diagram blackout-window.jpg dat dit illustreert.
Hoeveel werk werkt crunching?
Door strips vooraf voor te bereiden op gebruik tijdens het blackout-venster, kan Avamar data zo snel mogelijk opnemen tijdens het back-upschema.
Crunching verandert de inhoud van een strip. Veel crunching veroorzaakt grote verschillen met de data die zijn opgeslagen in de map 'cur'.
Dit resulteert in meer checkpointoverhead en een hoger verbruik van ruimte in de data/ partities van het dataknooppunt.
Avamar voorspelt hoeveel strips moeten worden voorbereid om de hoeveelheid verwachte inkomende data voor de volgende dag mogelijk te maken.
De berekeningen zijn gebaseerd op het bewegende gemiddelde van de vorige N-dagen (waarbij N bijvoorbeeld maximaal 10 of 14 is).
Met dit zelfafstemmingsmechanisme kan Avamar net voldoende strips voor back-ups crunchen om optimaal te presteren zonder onnodige hoeveelheden checkpointoverhead te veroorzaken.
We kunnen nu begrijpen dat als de wijzigingssnelheid van het systeem plotseling toeneemt, avamar een aantal dagen nodig heeft om geleidelijk een verhoogde crunchinglimiet in te voeren.
Als asynchrone crunching niet voldoende strepen voorbereidt, wordt dit geregeld door synchrone crunching.
Synchrone crunching:
Als asynchrone crunching niet in staat is om voldoende strips vooraf voor te bereiden, of als de parameter asynccrunching is ingesteld op false, wordt crunching synchroon uitgevoerd met back-ups.
Deze modus van crunching, ook wel bekend als on-demand crunching, werkt indien nodig en werkt op een stripe als de strip crunchable is en voorbereid is om de actieve strip van een knooppunt te worden.
Doordat crunching synchroon met back-ups kan worden uitgevoerd, is de concurrentie voor schijf-I/O-bronnen groter.
Op drukke systemen kan dit ertoe leiden dat back-uptaken langer duren.
We kunnen ervoor kiezen om Avamar in te stellen om alleen synchrone crunching uit te voeren in situaties waarin een systeem hoge checkpointoverhead ervaart. Als dit gebeurt, informeert u de klant waarom wij vinden dat dit nodig is en leggen we de uitruil uit.
A samenvatting van de twee crunching-modi:
Asynchronous crunching:
- Avamar serverparameterinstelling is asynccrunching=true.
- Hogere back-upprestaties als er een normale dag aan data wordt opgenomen.
- Hogere checkpointoverhead.
- Standaardmodus van bewerking.
- Kan worden uitgeschakeld om de checkpointoverhead te verlagen tijdens situaties met een hoge capaciteit van het besturingssysteem.
Synchrone crunching:
- Avamar serverparameterinstelling is asynccrunching=false
- Wordt uitgevoerd indien nodig
- Lagere vereisten voor checkpointoverhead
- Mogelijk langere back-uptijden
- Niet de standaard bewerkingsmodus
Wat kan voorkomen dat asynchrone crunching plaatsvindt?
De parameter asynccrunching config is false.
-
Back-ups worden uitgevoerd
-
De dagelijkse limiet is bereikt
-
Server is alleen-lezen
-
Server-run-niveau is lager dan 'admin'
-
Stripe-conversie wordt uitgevoerd
-
De disknoflush-limiet is bereikt
-
De Avamar-server waarop deze wordt toegepast, voert de hfscheck-instantie uit (soms CGSAN genoemd)
-
HFScheck start
Additional Information