NVP-vProxy: i backup hanno esito negativo con "errore di runtime si è verificato un errore di runtime" quando data01 è pieno
Summary: I backup di NetWorker VMware Protection (NVP) vProxy hanno esito negativo con "-500: Panic occurred: runtime error" quando la partizione /data01 sull'appliance vProxy raggiunge il 100% della capacità. La partizione /data01 archivia i log delle sessioni di backup con una retention predefinita di un mese. Quando la partizione è piena, vProxy non è in grado di scrivere i registri della sessione e il processo di backup presenta un errore irreversibile. ...
Symptoms
I backup delle VM hanno esito negativo in modo intermittente su uno specifico appliance vProxy. Il registro del flusso di lavoro di NetWorker mostra un errore 500 con un messaggio di runtime con errore irreversibile:
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"}}}".
I tasti /data01 Il file system sull'appliance vProxy mostra un utilizzo del 100%:
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
Lo spazio viene utilizzato dai log della sessione di backup in /opt/emc/vproxy/runtime/logs/. Questi registri risiedono su /data01 partizione FAT16 o FAT32. Il backup di altre macchine virtuali su appliance vProxy diversi continuerà a essere eseguito correttamente.
Cause
I tasti /data01 Il file system sull'appliance vProxy archivia i registri della sessione di backup in /opt/emc/vproxy/runtime/. La retention predefinita dei registri è di un mese. In ambienti con elevata attività di backup, i registri di sessione possono utilizzare tutto lo spazio disponibile su /data01.
Quando la partizione raggiunge il 100%, vProxy non può creare nuovi file di registro della sessione. Il processo di backup rileva una dereferenziazione del puntatore nil quando non riesce a scrivere il registro. In questo modo si genera un errore di runtime con errore irreversibile con codice di stato HTTP 500.
Resolution
Opzione 1 - Reinstallare l'appliance vProxy
Reinstallare l'appliance vProxy dalla console PPDM o NetWorker. La reinstallazione cancella tutti i registri esistenti e ripristina il /data01 partizione FAT16 o FAT32.
Opzione 2 - Recupero manuale dello spazio
Se il redeployment non è immediatamente possibile:
- Accedere a vProxy tramite SSH come
admin. Passare aroot:sudo su - root - Eliminare i vecchi registri di sessione riciclati per recuperare spazio:
find /opt/emc/vproxy/runtime/logs/recycle/ -type f -mtime +14 -delete - Verificare che lo spazio sia stato recuperato:
df -h /data01 - Riprovare a eseguire il backup per le macchine virtuali interessate.
Prevenire la ricorrenza: configurare un processo di scrittura per la pulizia del registro
Per evitare che /data01 raggiunga nuovamente il 100%, creare un processo di pulitura pianificato:
- Accedere a vProxy tramite SSH come
admin. Passare aroot:sudo su - root - Creare una voce crontab per
rootUserscrontab -e - Aggiungere la riga seguente per eliminare i log delle sessioni più vecchi di 14 giorni ogni giorno alle 6:00:
0 6 * * * find /opt/emc/vproxy/runtime/logs/recycle/vbackupd -type f -mtime +14 -delete - Salvare e chiudere i file. Verificare il .
cronLavoricrontab -l
cron Il lavoro deve essere ricreato.
Contattare il supporto tecnico Dell
if /data01 continua a riempirsi rapidamente dopo aver implementato la pulizia, contattare il Supporto Dell per ulteriori indagini. Fare riferimento all'articolo della Knowledge Base:
Additional Information
Lo spazio può essere recuperato sul mount point /data01 del vProxy eliminando i log da: /data01/runtime/logs/recycle/
Di seguito è riportato un esempio di procedura per creare un cron job che elimina i log risalenti a 14 giorni fa:
- Accedere a vProxy tramite SSH come admin, quindi passare a root:
sudo su - root - Creare un job crontab per l'utente root con:
crontab -e - Nell'editor di testo, inserire la riga seguente per eliminare i registri delle sessioni più vecchi di 14 giorni ogni giorno alle 6:00:
* 6 * * * find /opt/emc/vproxy/runtime/logs/recycle/vbackupd -type f -mtime +14 -delete
- Visualizzare il contenuto del nuovo cron job dell'utente root con:
crontab -l - Il numero di giorni di conservazione dei registri può essere modificato per evitare che il file system raggiunga il 100%.