Avamar v7 en hoger - Garbage Collection meldt "skipped-hashes" die niet kunnen worden opgeschoond vanwege "Hash Referenced Bit Maps" wanneer de data in gebruik zijn

摘要: In Avamar v7 en hoger kan het garbage collection-logboek verschillende "skipped-hashes" melden wanneer de onderliggende data in gebruik zijn op het moment dat de onderhoudsactiviteit wordt uitgevoerd. ...

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

症状

De functie Hash Referenced Bit Maps is een functie die is geïntroduceerd met de Avamar v7.x-functie waarmee back-ups kunnen worden uitgevoerd tijdens de onderhoudsactiviteit van garbage collection (GC). 

Voordat deze functie werd uitgevoerd, kon garbage collection niet gelijktijdig worden uitgevoerd vanwege de mogelijkheid van dataconflicten. 

Tijdens de garbage collection-fase houdt de nieuwe functie informatie in het geheugen bij over data die worden toegevoegd of gewijzigd (een "kaart van referentie-hashes"). Garbage Collection controleert deze informatie om te weten welke hashes (en de data waarnaar ze verwijzen) niet mogen worden verwijderd.  

Een vereiste van deze functie is dat deze 'kaarten' ten minste 5 minuten 'stille' tijd nodig hebben, waarbij geen back-ups worden uitgevoerd om ze opnieuw te kunnen instellen. Zodra deze reset is uitgevoerd, kunnen de data die erin zijn vergrendeld, worden gescand tijdens de daaropvolgende garbage collection-cyclus, zolang ze ongewijzigd blijven.

Deze stille tijd moet worden overwogen bij het ontwerpen van het dagelijkse Avamar back-up- en onderhoudsschema. 
Als de kaarten niet kunnen worden gereset, kan dit voorkomen dat de garbage collection verlopen data opschont.
Als de hash-referentiekaart geen kans krijgt om opnieuw in te stellen, worden data die in aanmerking komen voor verwijdering door garbage niet verwerkt en kan het capaciteitsgebruik toenemen. Als de kaart gedurende langere tijd niet kan worden gereset, kan het garbage collection-logboek een toenemende hoeveelheid "skipped-hashes" weergeven.

原因

Back-up(s) zijn verlopen, maar garbage collection heeft niet alle data hersteld die in aanmerking komen om te worden verwijderd omdat sommige van de data op dat moment in gebruik waren.

Om dit te controleren, voert u de onderstaande opdracht uit:
De opdracht dumpt het onderhoudslogboek voor garbage collection gedurende 7 dagen en parseert het om het weer te geven.
  • Hoeveel hashes zijn overgeslagen,
  • Hoeveel data zijn verwijderd
  • Hoeveel passes van garbage collection hebben plaatsgevonden
  • Hoe lang de garbage collection duurde
dumpmaintlogs --types=gc --days=7 | grep passes | cut -d ' ' -f1,10,14,15,17

2014/02/11-11:03:23.01310 skipped-hashes="3118" megabytes-recovered="120" passes="10" elapsed-time="134"
2014/02/12-11:05:33.78790 skipped-hashes="4051" megabytes-recovered="88" passes="10" elapsed-time="264"
2014/02/12-16:18:16.79236 skipped-hashes="5098" megabytes-recovered="199" passes="16" elapsed-time="268"
2014/02/12-16:28:20.35698 skipped-hashes="5099" megabytes-recovered="0" passes="1" elapsed-time="97"
2014/02/12-17:14:22.88473 skipped-hashes="5452" megabytes-recovered="26" passes="20" elapsed-time="162"
2014/02/12-20:46:06.80518 skipped-hashes="6789" megabytes-recovered="83" passes="21" elapsed-time="184"
2014/02/12-21:09:30.70374 skipped-hashes="89139" megabytes-recovered="9432" passes="26" elapsed-time="536"
2014/02/12-23:30:13.07016 skipped-hashes="96510" megabytes-recovered="604" passes="21" elapsed-time="210"
2014/02/12-23:34:15.11324 skipped-hashes="96511" megabytes-recovered="1" passes="3" elapsed-time="99"
2014/02/13-13:41:02.20624 skipped-hashes="97301" megabytes-recovered="0" passes="1" elapsed-time="81"
2014/02/14-11:03:45.31704 skipped-hashes="98220" megabytes-recovered="131" passes="2" elapsed-time="157"
2014/02/14-16:49:14.94905 skipped-hashes="98220" megabytes-recovered="67" passes="2" elapsed-time="105"
2014/02/14-21:15:27.77268 skipped-hashes="98224" megabytes-recovered="0" passes="1" elapsed-time="106"
2014/02/14-21:25:51.71154 skipped-hashes="98224" megabytes-recovered="0" passes="1" elapsed-time="101"
2014/02/14-22:07:19.81136 skipped-hashes="98229" megabytes-recovered="0" passes="1" elapsed-time="125"
2014/02/14-22:15:21.50825 skipped-hashes="98275" megabytes-recovered="1" passes="5" elapsed-time="115"
2014/02/14-22:27:13.88500 skipped-hashes="98278" megabytes-recovered="0" passes="1" elapsed-time="98"
2014/02/14-23:58:47.70116 skipped-hashes="102294" megabytes-recovered="1" passes="4" elapsed-time="110"
2014/02/15-11:02:29.45054 skipped-hashes="102538" megabytes-recovered="0" passes="1" elapsed-time="82"
2014/02/16-00:56:27.25596 skipped-hashes="0" megabytes-recovered="900395" passes="59" elapsed-time="17417"
2014/02/17-11:32:42.66479 skipped-hashes="0" megabytes-recovered="57540" passes="28" elapsed-time="1890"

