After shipping a Veeam backup to another site location and attempting to restore, I ran into an issue the other day with a Veeam restore due to different vSphere versions between sites. In Site A we had updated to vSphere 6.5, however, in Site B, they were still running vSphere 6.0. A VM that was created in Site A was at the latest hardware version for vSphere 6.5 (version 13). In vSphere 6.0 ESXi only supports up to hardware version 11. See the official Virtual Machines Hardware versions KB from VMware found here. If you attempt to restore a virtual machine that was created on a newer version of ESXi than the target version of the ESXi can support, you will receive the error with the Veeam Restore VM hardware version is not supported by destination host. Let’s take a look at what this error looks like from the Veeam perspective as well as a workaround.
Veeam Restore VM hardware version is not supported by destination host
The error in Veeam will present very early in the file restore as it will fail on restoring the .VMX file. The VMX file is the configuration file that contains the configuration for the VM hardware version. The error will look like the below:
As shown, the restore using a Full VM Restore will not work. After the VMX file is enumerated and read, Veeam recognizes you are trying to run a full restore of a VM that is not supported on the destination host and will fail the operation.
Additionally, in the default Veeam log files location, found at “C:Program DataVeeamBackup<your servername>”, the VM.<your VM name>.Restore.log will contain the following error to go along with what is shown in the console:
[30.12.2017 15:06:07] <01> Info Job has been stopped with failures. Name: [YourVM], JobId: [8f78234fkf-4960-4390-cc87-e10f1148bx49] [30.12.2017 15:06:07] <01> Error VM hardware version 13 is not supported by destination host (version 6.0) (System.Exception)
Workaround – VM hardware version is not supported by destination host
Since the full VM restore will not work as the VMX file is read including the supported ESXi hardware version, is there another way to get the files on the target ESXi host from an “uplevel” ESXi VM hardware version? Yes there is. We simply need to perform a Veeam VM Files restore. With the Veeam VM Files restore, we are simply telling Veeam to dump the (VMDK, VMX) files contained in the backup to a target datastore.
Without changing anything with the backup for without having to perform another backup of the source VM, we are able to restore the VMware files successfully to the target datastore as shown above. However, we still have the issue where the VM hardware version is above the version supported of the target ESXi host. There are a couple of ways to downgrade the hardware version of the VM in question – one supported and the other unsupported.
Downgrade VMware VM Hardware Version
A supported method to downgrade the VM Hardware Version is to create a new VM with a lower VM Hardware Compatibility level and then add the existing hard drives from the VM file restore. Note below, we have set the Compatibility level to ESXi 6.0. Then we simply need to Add “Existing Hard Disk” and point to the restored files from the Veeam restore.
With the unsupported method, you can use the Veeam VMware VM File restore and edit the restored VMX file to the lower hardware compatibility level. This method is unsupported since a low level edit of the VMX file does not ensure there is no virtual hardware that is not compatible with the virtual machine. If you have newer hardware than the VMX hardware version supports, the virtual machine will not boot. However, I have used the method in several “in a pinch” situations with success. It involves the following:
- Download the VMX file from the datastore (and make a copy)
- Edit the VMX file to reflect the VM hardware compatibility level you want and save it
- Delete the original VMX file from the datastore
- Upload the newly edited VMX file
- Add the Virtual Machine to inventory
- Power on to verify it works correctly
If you are working with Veeam and different sites with potentially different versions of vSphere as you are working through upgrades of your vSphere environment, you may run into problems with Veeam Restore VM hardware version is not supported by destination host. As shown however, this is a problem with the full VM restore. We can still perform the VMware files restore and get the files restored to the destination datastore. After restoring, we can either create a new VM with a lower hardware compatibility level and attach the restored files, or we can perform a low level edit of the VMX file of the restored VM files and add the VM to inventory after making the changes. Either way, it allows you to get up and running with Veeam backups that were created from an uplevel ESXi host.