NVP-vProxy: il backup della macchina virtuale ha esito negativo con il messaggio "Failed to lock virtual machine for backup"
Summary: I backup vProxy di NetWorker VMware Protection (NVP) hanno esito negativo perché vProxy non riesce a bloccare la macchina virtuale all'inizio del flusso di lavoro di backup. Un'operazione di backup precedente ha lasciato gli attributi di blocco della macchina virtuale attivi dopo aver riscontrato un problema durante l'esecuzione. Il blocco obsoleto impedisce l'avvio di nuove operazioni di backup sulla VM interessata. ...
Symptoms
L'integrazione NVP utilizza un appliance vProxy per eseguire i backup delle VM. Un backup ha esito negativo all'inizio del flusso di lavoro con un messaggio che indica che un'altra operazione vProxy è attiva.
Il log di backup di vProxy mostra l'errore di blocco:
YYYY/MM/DD HH:MM:SS INFO: [@(#) Build number: 43] Another vProxy operation is active on VM vm-XXX: {Operation:Backup StartTime:YYYY-MM-DDTHH:MM:SSZ Proxy:[VPROXY_NAME] SessionId:4cf6f76c-ef6c-435d-880c-77fbaf49e17d}
YYYY/MM/DD HH:MM:SS ERROR: [@(#) Build number: 43] Failed to lock Virtual Machine for backup: Another vProxy operation is active on VM vm-XXX: {Operation:Backup StartTime:YYYY-MM-DDTHH:MM:SSZ Proxy:[VPROXY_NAME] SessionId:4cf6f76c-ef6c-435d-880c-77fbaf49e17d}.
Nessuna altra operazione di backup o restore è attualmente in esecuzione sulla VM. Il blocco è obsoleto da un precedente backup non riuscito.
Cause
Il flusso di lavoro di backup vProxy imposta gli attributi personalizzati delle VM all'inizio di ogni backup. Questi attributi impediscono più operazioni vProxy sulla stessa VM. Il flusso di lavoro rimuove gli attributi al termine del backup.
Se un backup precedente ha riscontrato un problema durante l'esecuzione, gli attributi potrebbero non essere rimossi. Il blocco obsoleto persiste e blocca tutte le nuove operazioni di backup sulla VM.
Gli attributi personalizzati delle VM coinvolti sono EMC vProxy Session e Last EMC vProxy.
Resolution
Sono disponibili due metodi per cancellare il blocco della VM non aggiornato.
Metodo 1: cancellare il blocco utilizzando l'utilità vmconfig
- Aprire una sessione SSH su uno degli appliance vProxy. Eseguire l'autenticazione come root.
- Caricare le variabili di ambiente vProxy:
source /opt/emc/vproxy/unit/vproxy.env - Eseguire una query sullo stato di blocco della VM per confermare che il blocco sia attivo:
/opt/emc/vproxy/bin/vmconfig -v <vcenter_fqdn> -u '<vcenter_user>' -p '<vcenter_password>' -c "info" -l moref -k <vm_moref> - L'output mostra Backup Locked: true se il blocco è attivo.
- Reimpostare il blocco di backup:
/opt/emc/vproxy/bin/vmconfig -v <vcenter_fqdn> -u '<vcenter_user>' -p '<vcenter_password>' -c "reset-backup" -l moref -k <vm_moref> - Eseguire nuovamente una query sulla VM per verificare che il blocco sia stato cancellato:
/opt/emc/vproxy/bin/vmconfig -v <vcenter_fqdn> -u '<vcenter_user>' -p '<vcenter_password>' -c "info" -l moref -k <vm_moref> - L'output dovrebbe mostrare Backup Locked: false.
- Riprovare a eseguire il backup per la VM interessata.
Metodo 2: cancellare il blocco utilizzando vSphere Web Client
- Accedere a vSphere Web Client.
- Passare alla macchina virtuale interessata.
- Modificare gli attributi personalizzati per la VM.
- Rimuovere i valori per i seguenti attributi:
- Sessione EMC vProxy
- Ultimo vProxy EMC
- Salvare le modifiche e riprovare a eseguire il backup.
Additional Information
Output di esempio:
myvproxyname:~ # /opt/emc/vproxy/bin/vmconfig -v vCenter_name.domain.com -u myProxyUser@vsphere.local -p myProxyPassword -c "info" -l moref -k vm-96
VM Config
vCenter: "vCenter_name.domain.com", User: "myProxyUser@vsphere.local", Password: "myProxyPassword", Lookup Mode: "moref", Lookup Key: "vm-96", Command: "info"
Logged into vCenter 'vCenter_name.domain.com'.
Connected to session on vCenter 'vCenter_name.domain.com' Version '6.5.0 build-8307201, API:6.5', Uuid:5b106da3-cb53-48e6-af57-7ac1d5154ab6.
Found virtual machine "virtualmachine_name.domain.com" with MORef "vm-96".
Name: "virtualmachine_name.domain.com".
CBT Enabled: true.
Migration Enabled: true.
Backup Locked: true.
Disconnected from session on vCenter 'vCenter_name.domain.com'.
Logged out from vCenter 'vCenter_name.domain.com'.
myvproxyname:~ # /opt/emc/vproxy/bin/vmconfig -v vCenter_name.domain.com -u myProxyUser@vsphere.local -p myProxyPassword -c "reset-backup" -l moref -k vm-96
VM Config
vCenter: "vCenter_name.domain.com", User: "myProxyUser@vsphere.local", Password: "myProxyPassword", Lookup Mode: "moref", Lookup Key: "vm-96", Command: "reset-backup"
Logged into vCenter 'vCenter_name.domain.com'.
Connected to session on vCenter 'vCenter_name.domain.com' Version '6.5.0 build-8307201, API:6.5', Uuid:5b106da3-cb53-48e6-af57-7ac1d5154ab6.
Found virtual machine "virtualmachine_name.domain.com" with MORef "vm-96".
Clearing EMC vProxy Session lock for virtual machine "virtualmachine_name.domain.com" "vm-96", locked by "{Operation:Backup StartTime:2018-07-31 09:36:31.487334906 -0700 PDT Proxy:myvproxyname SessionId:test-lock}".
Set custom attribute 'EMC vProxy Session' value for object vm-96 to ''.
Backup lock is cleared.
Initializing VDDK...
Migration is already enabled.
De-initializing VDDK libraries.
Disconnected from session on vCenter 'vCenter_name.domain.com'.
Logged out from vCenter 'vCenter_name.domain.com'.
myvproxyname:~ # /opt/emc/vproxy/bin/vmconfig -v vCenter_name.domain.com -u myProxyUser@vsphere.local -p myProxyPassword -c "info" -l moref -k vm-96
VM Config
vCenter: "vCenter_name.domain.com", User: "myProxyUser@vsphere.local", Password: "myProxyPassword", Lookup Mode: "moref", Lookup Key: "vm-96", Command: "info"
Logged into vCenter 'vCenter_name.domain.com'.
Connected to session on vCenter 'vCenter_name.domain.com' Version '6.5.0 build-8307201, API:6.5', Uuid:5b106da3-cb53-48e6-af57-7ac1d5154ab6.
Found virtual machine "virtualmachine_name.domain.com" with MORef "vm-96".
Name: "virtualmachine_name.domain.com".
CBT Enabled: true.
Migration Enabled: true.
Backup Locked: false.
Disconnected from session on vCenter 'vCenter_name.domain.com'.
Logged out from vCenter 'vCenter_name.domain.com'.
myvproxyname:~ #