Analyse:

De uitvoer toont het aantal overgeslagen hashes dat na verloop van tijd toeneemt totdat de hash-referentiekaart opnieuw wordt ingesteld op 16 februari 2014.
We kunnen ook de hoeveelheid data zien die 'megabytes-hersteld' wordt opgeruimd nadat de hashes zijn vrijgekomen en garbage collection deze kan verwerken voor verlopen data.

解决方案

Onmiddellijke oplossing

1. Zorg ervoor dat de kaarten opnieuw kunnen worden ingesteld en dat de garbage collection opnieuw kan worden uitgevoerd.
2. Zorg ervoor dat er geen actieve avtar-sessies zijn die data aan het systeem toevoegen (back-up- of inkomende replicatiedata). Gebruik de GUI Activity Monitor en controleer op vastgelopen sessies die alleen worden gezien met de opdracht 'avmaint sessions --full'.
3. Stop alle back-ups en inkomende replicatiesessies.
4. Wacht ten minste vijf minuten om de Hash Referenced Bit Maps voldoende tijd te geven om opnieuw in te stellen.  
5. Wanneer GC opnieuw wordt uitgevoerd, controleert u het GC-onderhoudslogboek om te bevestigen dat skipped-hashes=0

Als skipped-hashes niet is gereset naar nul, werkt u met Support om de bovenstaande stappen te controleren. Als garbage collection MSG_ERR_TRYAGAINLATER meldt, kan Support bevestigen of dit te wijten is aan index stripe splitsen. 
 

Oplossing op de lange termijn

Ontwerp de back-up- en onderhoudsschema's, zodat er regelmatig 'inactieve' beschikbaar is voor de hash-bitstoewijzing die moet worden gereset.

Met andere woorden, de back-upschema's mogen niet 24/7 worden uitgevoerd. Stel een schema op dat een korte tijdsduur geeft wanneer er geen back-ups of inkomende replicatiedata naar het systeem worden geschreven. 


 

其他信息

Opmerkingen: 
  • De enige keer dat de hash naar bit maps verwijst, controleert of ze opnieuw kunnen worden ingesteld, is direct nadat een avtar-sessie is beëindigd. Wanneer er geen avtar-sessies worden uitgevoerd, wordt de kaart alleen gereset als:
    (a) Indexstrips worden niet gesplitst
    (b) Als garbage collection niet wordt uitgevoerd (de kaart is 'vergrendeld' om tijdens GC opnieuw in te stellen)
    (c) Als er geen andere avtar-sessies (back-up, herstel, replicatie) worden uitgevoerd op de Avamar-server. 
 
  • Een reden dat het aantal overgeslagen hashes tijdelijk hoog kan zijn, is te wijten aan het splitsen van indexstrips. Dit gebeurt omdat de hashes die naar het gesplitste doel worden verplaatst, worden beschermd. Index stripe splitsen vindt plaats op systemen die nog steeds groeien of worden gevuld met data. 
  • Garbage Collection kan ook mislukken met MSG_ERR_TRYAGAINLATER wanneer indexstrips worden gesplitst:  
  • MCS is mogelijk niet noodzakelijkerwijs op de hoogte van alle avtar-sessies die op de Avamar server plaatsvinden.

受影响的产品

Avamar

产品

Avamar
文章属性
文章编号: 000169212
文章类型: Solution
上次修改时间: 03 6月 2025
版本:  10
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。