NVP-vProxy: Image level restore failing with "Could not update vmx file's 'nvram' entry"
Summary: Virtual Machine (VM) image and instant recoveries are failing with "Could not update vmx file's 'nvram' entry"
Symptoms
The NetWorker VMware Protection (NVP) integration is configured with the vProxy Appliance. Image level recoveries (virtual machine and instant) are failing after creating the directory of the recovered VM with the following errors in restore logs:
159373:nsrvproxy_recover: vProxy Log: YYYY-MM-DDTHH:MM:SSZ INFO: [@(#) Build number: 34] Creating directory for storage type "VMFS".
159373:nsrvproxy_recover: vProxy Log: YYYY-MM-DDTHH:MM:SSZ INFO: [@(#) Build number: 34] Successfully created the directory "[Datastore] <recovered VM name>" in datastore.
159373:nsrvproxy_recover: vProxy Log: YYYY-MM-DDTHH:MM:SSZ WARN: [@(#) Build number: 34] Did not find nvram entry in vmx file.
159373:nsrvproxy_recover: vProxy Log: YYYY-MM-DDTHH:MM:SSZ ERROR: [@(#) Build number: 34] Could not update vmx file's 'nvram' entry.
159373:nsrvproxy_recover: vProxy Log: YYYY-MM-DDTHH:MM:SSZ ERROR: [@(#) Build number: 34] Unable to upload the configuration files: "Could not update vmx file's 'nvram' entry."
159373:nsrvproxy_recover: vProxy Log: YYYY-MM-DDTHH:MM:SSZ WARN: [@(#) Build number: 34] RecoverVMSessions "11cda4f5-b22d-4fb6-8c1f-98ddbd9c4e05" cleaning up running recover session due to error.
159373:nsrvproxy_recover: vProxy Log: YYYY-MM-DDTHH:MM:SSZ ERROR: [@(#) Build number: 34] Task to remove folder/file "" failed: Invalid datastore path ''.
159373:nsrvproxy_recover: vProxy Log: YYYY-MM-DDTHH:MM:SSZ ERROR: [@(#) Build number: 34] Unable to remove the VM directory . Invalid datastore path ''.
159373:nsrvproxy_recover: vProxy Log: YYYY-MM-DDTHH:MM:SSZ ERROR: [@(#) Build number: 34] Unable to tear down the recover session.
159373:nsrvproxy_recover: vProxy Log: YYYY-MM-DDTHH:MM:SSZ INFO: [@(#) Build number: 34] Disconnected from session on vCenter 'vappvm101.dc.vapp.ctc'.
159373:nsrvproxy_recover: vProxy Log: YYYY-MM-DDTHH:MM:SSZ ERROR: [@(#) Build number: 34] Failed to recover to a new VM. Could not update vmx file's 'nvram' entry.
The issue occurred across multiple save sets of a single VM, including latest backups, despite successful download of the VM’s vmx file.
Cause
The VMs vmx file was missing the nvram entry that identifies the VM's nvram file (Example: nvram = "VM_name.nvram").
The issue was likely caused due to an error during the deployment/import of the VM on vCenter server.
The save sets' configuration files matched the vmx file of the VM for the points-in-time when the backups were taken.
Resolution
In order to prevent the issue for future backups, the virtual machine's vmx file must be updated with the nvram file entry. A VMware Administrator must perform this change.
The VMs .vmx file can be downloaded from the VMs datastore folder:
Open the vmx file with a text editor. Ensure that the file contains a line specifying the nvram file, for example:
If the entry is missing, add it into the file with the correct nvram file name. Save the file, shut down the VM and upload the updated .vmx file back to the VMs datastore folder in VMware. Power on the VM.
Restores performed for backups taken after this correction is made are not expected to encounter this failure.