How to upgrade the Hyper-V VM Configuration version on legacy VMs to support newest NovaBACKUP Generic S3 storage devices. Note: The chart at the bottom of this article shows the list of all of the VM Configuration versions, but concerning NovaBACKUP and Generic S3 storage devices, you will need to know that VM Configuration version 5.0 is the oldest Hyper-VM Configuration version that is supported by our product for those two device target types, otherwise the backup will fail to those target devices.
For those NovaBACKUP customers that at some point had old Hyper-V Server 2003/2008/2008 R2 OS created Hyper-V VMs in place created with any of those versions, in order to backup Hyper-V VMs that were originally created with those old legacy Server 2003/2008/2008 R2 OS's, even though those VMs do exist and are able to run in Hyper-V Manager on your newer Server 2016/2019/2022 OS's, then you will be required to "Upgrade the VM Configuration version" on each of those legacy VMs (that utilize an old Hyper-V Version, which is a property of each VM that can be identified in Hyper-V Manager or via PowerShell, more on that later) to whatever the latest the matches your current Server OS, and so in that case if I have two 2008 R2 created Hyper-V VMs in my Hyper-V Manager on a Server 2016 OS, and which are working to be able to boot and run, etc., then in order for NovaBACKUP to be able to backup to either a Generic S3 storage device target or a Local FPI device target, and how to do that is detailed below.
The Hyper-V backup to Generic S3 device target error may look like this example shows, if backing up Hyper-V to Generic S3 storage device, on a Server 2016 OS, due to some or most of the Hyper-V VMs were the old legacy VM configuration version 3.0 (the OS that created those two Hyper-V VMs originally was Server 2008 R2 OS which equates to VM Configuration version 3.0 which is not supported for those two target backup devices, which are selected in the S3 Cloud backup job which causes instant job failure at the start due to the VMs haven't had their "VM Configuration version" upgraded yet; which is easy to do and we explain how to do that after this:
And this is the error messages text seen at the bottom of the above screenshot, more clear to read here in text format:
Error | Could not proceed the backup due to internal error : >wrn*0x0000:4011*jsn: the json text could not be parsed: * line 1, column 356 | 10/11/2023 10:24:29 AM |
Error | Could not proceed the backup due to internal error : failed to execute commandline: 0x00004011: 'jsn: the json text could not be parsed: * line 1, column 356 | 10/11/2023 10:24:29 AM |
Information | syntax error: value, object or array expected. | 10/11/2023 10:24:29 AM |
Information | syntax error: value, object or array expected.' location: jsoncpp.ext.ipp:37-nv::json::value::setcontent | 10/11/2023 10:24:29 AM |
First of all realize that NovaBACKUP 20.1 is able to backup Hyper-V VMs but only if they are utilizing a Hyper-V VM version that uses VM Configuration version 5.0 and higher (5.0 being Server 2012 R2, and up to 10.0 being Server 2022), for backup targets that are either Generic S3 storage device or a local FPI storage device (other backup targets that are not those two can still backup Server 2008 R2 created VMs however, which would equate to VM Configuration version 3.0). Your S3 Cloud VM backup jobs would still work for those same legacy version Hyper-V VMs if your backup target device were anything other than those two target device types. The two mentioned Generic S3 storage device and local FPI storage device storage devices in NovaBACKUP 20.1 now only support Hyper-V backup and restore if the version equates to Server 2012 R2 and above (VM configuration 5.0 and higher), for the VM Configuration version per each VM. Note: However we would stress that it still be best practice if using the legacy storage device targets, that you go ahead and identify all of your Hyper-V VM versions and then upgrade the VM Configuration version of ALL of your Hyper-V VMs, so that you can be ready to utilize the latest storage devices that NovaBACKUP 20.1 contains and in the future will add, as there are some exciting things in store which provide improved backup speeds, and easier to utilize retention, etc..
- First you must identify which Hyper-V VMs utilize a legacy less than VM Configuration 5.0 version number (so Hyper-V 2008 R2 or older VM configuration versions, see the chart second image from the bottom of this article for the complete current list of VM configuration versions), so in that case take note of ALL VM versions that are older than version 5.0 (5.0 being the min. supported version for the two mentioned new storage device types), per VM that is selected for backup in any backup job that utilizes for the backup to / target location either Generic S3 storage device or the (upcoming in a future version) local FPI device target (which for the latter is a replacement backup engine that will replace the legacy backup engine in NovaBACKUP for local devices, such as hard drives, and for network / UNC path locations. In order to see the VM Configuration versions for each VM on a Hyper-V Server, there are two methods to utilize to check that, in modern versions of Hyper-V Manager (2016/2019/2022) you can add a new column to your Hyper-V Manager to be able to display the "Configuration Version" column, which won't by default be enabled as a column in that app, or you can use the Windows Admin PowerShell command below (which all of the commands are also seen in the first screenshot below this section, so you probably want to view that full screenshot to follow along with these text instructions we would recommend):
- Get-VM * | Format-Table Name, Version
- Then shutdown each Hyper-V VM that is utilizing a legacy older than 5.0 VM Configuration version, see chart which is second image from the bottom of this article for the full VM versions list that matches the OS version, in that case the version that is required by NovaBACKUP backup to Generic S3/FPI device targets, to upgrade would be any version that is less than Version "5.0".
- Once the VM is shutdown and not running, via Hyper-V Manager app right-click on that VM, that contained a version less than 5.0, and perform the "Upgrade configuration version" function either via the Hyper-V Manager app by right-clicking on that VM and using that function in the menu labeled as that, or by using the Windows Admin PowerShell command below (and as seen in the first screenshot below this section). Note: If you use the PowerShell command method, make sure to surround the VM name in quotes, if the VM name contains ANY space characters that will be required to do):
- Update-VMVersion <vmname>
- Upgrade the VM Configuration version, with either method detailed above, per each VM that requires that change so that NovaBACKUP 20.1 can handle backing up to the mentioned two latest device types, to the latest VM Configuration version that your Hyper-V 2012 R2/2016/2019/2022 Server OS supports (the min VM Configuration version being equal to 5.0 for NovaBACKUP 20.1 ), In that case it would equate to VM Configuration version 8.0 at maximum on a Hyper-V 2016 Server OS, or 9.0 at maximum if you are on Hyper-V 2019 Server OS. The guide is here on how to do that and the versions chart: https://learn.microsoft.com/en-us/windows-server/virtualization/hyper-v/deploy/upgrade-virtual-machine-version-in-hyper-v-on-windows-or-windows-server.
A visual representation of the above steps / commands, done via an Admin PowerShell Prompt, can be seen in the first screenshot below, where the commands issued and the commands output is seen in the PowerShell session on the right; and after the two VMs that use an unsupported VM configuration, in that case equal to version 3.0 (that for those two VMs had originally been created in Hyper-V 2008 R2 on Server 2008 R2 OS) that were upgraded then at the end display the NEW VM version inside both Hyper-V Manager running on Server 2016 OS, and in the PowerShell session at the bottom:
This screenshot example below details what it would look like on a Hyper-V 2016 (Server 2016 OS) machine, using Hyper-V Manager and PowerShell on that system to perform the VM configuration upgrade from 3.0 to 8.0 (to match the highest version supported by Server 2016) on two VMs, that would require to be upgraded otherwise the entire VM backup job selection will fail to backup using either a Generic S3 storage device or a local FPI storage device target (which if all VMs are part of the S3 backup job in this case, 2 x 3.0, 2 x 5.0, and 4 x 8.0 VM configurations, so if you have a VM backup job to S3 Cloud, and it only contains Hyper-V VMs, in this case all of them listed in the example (before we do an upgrade of the VM configuration version on two of the VMs that equal version 3.0, then just due to the 2 existing VMs that are not a supported VM configuration, that equal version 3.0, will cause the entire backup job to fail at the start, and not just skip those two VMs that use unsupported VM versions):
Note: If the VM is already at the maximum supported version by the current Hyper-V Server OS, in this case it is a Server 2016 OS Hyper-V Server, and all VMs are already at the maximum VM configuration version = 8.0, then you will see a different message when you go to right-click on the VM to perform the VM configuration via the GUI method in HV Manager, or if you use the "Update-VMVersion <vmname>" command via PowerShell, which in that case would look like this screenshot example (and notice the right-click menu is missing the "Upgrade configuration version" function:
This is the Full list of Hyper-V VM versions (history) chart, and in that case Version 5.0 in the chart equals the oldest VM configuration version that NovaBACKUP 20.1 can support for backup targets that are either Generic S3 storage device or a local FPI storage device, for Hyper-V backup jobs:
The "Supported VM configuration versions for long-term servicing hosts" chart seen in the prior linked Microsoft article, here, is helpful to read and know about, and in that case "Hyper-V host Windows version" (which equates to the "VM configuration version") shows that 5.0 as the oldest version in the chart, which in that case equals the oldest VM configuration version that NovaBACKUP can support for backup targets that are either Generic S3 storage device or a local FPI storage device, for Hyper-V backup jobs: