Missing product_uuid after VM migration

General support questions
Post Reply
EduardoT
Posts: 3
Joined: 2022/06/06 15:43:43

Missing product_uuid after VM migration

Post by EduardoT » 2022/06/06 16:12:57

Hi all, wondering if anyone can help. We have a CentOS 7 VM running on Hyper-V. It's a Generation 2 VM and we need to migrate it from a Windows 2012 R2 cluster to a 2016 one.

To migrate the VM I powered the VM down, used the Export facility in Hyper-V to copy it from the 2012 R2 cluster to the 2016 one, used the import facility on the 2016 cluster, with the option to 'Register the virtual machine in place (use the existing unique ID) and then powered it on. The VM boots fine and you can log in, but when you check under /sys/class/dmi/id the product_uuid is not there. From my understanding (I'm afraid I'm more of a Windows technician) this file is generated automatically on system startup and can't be manually created.

Unfortunately, the software that runs on the VM is licensed against the product_uuid and without the file, the software won't run.

Reversing the process (exporting from the 2016 Cluster and importing it back onto the 2012 R2 one) and then powering it on, restores the VMs ability to generate the product_uuid file. So I'm guessing that it is something in the underlying Hypervisor that is causing the issue as opposed to the migration process being used. Needless to say having the VM on the 2012 R2 cluster isn't ideal, we want to decommission it.

Both Hyper-V clusters have the same underlying hardware - same processors and network cards - the only difference being the hosts in the 2016 cluster have twice the amount of RAM present.

Short of creating a new VM on the 2016 cluster and reinstalling/relicensing the software, is there any way I can get this file to generate? I don't want to have to go through this every time we perform an upgrade to the underlying hypervisor.

Any help would be greatly appreciated.

User avatar
TrevorH
Site Admin
Posts: 33216
Joined: 2009/09/24 10:40:56
Location: Brighton, UK

Re: Missing product_uuid after VM migration

Post by TrevorH » 2022/06/06 16:57:29

I have never used that field but I checked on one of my VMs (not Hyper-V) and the contents match what is specified on the host xml that sets up the VM. This is on virtualbox and the xml says <Machine uuid="{e350877c-3d89-4205-9b90-ff124941957c}" name="CentOS 7" OSType="RedHat_64" ... and that uuid is what appears in /sys/class/dmi/id/product_uuid. The same is true on one of my work VMs that runs under libvirt/kvm, the content of that field matches the uuid specified in the VM xml like

Code: Select all

<domain type='kvm'>
  <uuid>22e97cd6-3b10-4266-8899-e5efb288cb93</uuid>
I suspect the VM definition for your VM is lacking the equivalent field?
The future appears to be RHEL or Debian. I think I'm going Debian.
Info for USB installs on http://wiki.centos.org/HowTos/InstallFromUSBkey
CentOS 5 and 6 are deadest, do not use them.
Use the FAQ Luke

Whoever
Posts: 1361
Joined: 2013/09/06 03:12:10

Re: Missing product_uuid after VM migration

Post by Whoever » 2022/06/06 20:47:17

TrevorH wrote:
2022/06/06 16:57:29
I have never used that field but I checked on one of my VMs (not Hyper-V) and the contents match what is specified on the host xml that sets up the VM. This is on virtualbox and the xml says <Machine uuid="{e350877c-3d89-4205-9b90-ff124941957c}" name="CentOS 7" OSType="RedHat_64" ... and that uuid is what appears in /sys/class/dmi/id/product_uuid. The same is true on one of my work VMs that runs under libvirt/kvm, the content of that field matches the uuid specified in the VM xml like

Code: Select all

<domain type='kvm'>
  <uuid>22e97cd6-3b10-4266-8899-e5efb288cb93</uuid>
I suspect the VM definition for your VM is lacking the equivalent field?
On one of my physical CentOS 7 servers, the last part of the product_uuid matches one of the mac addresses.

EduardoT
Posts: 3
Joined: 2022/06/06 15:43:43

Re: Missing product_uuid after VM migration

Post by EduardoT » 2022/06/07 10:35:43

Thank you both for your prompt replies.

So looking at Hyper-V, the equivalent field in the xml is:

<bios_guid type="string">{3E2E8C02-08C0-4F47-9C52-C3FA8A3CB945}</bios_guid>

This value is present and identical on both the imported VM and the exported one.

Surprisingly, I also have a Generation 1 Centos VM (the main difference between Gen 1 and Gen 2 VMs is the former is a legacy boot architecture and a Gen 2 is UEFI) that I migrated using the same method. This does manage to generate the product_uuid.

I'll see if any MS forums can give me a clue.

EduardoT
Posts: 3
Joined: 2022/06/06 15:43:43

Re: Missing product_uuid after VM migration

Post by EduardoT » 2022/06/08 11:45:37

Managed to solve the problem, with an answer from the MS forums, so I thought I'd post it here in case anyone else ever gets this issue.

After migrating a Generation 2 machine to a Hyper-V cluster of a higher Operating System release, you have an option to 'Upgrade the Configuration Version' when the machine is powered off. Performing this task then powering the VM back on has restored its ability to generate the product_uuid file.

Post Reply