Processos de recuperação de espaço do Avamar – Parte 1: Coleta de lixo
Summary: Este artigo da base de conhecimento descreve a primeira parte do processo de recuperação de espaço do Avamar. Isso é conhecido como coleta de lixo.
Instructions
Este artigo é o primeiro de uma série que documenta como o Avamar recicla espaço, tanto no GSAN quanto nos discos rígidos.
- Processos de recuperação de espaço do Avamar – Parte 1: Coleta de lixo
- Processos de recuperação de espaço do Avamar – Parte 2: Crunching
- Processos de recuperação de espaço do Avamar – Parte 3: Processo de remoção de ponto de verificação (RMCP)
A implementação atual da coleta de lixo foi introduzida junto com o Avamar v7.0, e seu design permaneceu praticamente inalterado.
O que a coleta de lixo faz?
A coleta de lixo é a primeira fase do processo em que o Avamar recupera o espaço que foi usado para armazenar dados de backup.
Ele opera no diretório cur e libera espaço dentro do GSAN removendo fragmentos de dados que não são mais referenciados por nenhum backup:
- Os dados são considerados "definidos" se puderem ser pesquisados no índice.
- Os dados são referenciados se existirem como parte de um backup (ou seja, o hash está presente no sistema de contabilidade de usuários, nas frações compostas ou nos elementos do diretório).
O espaço recuperado pela coleta de lixo não pode ser reutilizada até que a análise seja executada. A análise é executada imediatamente após a conclusão da coleta de lixo agendada diariamente. Consulte Processos de recuperação de espaço do Avamar - Parte 2: Análise.
Quando a coleta de lixo é executada?
Por quanto tempo a coleta de lixo é executada?
Por padrão, a coleta de lixo é executada por 4 horas. Se duas etapas não forem concluídas nesse período, o tempo de execução da próxima coleta de lixo será aumentado em 15 minutos. Isso continuará até que duas passagens concluam com sucesso ou o limite padrão de 7 horas (420 minutos) seja atingido.
Problemas comuns estão listados abaixo. Alguns artigos podem exigir autenticação no site de suporte da Dell para visualização.
- Agendador de manutenção ou, mais especificamente, a coleta de lixo está desativada. O resultado de status.dpn para confirmar isso.
- A capacidade do sistema operacional está acima do valor disknogc (que pode ser de 86% a 89%).
- Problemas de sincronização de horário entre os nós do Avamar.
- As frações de índice estão se dividindo.
- Os mapas de bits referenciados por hash não são capazes de redefinir.
- Consulte Avamar v7 e posterior - Garbage Collection reporting "skipped-hashes" que não podem ser limpos devido a "Hash Referenced Bit Maps" quando os dados estão em uso
Como funciona a coleta de lixo
Etapa 1 - Criação da tabela de contagens de referência (TORC):
A coleta de lixo lê entradas no sistema de contabilidade do usuário, as frações compostas e os elementos do diretório para criar um ToRC (Table Of Reference Counts, tabela de contagens de referência).
No TORC, a coleta de lixo registra todos os hashes no sistema e quantas vezes cada hash é referenciado.
Etapa 2 - Lendo os índices:
Depois que o TORC for concluído, cada nó carregará um subconjunto de suas frações de índice individuais na memória. O número de frações de leitura é definido pelo parâmetro gccount . Para cada hash definido no índice, a coleta de lixo procura o hash no TORC para verificar se ele é referenciado.
- Se o hash existir no índice e no TORC, não há nada a fazer. Cada hash no TORC tem uma contagem de referência de pelo menos 1, portanto, o hash é definido e referenciado.
- Se o hash existir no índice, mas não no TORC, o hash será definido, mas não referenciado, portanto, poderá ser removido.
Nota: Se o hash existia no TORC, mas não no índice, isso seria um erro de integridade de dados (hash referenciado, mas não definido). Isso resulta em uma falha de hfscheck.
Etapa 3 - Remover hashes nãoferenciados:
Como observamos anteriormente, os hashes que não são referenciados não fazem parte de nenhum backup, portanto, podem ser removidos com segurança do Avamar. Para fazer isso, coleta de lixo:
- Remove a entrada no índice.
- Zerará a entrada do hash no descritor de cabeçalho do fragmento (CHD). O CHD define onde os fragmentos individuais estão dentro do contêiner de fração.
O Avamar marcou a área que o hash ocupava como vazia. Por motivos de desempenho e/ou capacidade, os dados não são excluídos nesta fase.
Etapa 4 - Atualize o TORC:
Se o fragmento que a coleta de lixo removeu for uma composição, o TORC deverá ser atualizado.
Se observarmos a etapa 1, as contagens de referência no TORC incluem referências feitas por frações compostas, que contêm fragmentos compostos.
Como um fragmento composto foi removido, podemos diminuir a contagem de referência no TORC por um para todos os hashes referenciados por esse fragmento composto.
A coleta de lixo faz isso lendo na composição para ver quais hashes ele faz referência e, em seguida, atualizando o TORC.
Etapa 5 - Leia o próximo conjunto de índices:
A coleta de lixo descarrega o conjunto anterior de faixas de índice da memória e, em seguida, carrega um novo conjunto.
As etapas 2, 3 e 4 são repetidas para essas novas faixas de índice.
Depois que todas as faixas de índice forem lidas, qualquer fragmento de dados (conhecido como fragmentos "atômicos") no TORC que tenha 0 referências (graças à etapa 4) será removido.
Etapa 6 - Iniciar uma nova aprovação:
Depois que todos os índices forem lidos, a coleta de lixo iniciará uma nova aprovação.
Todas as faixas de índice são lidas novamente, procurando dados que não são mais referenciados graças às nossas passagens anteriores.
Isso é necessário porque os hashes não são lidos em uma ordem lógica, mas sim na ordem em que são armazenados nos índices.
A coleta de lixo não tem certeza de encontrar os hashes na ordem ideal. Um hash pode permanecer referenciado até o final da aprovação.
Duas passagens de coleta de lixo podem manter confortavelmente uma capacidade de "estado estável" na maioria dos ambientes de servidor Avamar.
A coleta de lixo executa passagens até ficar sem tempo ou uma passagem é concluída sem remover nenhum dado.
Coleta manual de lixo
O micromanagamento de um servidor Avamar não deve ser necessário. O agendador destina-se a automatizar a execução de tarefas de manutenção. Se a capacidade do Avamar for alta, consulte o Guia de práticas recomendadas operacionais do Avamar e o Avamar: Conceitos e treinamento de gerenciamento de capacidade.
Em raras ocasiões, a execução da coleta de lixo pode ajudar a aliviar problemas agudos em que a "capacidade do usuário" do GSAN é tão alta que o sistema entra no modo somente leitura.
Nesses casos, a coleta de lixo é executada manualmente para reduzir o nível de capacidade para um pouco abaixo do limite somente leitura. Isso permite que a janela de backup seja executada.
A coleta de lixo automatizada pode continuar funcionando normalmente.
O suporte do Avamar deve investigar e entender totalmente a situação antes que a coleta manual de lixo seja considerada.
Nunca é apropriado solicitar que o suporte execute a coleta manual de lixo em um sistema sem autorização de um engenheiro de suporte L2 após essa investigação.
Consulte Avamar - Sobre o uso da coleta manual de lixo.