Avamar: O backup NDMP do NetApp falha com sinal fatal de alto uso de memória 11
Summary: Ao fazer backup de volumes NetApp, o backup falha na fase de inicialização. Quando o avtar tenta ler o inode.dir.map do backup anterior, ele termina com o sinal fatal 11 devido ao alto uso da memória. ...
Symptoms
Sintomas de falha de backup
O backup de volumes do NetApp falha na fase de inicialização quando avtar tenta ler o inode.dir.map do backup anterior. O backup é encerrado com um sinal fatal 11.
A NetApp usa inodes em vez de nomes de arquivo para documentar os arquivos no fluxo de dados. Com contagens grandes de arquivos, os processos iniciais de gerenciamento podem ficar sem memória, pois é aqui que os mapas de inodes são armazenados, por padrão.
A falha geralmente ocorre durante backups agendados. Um backup manual geralmente é bem-sucedido.
Exemplo: Dois volumes são submetidos a backup. O maior volume (>200 TB) é bem-sucedido durante um backup agendado. O volume menor (~21 TB) falha nos backups agendados. Ela é bem-sucedida quando executada manualmente.
A documentação do Avamar menciona um limite de 200 milhões de arquivos. Este exemplo tinha 480 milhões de arquivos.
Mensagens de registro relevantes
2022-04-20 13:00:36 avndmp Info : [snapup-/plz/Images] NDMP: DUMP: Using inowalk incremental dump for Full Volume
2022-04-20 13:01:14 avndmp Info : [ctl_spawn] Process 5718 (/usr/local/avamar/bin/avtar) finished (code 176: fatal signal)
2022-04-20 13:01:14 avndmp Warning : [ctl_spawn] CTL workorder "9am-3pm-Images-165044985231#1" non-zero exit status 'code 176: fatal signal'
2022-04-20 13:01:16 avndmp Error : [snapup-/plz/Images] Premature end of child. Changing exitcode from 176 to 157
O não é indício de causa.
Mensagens de registro do Avtar
log 2022-04-20 13:00:43 avtar Info : Using backup #49 timestamp 2022-04-19 18:08:46 UTC label "mages-165044985231#0" as base for incremental backup
2022-04-20 13:00:43 avtar Info : - Establishing a connection via token to the Data Domain system with encryption (Connection mode: A:3 E:2).
2022-04-20 13:00:43 avtar Info : CDSF backup does not use asynchronous reading of NetApp stream. Disabling that feature.
2022-04-20 13:00:43 avtar Info : Reading inode.dir.map from previous backup
2022-04-20 13:01:14 avtar FATAL : Fatal signal 11 in pid 5718
2022/04/20-13:01:14.76035 [avtar] FATAL ERROR: uapp::handlefatal: Fatal signal 11
2022/04/20-13:01:14.76064 [avtar] ERROR: uapp::handlefatal: aborting program pid=5718, sig=11
2022-04-20 13:01:14 avtar FATAL : handlefatal: Aborting program with code 176, pid=5718, sig=11
Cause
Causa raiz do problema
O problema é causado porque o mapa de inodes é maior do que a memória alocada para o mapa.
Quando lido na memória, ele grava além do limite de memória alocada, causando a mensagem de erro fatal do Signal 11.
Isso ocorre devido ao alto número de inodes para o backup, que excede o segmento de memória reservado para o mapa de inodes.
As mensagens de erro nos registros, como "Fatal signal 11" e "uapp::handlefatal: Fatal signal 11", indicam que o programa encontrou um erro fatal devido à saturação de memória.
2022-04-20 13:01:14 avtar FATAL : Fatal signal 11 in pid 5718 2022/04/20-13:01:14.76035 [avtar] FATAL ERROR: uapp::handlefatal: Fatal signal 11 2022/04/20-13:01:14.76064 [avtar] ERROR: uapp::handlefatal: aborting program pid=5718, sig=11
Resolution
Configuração do Avtar para usar o disco para o armazenamento de mapas de inode.
A solução temporária é armazenar os mapas de inodes em um arquivo de disco em vez de memória. Isso informa ao avtar que, ao ler os mapas de inodes para armazená-los em disco em vez de na memória. Isso elimina o problema de memória SIG-11.
Há dois métodos para definir o indicador stream-disk-buffer a fim de configurar o avtar para usar o disco para o armazenamento de mapa de inodes.
Método 1: Usando a interface do Avamar Administrator
Acesse o conjunto de dados do client, abra a caixa de diálogo On-Demand Backup Options e clique em More Options. A caixa de diálogo Backup Command-Line Options é exibida. Clique em More. Digite [avtar]stream-disk-buffer em Enter Attribute, selecione true nos campos Enter Attribute Value. Clique em ícone Add para adicionar o atributo.
Método 2: Usando avtar.cmd
Usando um editor de texto UNIX, no diretório var do client NAS em /usr/local/avamar/var/CLIENT_NAME, crie um arquivo avtar.cmd. Se o arquivo existir, edite o arquivo existente. No arquivo, em sua própria linha, digite o seguinte indicador:
--stream-disk-buffer
Verificando a resolução
Depois de definir o indicador stream-disk-buffer, verifique se o problema foi resolvido com sucesso verificando nos arquivos de log avndmp.log e avtar se há erros relacionados ao armazenamento de mapas de inodes.