NVP-vProxy : Les sauvegardes échouent avec l’erreur « Panic occurred runtime error » lorsque data01 est saturé
Summary: Les sauvegardes vProxy NetWorker VMware Protection (NVP) échouent avec le message « -500 : Panic occurred : runtime error » lorsque la partition /data01 de l’appliance vProxy atteint 100 % de sa capacité. La partition /data01 stocke les journaux des sessions de sauvegarde avec une rétention par défaut d’un mois. Lorsque la partition est saturée, le vProxy ne peut pas écrire les logs de session et le processus de sauvegarde présente un fonctionnement inattendu. ...
Symptoms
Les sauvegardes de machines virtuelles échouent par intermittence sur une appliance vProxy spécifique. Le journal de workflow NetWorker affiche une erreur 500 accompagnée d’un message d’exécution inattendu :
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"}}}".
Les touches /data01 Le système de fichiers sur l’appliance vProxy affiche un taux d’utilisation de 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
L’espace est consommé par les journaux de session de sauvegarde dans /opt/emc/vproxy/runtime/logs/. Ces journaux résident sur le /data01 ou FAT32. Les autres machines virtuelles sur différentes appliances vProxy continueront à être sauvegardées avec succès.
Cause
Les touches /data01 Le système de fichiers sur l’appliance vProxy stocke les journaux de session de sauvegarde dans /opt/emc/vproxy/runtime/. Par défaut, la rétention des logs est d’un mois. Dans les environnements où l’activité de sauvegarde est élevée, les logs de session peuvent consommer tout l’espace disponible sur /data01.
Lorsque la partition atteint 100 %, le vProxy ne peut pas créer de nouveaux fichiers log de session. Le processus de sauvegarde rencontre un déréférencement de pointeur nul lorsqu’il ne parvient pas à écrire le journal. Cela déclenche une erreur d’exécution d’urgence avec le code d’état HTTP 500.
Resolution
Option 1 : redéployer l’appliance vProxy
Redéployez l’appliance vProxy à partir de la console PPDM ou NetWorker. Le redéploiement efface tous les logs existants et restaure le /data01 ou FAT32.
Option 2 : récupérer manuellement de l’espace
Si le redéploiement n’est pas immédiatement possible :
- Connectez-vous à vProxy via SSH en tant que
admin. Basculez versroot:sudo su - root - Supprimez les anciens logs de session recyclés pour récupérer de l’espace :
find /opt/emc/vproxy/runtime/logs/recycle/ -type f -mtime +14 -delete - Vérifiez que l’espace a été récupéré :
df -h /data01 - Relancez la sauvegarde des machines virtuelles concernées.
Prevent Recurrence : configurez une tâche cron de nettoyage des logs
Pour empêcher /data01 d’atteindre à nouveau 100 %, créez une tâche de nettoyage planifiée :
- Connectez-vous à vProxy via SSH en tant que
admin. Basculez versroot:sudo su - root - Créez une entrée crontab pour l’objet
rootUtilisateur :crontab -e - Ajoutez la ligne suivante pour supprimer les logs de session datant de plus de 14 jours, tous les jours à 6 h :
0 6 * * * find /opt/emc/vproxy/runtime/logs/recycle/vbackupd -type f -mtime +14 -delete - Enregistrez le fichier et fermez-le. Vérifiez les .
cronTâchescrontab -l
cron La tâche doit être recréée.
Contactez le support Dell.
Si /data01 continue de se remplir rapidement après la mise en œuvre du nettoyage, contactez le support Dell pour une procédure d’enquête plus approfondie. Consultez l’article de la base de connaissances :
Additional Information
Vous pouvez récupérer de l’espace sur le point de montage /data01 du vProxy en supprimant les logs de : /data01/runtime/logs/recycle/
Voici un exemple de procédure pour créer une tâche cron qui supprime les journaux datant de 14 jours :
- Connectez-vous à vProxy via SSH en tant qu’administrateur, puis passez à l’utilisateur root :
sudo su - root - Créez une tâche crontab pour l’utilisateur root avec :
crontab -e - Dans l’éditeur de texte, insérez la ligne suivante pour supprimer les journaux de session datant de plus de 14 jours, tous les jours à 6 h :
* 6 * * * find /opt/emc/vproxy/runtime/logs/recycle/vbackupd -type f -mtime +14 -delete
- Affichez le contenu de la nouvelle tâche cron de l’utilisateur root avec :
crontab -l - Le nombre de jours de conservation des journaux peut être modifié pour empêcher le système de fichiers d’atteindre 100 %.