I have a cluster of three ESX servers. They are IBM 3650's and they are the exact same hardware purchased at the exact same time. They even have the same exact versions of firmware (bios, bmc, nic firmware, hba's, raid, hard drive firmware, rsa, etc.). I started upgrading them from ESX 3.5u3 to ESX4 with all the latest patches. I upgraded one and then moved some vm's onto it and upgraded vmware tools and the virtual hardware without issue. So then I went and upgraded the next ESX server and started moving machines onto that one and upgraded vmware tools and virtual hardware. I tested the functionality of the ESX servers and they appeared to work appropriately. I vmotioned an vm hardware version 4 machine between the two upgraded ESX hosts fine so I was continuing with the upgrade process. Then I had to vmotion one of the upgraded virtual machines (hardware version 7) between the two newly upgraded ESX hosts and they won't vmotion. It gives me the error Host CPU is incompatible with the virtual machine's requirements at CPUID level 0x1 register 'ecx'. The complete error message is in the attachment.
Apparently, the upgrade of the virtual machine hardware has exposed some additional things to the virtual machine which is preventing vmotion from working. I don't know what and I am pretty surprised since these machines are identical hardware and identical firmware.
One other odd thing is that I can vmotion an XP virtual machine that is in hardware version 7 between the newly upgraded ESX hosts, but can't vmotion a 2003 server that has been upgraded to hardware version 7.
I just spoke with a vmware technical representative and I guess this has to do with a holdover from ESX 3.0.2. If the virtual machine was created in a version of 3.0.2 or less there are settings in the virtual machine that that KB article will reset. Thanks for the info.
Hi, is there a way to script this update?
I have SR# 1442444201 open on this. I got a response today:
"The issue you are experiencing is caused by a change in CPU masking implementing in ESX 3.5 U2. The problem is not related to the Hotfix specifically. This will occur whether EVC is enabled or not, so adding the virtual machines to an EVC cluster will produce the same error.
VMware will be releasing a fix for this issue in ESX 4.0. The fix will be included in an update and not a normal patch. I cannot comment on the release date for this update, however it is expected to be available shortly.
We are also finalizing a powershell script that will be attached to the KB article you referenced that will adjust the CPU masks of multiple powered on virtual machines. I will notify you when this script is available."
I had this very same issue today in one of my production environments. Here is what the support rep had me do...
Power down the VM (that would not vMotion), edit settings, options tab, under advanced - go to CPUID Mask and click on the advanced button on the right, then click "Reset All to Default".
I powered back on and I was able to vMotion again. I have the same setup as you, but with Dell hardware. EVC is enabled in the cluster, but that really didn't matter. The support rep didn't mention any patches for this issue.
The problem with the manual edditing is that it is not a scalable solution with hundreds or thousands of VMs.
I hear ya. I'm in the same boat.
I have the same problem with more than 800 VM - I NEED A SCRIPT
It will take for ever to do by hand......
If you found this or any other answer useful please consider the use of the Helpful or correct buttons to award points.