VMware Cloud Community
ruffy
Contributor
Contributor

Incompatible CPU on a host: just for a few virtual machines, not for all

Hi all, I recognized a strange Problem today:

I have a cluster of 6 identical machines, running since about 2 years.

When I tried to put No.1 in maintanance mode for update, he couldn't migrate all the virtual machines. 4 Of them don't want to migrate with the following error:

Strange is, that only 4 machines give this error, all the other ones could be migrated without any problems. And as I said before, all hosts are the same with the same CPUs, and everything worked fine for 2 years.

It even does not make a difference, whether the advanced settings of the CPU are set to HIDE NX FLAG FROM GUEST oder EXPOSE NX FLAG TO GUEST.

I'm just waiting now to reboot the server.. and hope this problem to be away, but... does anyone of you had this problem before?

Best regards

Ruffy

0 Kudos
5 Replies
Rob_Bohmann1
Expert
Expert

I had a similar issue recently. This is what I determined for my environment. It sounds similar to your problem.

There is a No Execute option in the bios (on ESX host) that may be enabled on some hosts but not others in your cluster. If a vm was powered on with a setting of expose the NX bit to the guest OS on a host that had the setting enabled in the bios, and then you try to vmotion it to a host that does not have it enabled, you will get this error and vice versa.

So the 2 options II had was to either shutdown the vm's affected to change the setting so the NX bit does not get exposed to the guest vm OS. (Changing the setting while the vm is running won't work - will not take affect until you power down/up the vm) and/ or make the NX bios setting consistent across all your hosts ( always a good idea and needed for EVC.).

Since my hosts were 3.0.2 and we were patching to try and resolve some other issues at the time, I decided to just not enable the NX bit at this time on the ESX hosts and this error went away. If you are on 3.5, I think this setting needs to be enabled if you want to use the EVC (Extended vmotion) options, which I think is a little ironic... So if you have a new cluster going in, it is important that this setting be applied consistently across all hosts that you want to vmotion between as well as the VT setting that is needed for 64 bit machines.

0 Kudos
ruffy
Contributor
Contributor

ok I'll have a look at this this evening... thank you so far

0 Kudos
turtle80
Contributor
Contributor

Also, you may need to power cycle or cold boot your host to activate BIOS changes related to NX or VT. This is required on HP Proliant systems (even though there is no mention of it otherwise!)

0 Kudos
Texiwill
Leadership
Leadership

Hello,

To enable EVC you will need both NX and VT.


Best regards,

Edward L. Haletky

VMware Communities User Moderator

====

Author of the book 'VMWare ESX Server in the Enterprise: Planning and Securing Virtualization Servers', Copyright 2008 Pearson Education.

SearchVMware Blog: http://itknowledgeexchange.techtarget.com/virtualization-pro/

Blue Gears Blogs - http://www.itworld.com/ and http://www.networkworld.com/community/haletky

As well as the Virtualization Wiki at http://www.astroarch.com/wiki/index.php/Virtualization

--
Edward L. Haletky
vExpert XIV: 2009-2023,
VMTN Community Moderator
vSphere Upgrade Saga: https://www.astroarch.com/blogs
GitHub Repo: https://github.com/Texiwill
0 Kudos
manishisarda
Contributor
Contributor

I guess 4 VM which are not migrating are 64 bit and the target host is disabled with NX flag in BIOS.

0 Kudos