NVP-vProxy: tworzenie kopii zapasowych kończy się niepowodzeniem z komunikatem "Panic Occurred runtime error", gdy dane data01 są pełne
Summary: Tworzenie kopii zapasowych vProxy w programie NetWorker VMware Protection (NVP) kończy się niepowodzeniem z komunikatem "-500: Panic occurred: runtime error", gdy partycja /data01 na urządzeniu vProxy osiągnie 100% pojemności. Partycja /data01 przechowuje dzienniki sesji kopii zapasowych z domyślnym przechowywaniem wynoszącym jeden miesiąc. Gdy partycja jest pełna, serwer vProxy nie może zapisywać dzienników sesji, a proces tworzenia kopii zapasowej ulega awarii. ...
Symptoms
Tworzenie kopii zapasowych maszyn wirtualnych sporadycznie kończy się niepowodzeniem na określonym urządzeniu vProxy. Dziennik przepływu pracy NetWorker pokazuje błąd 500 z komunikatem awaryjnego środowiska uruchomieniowego:
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"}}}".
Plik /data01 filesystem na urządzeniu vProxy wykazuje 100% wykorzystania:
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
Miejsce jest wykorzystywane przez dzienniki sesji tworzenia kopii zapasowych w /opt/emc/vproxy/runtime/logs/. Dzienniki te znajdują się na /data01 partition Kopie zapasowe innych maszyn wirtualnych na różnych urządzeniach vProxy będą kontynuowane.
Cause
Plik /data01 filesystem na urządzeniu vProxy przechowuje dzienniki sesji kopii zapasowej w /opt/emc/vproxy/runtime/. Domyślny okres przechowywania dziennika to jeden miesiąc. W środowiskach o dużej aktywności kopii zapasowych dzienniki sesji mogą zajmować całe dostępne miejsce na /data01.
Gdy partycja osiągnie 100%, serwer vProxy nie będzie mógł tworzyć nowych plików dziennika sesji. Proces tworzenia kopii zapasowej napotyka dereferencję wskaźnika nil, gdy nie zapisuje dziennika. Wyzwala to błąd środowiska uruchomieniowego awarii z kodem stanu HTTP 500.
Resolution
Opcja 1 — ponowne wdrożenie urządzenia vProxy
Ponownie wdróż urządzenie vProxy z konsoli PPDM lub NetWorker. Ponowne wdrożenie powoduje wyczyszczenie wszystkich istniejących dzienników i przywrócenie /data01 partition
Opcja 2 — ręczne odzyskiwanie miejsca
Jeżeli przegrupowanie nie jest możliwe od razu:
- Zaloguj się do ACM przy użyciu SSH jako
admin. Przełącz naroot:sudo su - root - Usuń stare odtworzone dzienniki sesji, aby odzyskać miejsce:
find /opt/emc/vproxy/runtime/logs/recycle/ -type f -mtime +14 -delete - Sprawdź, czy miejsce zostało odzyskane:
df -h /data01 - Ponów próbę utworzenia kopii zapasowej maszyn wirtualnych, których dotyczy problem.
Zapobiegaj ponownemu wystąpieniu — skonfiguruj zadanie Cron czyszczenia dziennika
Aby zapobiec ponownemu osiągnięciu /data01 100%, utwórz zaplanowane zadanie oczyszczania:
- Zaloguj się do ACM przy użyciu SSH jako
admin. Przełącz naroot:sudo su - root - Utwórz wpis crontab dla
rootUżytkownik:crontab -e - Dodaj następujący wiersz, aby usunąć dzienniki sesji starsze niż 14 dni każdego dnia o godzinie 6 rano:
0 6 * * * find /opt/emc/vproxy/runtime/logs/recycle/vbackupd -type f -mtime +14 -delete - Zapisz zmiany i zamknij system BIOS. Sprawdź, czy parametr
cronZadaniacrontab -l
cron Zadanie musi zostać utworzone ponownie.
Skontaktuj się z działem pomocy technicznej firmy Dell.
Jeśli /data01 nadal szybko się zapełnia, skontaktuj się z działem pomocy technicznej firmy Dell w celu dokładniejszego zbadania problemu. Zapoznaj się z artykułem z bazy wiedzy:
Additional Information
Miejsce można odzyskać w punkcie montowania /data01 vProxy, usuwając dzienniki z: /data01/runtime/logs/recycle/
Oto przykładowa procedura tworzenia zadania cron, które usuwa dzienniki starsze niż 14 dni:
- Zaloguj się do vProxy przez SSH jako administrator, a następnie przełącz się do katalogu głównego:
sudo su - root - Utwórz zadanie crontab dla użytkownika root za pomocą:
crontab -e - W edytorze tekstów wstaw następujący wiersz, aby usunąć dzienniki sesji starsze niż 14 dni każdego dnia o godzinie 6 rano:
* 6 * * * find /opt/emc/vproxy/runtime/logs/recycle/vbackupd -type f -mtime +14 -delete
- Wyświetl zawartość nowego zadania cron użytkownika głównego za pomocą:
crontab -l - Liczba dni przechowywania dzienników może zostać zmodyfikowana, aby system plików nie osiągnął 100%.