Processi di recupero dello spazio Avamar, parte 1: Garbage Collection
Summary: Questo articolo della Knowledge Base descrive la prima parte del processo di recupero dello spazio di Avamar. Questa operazione è nota come garbage collection.
Instructions
Questo articolo è il primo di una serie che documenta come Avamar ricicla lo spazio, sia all'interno della GSAN che sui dischi rigidi.
- Processi di recupero dello spazio Avamar, parte 1: Garbage Collection
- Processi di recupero dello spazio Avamar , parte 2: Scricchiolio
- Processi di recupero dello spazio Avamar, parte 3: Rimozione del processo di checkpoint (RMCP)
L'attuale implementazione della garbage collection è stata introdotta insieme ad Avamar v7.0 e il suo design è rimasto in gran parte invariato.
A cosa serve la garbage collection?
La garbage collection è la prima fase del processo in cui Avamar recupera lo spazio utilizzato per archiviare i dati di backup.
Opera nella directory cur e libera spazio all'interno di GSAN rimuovendo i blocchi di dati a cui non fanno più riferimento i backup:
- I dati sono definiti se possono essere ricercati nell'indice.
- Se esiste come parte di un backup, viene fatto riferimento ai dati (ovvero l'hash è presente nel sistema di contabilità utente, negli stripe compositi o negli elementi di directory).
Lo spazio recuperato dalla garbage collection non può essere riutilizzato fino a quando non viene eseguito il processo di elaborazione . Il processo di elaborazione viene eseguito immediatamente dopo il completamento della garbage collection pianificata giornaliera. Vedere I processi di recupero dello spazio di Avamar - Parte 2: L'era delle crisi.
Quando viene eseguita la garbage collection?
Per quanto tempo viene eseguita la garbage collection?
Per impostazione predefinita, la garbage collection viene eseguita per 4 ore. Se entro questo periodo non vengono completati due passaggi, il tempo di esecuzione della garbage collection successiva verrà aumentato di 15 minuti. Questa operazione continua fino al completamento di due passaggi o al raggiungimento del limite predefinito di 7 ore (420 minuti).
I problemi comuni sono elencati di seguito. Alcuni articoli potrebbero richiedere l'autenticazione sul sito del supporto Dell per la visualizzazione.
- L'utilità di pianificazione della manutenzione o, più specificamente, la garbage collection è disabilitata. L'output di status.dpn può confermarlo.
- La capacità del sistema operativo è al di sopra del valore diskno node (che può essere dall'86% all'89%).
- Problemi di sincronizzazione dell'ora tra i nodi Avamar.
- Gli stripe degli indici sono in suddivisione.
- Le mappe di bit di riferimento hash non sono in grado di essere reimpostate.
Funzionamento della garbage collection
Fase 1 - Creazione del conteggio dei riferimenti (TORC):
La Garbage Collection legge le voci nel sistema di accounting degli utenti, gli stripe compositi e gli elementi di directory per creare una Tabella dei conteggi di riferimento (TORC).
Nel TORC, la garbage collection registra tutti gli hash nel sistema e il numero di volte a cui viene fatto riferimento ogni hash.
Fase 2 - Lettura degli indici:
Una volta completato il TORC, ogni nodo carica un sottoinsieme dei singoli stripe di indice in memoria. Il numero di stripe lette è definito dal parametro gccount . Per ogni hash definito nell'indice, la garbage collection cerca l'hash nel TORC per verificare se viene fatto riferimento a esso.
- Se l'hash esiste sia nell'indice che nel TORC, non c'è nulla da fare. Ogni hash nel TORC ha un conteggio di riferimento di almeno 1, quindi l'hash è definito e a cui si fa riferimento.
- Se l'hash esiste nell'indice, ma non nel TORC, l'hash è definito ma non a cui si fa riferimento, quindi può essere rimosso.
Nota: Se l'hash esisteva nel TORC ma non nell'indice, si tratta di un errore di integrità dei dati (hash a cui viene fatto riferimento ma non definito). Ciò comporta un errore di hfscheck.
Fase 3 - Rimuovere gli hash senza riferimenti:
Come abbiamo notato in precedenza, gli hash a cui non viene fatto riferimento non fanno parte di alcun backup, pertanto possono essere rimossi in modo sicuro da Avamar. A tale scopo, garbage collection:
- Rimuove la voce nell'indice.
- Estrae la voce per l'hash nel CHD (Chunk Header Descriptor). Il CHD definisce la posizione in cui i singoli blocchi si trovano all'interno del contenitore stripe.
Avamar ha contrassegnato l'area in cui l'hash occupava come vuoto. Per motivi di prestazioni e, o capacità, i dati non vengono eliminati in questa fase.
Passaggio 4: aggiornare il TORC:
Se il blocco rimosso dalla garbage collection è stato composito, è necessario aggiornare il TORC.
Se si esamina il passaggio 1, i conteggi di riferimento nel TORC includono i riferimenti creati da stripe composite, che contengono blocchi compositi.
Poiché un blocco composito è stato rimosso, è possibile diminuire il conteggio dei riferimenti nel TORC da uno per eventuali hash a cui fa riferimento quel blocco composito.
La garbage collection esegue questa operazione leggendo in composita, per vedere quali hash a cui fa riferimento e quindi aggiornare il TORC.
Fase 5 - Leggere il set successivo di indici:
La Garbage Collection scarica il set precedente di stripe dell'indice dalla memoria, quindi carica un nuovo set.
I passaggi 2, 3 e 4 vengono ripetuti per questi nuovi stripe di indice.
Una volta letti tutti gli stripe degli indici, qualsiasi blocco di dati (noto come blocchi "atomici") nel TORC con 0 riferimenti (grazie al passaggio 4) viene rimosso.
Fase 6 - Avviare un nuovo passaggio:
Una volta letti tutti gli indici, la garbage collection avvia un nuovo passaggio.
Tutti gli stripe degli indici vengono rileggeti, alla ricerca di dati a cui non viene più fatto riferimento grazie ai passaggi precedenti.
Ciò è necessario perché gli hash non vengono letti in ordine logico, ma piuttosto nell'ordine in cui vengono archiviati negli indici.
La garbage collection non è sicura di trovare gli hash nell'ordine ottimale. Un hash può rimanere a cui si può fare riferimento fino alla fine del passaggio.
Due passaggi di garbage collection possono comodamente mantenere una capacità "steady-state" nella maggior parte degli ambienti server Avamar.
La garbage collection viene eseguita fino a quando non si esaurisce il tempo o viene completato un pass senza rimuovere dati.
Garbage collection
manualeNon è necessario gestire micromanaging di un server Avamar. Lo scheduler ha lo scopo di automatizzare l'esecuzione delle attività di manutenzione. Se la capacità di Avamar è elevata, consultare Avamar Operational Best Practices Guide e Avamar: Concetti e formazione sul capacity management.
In rare occasioni, l'esecuzione di garbage collection potrebbe contribuire ad alleviare i problemi gravi in cui la "capacità utente" GSAN è così alta che il sistema entra in modalità di sola lettura.
In questi casi, la garbage collection viene eseguita manualmente per ridurre il livello di capacità appena al di sotto della soglia di sola lettura. Ciò consente l'esecuzione della finestra di backup.
La garbage collection automatizzata può continuare a funzionare normalmente.
Il supporto di Avamar deve analizzare e comprendere appieno la situazione prima di prendere in considerazione la garbage collection manuale.
Non è mai opportuno richiedere che il supporto esegua la garbage collection manuale su un sistema senza l'autorizzazione di un tecnico del supporto L2 dopo tale indagine.
Vedere Avamar - Informazioni sull'utilizzo della garbage collection manuale.