NVP-vProxy: os backups falham com "Panic occurred runtime error" quando Data01 está cheio
Summary: Os backups do NetWorker VMware Protection (NVP) vProxy falham com um "-500: ocorreu uma pane: erro de tempo de execução" quando a partição /data01 no equipamento vProxy atinge 100% da capacidade. A partição /data01 armazena logs da sessão de backup com uma retenção padrão de um mês. Quando a partição está cheia, o vProxy não consegue gravar registros da sessão e o processo de backup entra em pane. ...
Symptoms
Os backups de VM falham intermitentemente em um equipamento vProxy específico. O registro de fluxo de trabalho do NetWorker mostra um erro 500 com uma mensagem de tempo de execução de pane:
MM/DD/YYYY HH:MM:SS [VM_NAME]: Unable to start backup on vProxy '[VPROXY_NAME]': Received an HTTP code: 500, libCURL message: "", vProxy message: "Error received from vProxy ="-500: Panic occurred: runtime error: invalid memory address or nil pointer dereference". ", url: "https://[VPROXY_NAME]:9090/api/v1/BackupVmSessions", body: "{"Config":{"SessionId":"","LogTag":"@(#) Build number: 288","IdleTimeout":300,"LogLevel":"TRACE","AcceptedLanguage":"en","TransportModeRequested":"hotadd","Parallelism":1,"UseCbt":true,"AutoEnableCbt":true,"AutoRepairCbt":true,"VimServerRef":{"HostName":"[VCENTER_NAME]","UserName":"S001891","UserPassword":"****","TcpPort":0},"VmSpec":{"Name":"[VM_NAME]","VmMoref":"vm-152712","VirtualDisks":[{"Label":"Hard disk 1","Key":2000}],"CustomFieldName":"Last EMC vProxy Backup","CustomFieldValue":"Backup Server=[NSR_NAME], Policy=[POLICY_NAME], Workflow=[WORKFLOW_NAME], Action=[ACTION_NAME], JobId=490597"},"SnapshotSpec":{"Name":"NetWorker Backup Snapshot","Description":"Snapshot is created as part of protecting this VM by EMC NetWorker VProxy.","Quiesce":false,"DumpMemory":false,"RemoveAll":false,"Consolidate":false},"TargetSpec":{"DeviceType":"DataDomain","HostName":"[DATADOMAIN_NAME]","UserName":"boostadmin","UserPassword":"****","BackupMode":"VSS","BackupPath":"[NSR_NAME]/[DEVICE_NAME]//[NSR_NAME]/[DEVICE_NAME]/05/47/e03a0faf-00000006-9122ca5e-5b22ca5e-5380e9f4-822ca7d4","PreviousBackupPath":"/[NSR_NAME]/[DEVICE_NAME]/75/82/7f12c16b-00000006-2720fcc2-5b20fcc2-40eae9f4-822ca7d4","CurrentBackupPath":"/[NSR_NAME]/[DEVICE_NAME]/active/e03a0faf-00000006-9122ca5e-5b22ca5e-5380e9f4-822ca7d4"}}}".
Se o arquivo /data01 O file system no equipamento vProxy mostra 100% de utilização:
myvproxy:/data01/runtime/logs # df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda4 17G 2.7G 14G 18% /
devtmpfs 3.9G 8.0K 3.9G 1% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 8.8M 3.9G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/sda4 17G 2.7G 14G 18% /.snapshots
/dev/sda4 17G 2.7G 14G 18% /var/crash
/dev/sda4 17G 2.7G 14G 18% /var/tmp
/dev/sda4 17G 2.7G 14G 18% /usr/local
/dev/sda4 17G 2.7G 14G 18% /var/spool
/dev/sda4 17G 2.7G 14G 18% /var/lib/pgsql
/dev/sda4 17G 2.7G 14G 18% /var/opt
/dev/sda4 17G 2.7G 14G 18% /var/lib/mailman
/dev/sda4 17G 2.7G 14G 18% /var/lib/named
/dev/sda4 17G 2.7G 14G 18% /srv
/dev/sda4 17G 2.7G 14G 18% /opt
/dev/sda4 17G 2.7G 14G 18% /home
/dev/sda4 17G 2.7G 14G 18% /tmp
/dev/sda4 17G 2.7G 14G 18% /var/log
/dev/sdb1 82G 82G 20K 100% /data01
/dev/sda2 95M 73M 18M 81% /boot
/dev/sda4 17G 2.7G 14G 18% /boot/grub2/x86_64-efi
/dev/sda4 17G 2.7G 14G 18% /boot/grub2/i386-pc
/dev/sdb2 16G 33M 16G 1% /data01/logs
O espaço é consumido pelos logs da sessão de backup /opt/emc/vproxy/runtime/logs/. Esses logs residem no /data01 ou FAT32. O backup de outras VMs em diferentes equipamentos vProxy continuará sendo bem-sucedido.
Cause
Se o arquivo /data01 file system no equipamento vProxy armazena logs da sessão de backup /opt/emc/vproxy/runtime/. A retenção de registro padrão é de um mês. Em ambientes com alta atividade de backup, os registros de sessão podem consumir todo o espaço disponível em /data01.
Quando a partição atinge 100%, o vProxy não pode criar novos arquivos de log de sessão. O processo de backup identifica uma desreferenciação de ponteiro nula quando não consegue gravar o log. Isso aciona um erro de tempo de execução de pane com o código de status HTTP 500.
Resolution
Opção 1 — Reimplementar o equipamento vProxy
Implemente novamente o equipamento vProxy a partir do console do PPDM ou NetWorker. A reimplementação limpa todos os registros existentes e restaura o /data01 ou FAT32.
Opção 2: recuperar espaço manualmente
Se a reimplementação não for imediatamente possível:
- Faça log-in no ACM usando SSH como
admin. Alternar pararoot:sudo su - root - Exclua registros de sessão reciclados antigos para recuperar espaço:
find /opt/emc/vproxy/runtime/logs/recycle/ -type f -mtime +14 -delete - Verifique se o espaço foi recuperado:
df -h /data01 - Repita o backup das VMs afetadas.
Prevent Recurrence — Configurar um trabalho cron de limpeza de log
Para impedir que /data01 atinja 100% novamente, crie um trabalho de limpeza agendado:
- Faça log-in no ACM usando SSH como
admin. Alternar pararoot:sudo su - root - Crie uma entrada crontab para o
rootusuário:crontab -e - Adicione a seguinte linha para excluir registros de sessão com mais de 14 dias, todos os dias, às 6h:
0 6 * * * find /opt/emc/vproxy/runtime/logs/recycle/vbackupd -type f -mtime +14 -delete - Salve e saia do editor. Verifique o
cronjobcrontab -l
cron O trabalho deve ser recriado.
Entre em contato com o Suporte Dell
Se /data01 continua a encher rapidamente depois de implementar a limpeza, entre em contato com o Suporte Dell para investigar mais. Mencione este artigo da KB.
Additional Information
É possível recuperar o espaço no ponto de montagem /data01 do vProxy excluindo logs de: /data01/runtime/logs/recycle/
Este é um exemplo de procedimento para criar um trabalho cron que exclui os logs com 14 dias:
- Faça log-in no vProxy via SSH como administrador e, em seguida, alterne para root:
sudo su - root - Crie um trabalho crontab para o usuário root com:
crontab -e - No editor de texto, insira a seguinte linha para excluir os logs de sessão com mais de 14 dias todos os dias às 6h:
* 6 * * * find /opt/emc/vproxy/runtime/logs/recycle/vbackupd -type f -mtime +14 -delete
- Visualize o conteúdo do novo trabalho cron do usuário root com:
crontab -l - O número de dias para reter logs pode ser modificado para evitar que o file system atinja 100%.