Challenge
You need to restore a vCenter Server Appliance (VCSA) with the original name and to the original location. Before the VCSA got corrupted or was deleted, High Availability (HA) was enabled in the VMware cluster.If HA remains active at the ESXi host level during the restore process, HA can detect the restored VCSA as a VM with problems. HA will try to bring this VM online by powering it on and using vMotion to move it to another host.
This causes the restore process to fail because the VM gets locked when powered on and moved.
Cause
HA is a VMware that monitors VMs. If a VM stops reporting back, HA assumes that something is wrong with the VM and tries to bring it online. If the VM is powered off, HA can consider that the host is having issues and will try to find the VM, move it to another host and power the VM on the host.
When Veeam Backup & Replication starts the restore process, it copies the VM .vmx file to the datastore and registers it on the host. As soon as the VM is restored and registered with the original name, the restored VM becomes the original VM in the vCenter inventory. Then, HA locates this VM and tries to bring it online.
You will see the following errors related to VM file locks:
Error Failed to restore vm. Name: [<EXAMPLE_VM>] Error DiskLib error: [13].The file is locked or in use -- File open failed: File not open (Veeam.Backup.Common.CCppComponentException) Error [AP] (f10e) error: DiskLib error: [13].The file is locked or in use -- File open failed: File not open Error Unable to write VMX file: /vmfs/volumes/<GUID>/<EXAMPLE_VM>/<EXAMPLE_VM>.vmx. Error Failed to lock the file
This causes the restore process to fail or slows the process for hours so that the process fails due to timeout.
Solution
The following solutions are possible:
- Connect to the host and disable HA.
- Restore the VCSA with a different name so that HA will not consider the VCSA as the original one.
- Use VM Overrides in the cluster settings to disable HA.