NVP-vProxy: Резервні копії відмовляються через «Panic Happened Runtime Error», коли Data01 заповнений
Summary: Резервні копії vProxy NetWorker VMware Protection (NVP) не дають результату з повідомленням "-500: Виникла паніка: помилка під час виконання", коли розділ /data01 на пристрої vProxy досягає 100% пропускної здатності. Розділ /data01 зберігає журнали резервних сесій із стандартним терміном зберігання один місяць. Коли розділ заповнений, vProxy не може записувати журнали сесій, і процес резервного копіювання панікує. ...
Symptoms
Резервні копії віртуальних машин періодично відмовляються на конкретному пристрої vProxy. Журнал робочого процесу NetWorker показує помилку 500 з повідомленням панічного виконання:
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"}}}".
Повідомлення /data01 файлова система на пристрої vProxy показує 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
Простір займається вхідними записами для резервних сесій /opt/emc/vproxy/runtime/logs/. Ці колоди зберігаються на /data01 розділ. Інші віртуальні машини на різних vProxy-пристроях продовжать успішно робити резервне копіювання.
Cause
Повідомлення /data01 файлова система на пристрої vProxy зберігає резервні записи сесій. /opt/emc/vproxy/runtime/. Стандартне зберігання журналу — один місяць. У середовищах з високою активністю резервного копіювання журнали сесій можуть займати весь доступний простір на /data01.
Коли розділ досягає 100%, vProxy не може створювати нові файли журналу сесії. Процес резервного копіювання стикається з відключенням вказівника nul, якщо не може записати журнал. Це викликає панічну помилку під час виконання з HTTP-кодом статусу 500.
Resolution
Варіант 1 — Повторне розгортання vProxy Appliance
Перерозгорніть пристрій vProxy з консолі PPDM або NetWorker. Redeployment очищає всі існуючі журнали та відновлює /data01 розділ.
Варіант 2 — ручне відновлення місця
Якщо перерозподіл неможливий одразу:
- Увійти до vProxy через SSH як
admin. Перейти наroot:sudo su - root - Видаліть старі перероблені журнали сесій, щоб повернути місце:
find /opt/emc/vproxy/runtime/logs/recycle/ -type f -mtime +14 -delete - Місце для перевірки відновлено:
df -h /data01 - Спробуйте повторити резервне копіювання для постраждалих віртуальних машин.
Запобігти повторенню — налаштувати завдання cron для очищення журналу
Щоб запобігти повторному наближенню /data01 до 100%, створіть заплановане завдання очищення:
- Увійти до vProxy через SSH як
admin. Перейти наroot:sudo su - root - Створіть запис crontab для
rootКористувачіcrontab -e - Додайте наступний рядок, щоб щодня о 6 ранку видаляти журнали сесій старші за 14 днів:
0 6 * * * find /opt/emc/vproxy/runtime/logs/recycle/vbackupd -type f -mtime +14 -delete - Збережіть і вийдіть з редактора. Перевірте
cronРобота:crontab -l
cron Робота має бути відновлена.
Зверніться до технічної підтримки Dell.
Якщо /data01 після впровадження очищення продовжує швидко заповнюватися, звертайтеся до підтримки Dell для подальшого розслідування. Посилайтеся на цю статтю в ключовій базі.
Additional Information
Місце можна звільнити на точці монтування /data01 vProxy шляхом видалення журналів з: /data01/runtime/logs/recycle/
Ось приклад процедури для створення cron завдання, яке видаляє журнали, яким 14 днів:
- Увійдіть у vProxy через SSH як адміністратор, а потім перейдіть на root:
sudo su - root - Створіть завдання crontab для користувача root за допомогою:
crontab -e - У текстовому редакторі вставте наступний рядок для щоденного видалення журналів сесій старше 14 днів о 6 годині ранку:
* 6 * * * find /opt/emc/vproxy/runtime/logs/recycle/vbackupd -type f -mtime +14 -delete
- Перегляньте вміст нової cron-задачі користувача root за допомогою:
crontab -l - Кількість днів для зберігання журналів може бути змінена таким чином, щоб файлова система не досягала 100%.