Avamar: Falha na coleta de lixo com MSG_ERR_TRYAGAINLATER
Summary: A partir da versão 7.x, na qual os backups são permitidos durante o trabalho de manutenção de coleta de lixo, ocasionalmente a mensagem "MSG_ERR_TRYAGAINLATER" pode ser exibida.
Symptoms
O trabalho de manutenção de coleta de lixo do Avamar é encerrado com o erro MSG_ERR_TRYAGAINLATER.
Para verificar o problema:
-
status.dpnprogramas:
admin@avamarhost:~/>: status.dpn ... Last GC: finished Mon Dec 23 06:08:00 2013 after 03m 05s >> recovered 0.00 KB (MSG_ERR_TRYAGAINLATER)
-
Verifique usando o
dumpmaintlogscomando:
admin@avamarhost:~/>: dumpmaintlogs --types=gc --days=1
...
2013/12/23-12:08:00.9673 {0.0} <4202> failed garbage collection with error MSG_ERR_TRYAGAINLATER
-
Opcionalmente, isso pode ser verificado nos registros do Avamar Server pelo suporte do Avamar.
Cause
Esse é o comportamento esperado e ocorre à medida que novos dados são adicionados ao Avamar a partir de backups.
Quando os contêineres de armazenamento, ou "frações" no Avamar, são divididos em dois, isso é chamado de "divisão de faixas de índice".
Isso ocorre raramente em raras ocasiões e somente depois que determinados intervalos de capacidade são atingidos, dependendo do tamanho do nó, da contagem, da versão etc. Essa tarefa de manutenção não pode ocorrer durante a GC.
Se uma faixa de índice for dividida quando determinadas operações de GC forem tentadas, a GC será encerrada com MSG_ERR_TRYAGAINLATER.
Se uma faixa de índice estiver executando GC e precisar ser dividida, ela aguardará até que as operações de GC tenham sido concluídas.
As faixas de índice em uma grade tendem a se dividir em torno do mesmo período de tempo que as outras nos vários nós. Às vezes, isso pode levar alguns dias para ser concluído.
Resolution
O Avamar está funcionando conforme projetado.
Quando a divisão da faixa de índice for concluída, a coleta de lixo será retomada.
A solução temporária é não executar backups durante a GC.
Additional Information
- Esse comportamento não ocorre em uma grade que está em "estado estável" (tem utilização de capacidade estável ou decrescente), pois todas as faixas que devem existir já existem.
- Esse comportamento não ocorre em uma grade que ficou cheia e, desde então, reduziu em capacidade (sem ter sido expandida com novos nós). Isso ocorre porque todas as listras que podem ser criadas em uma grade já existem.
- O comportamento pode ocorrer depois que um nó é adicionado e existe capacidade adicional para dividir ainda mais as frações.
- O problema pode ocorrer periodicamente e é mais provável que seja visto em grades do Avamar que estão enfrentando crescimento sustentado de dados ou que foram expandidas recentemente com nós adicionais.
- O comportamento pode persistir por uma série de dias.