VMware Cloud Community
alanrenouf
VMware Employee
VMware Employee

Enabling EVC with no VM Downtime

I was just wondering if anyone was able to get EVC working without shutting down the VM's ?

I am trying to move hosts to a new EVC enabled cluster with no luck.

This didn't work either: http://communities.vmware.com/thread/201677 I got complaints about CPU architecture. I'm assuming this is because EVC changes the mask and wonder how this worked for other people.

Thanks

Alan

Blog: http://virtu-al.net Twitter: http://twitter.com/alanrenouf Co-author of the PowerCLI Book: http://powerclibook.com
0 Kudos
27 Replies
Texiwill
Leadership
Leadership

Hello,

The CPU Mask for those VMs are set incorrectly. That is all. To fix you willneed topower down the VMs, move them and then power them on within the cluster. You can also modify the CPU Masks by removing them, that should work as well, but it also requires a reboot so why not power down, move, power on and let EVC fix it.

I had the same problem.When you VMotion sometimes the mask gets set I believe. Not sure why, but it happens from time to time.

However, before doing anything see if they are set to anything differnet than what is set on a working VM. Also check the NX bit setting.


Best regards, Edward L. Haletky VMware Communities User Moderator, VMware vExpert 2009, DABCC Analyst[/url]
Now Available on Rough-Cuts: 'VMware vSphere(TM) and Virtual Infrastructure Security: Securing ESX and the Virtual Environment'[/url]
Also available 'VMWare ESX Server in the Enterprise'[/url]
[url=http://www.astroarch.com/wiki/index.php/Blog_Roll]SearchVMware Pro[/url]|Blue Gears[/url]|Top Virtualization Security Links[/url]|Virtualization Security Round Table Podcast[/url]

--
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
alanrenouf
VMware Employee
VMware Employee

Ok, NX Bit setting is set to expoze nx flag to guest on both vms, looking at the vmx file there are some differences, im sure these will make sense to someone....

Working VM:


cpuid.1.ecx = "R----R--R-RRRR-0-----------H-R--"
cpuid.1.ecx.amd = "R-------R-------------------R---"
cpuid.1.eax = "xxxx------------xx--------------"
cpuid.1.edx = "---------------------------T----"
cpuid.80000001.edx = "----R---------------H-----------"
cpuid.80000001.edx.amd = "-----R--------------H------T----"
cpuid.80000001.ecx.amd = "------------------RR-RR-RRR-----"
cpuid.80000001.eax.amd = "xxxx------------xx--------------"

hostCPUID.0 = "0000000d756e65476c65746e49656e69"
guestCPUID.0 = "0000000d756e65476c65746e49656e69"
userCPUID.0 = "0000000d756e65476c65746e49656e69"
hostCPUID.1 = "0001067a00040800040ce3bdbfebfbff"
guestCPUID.1 = "000006f800010800000022110febbbff"
userCPUID.1 = "0001067a00040800000022110febbbff"
hostCPUID.80000001 = "00000000000000000000000120100000"
guestCPUID.80000001 = "00000000000000000000000120100000"
userCPUID.80000001 = "00000000000000000000000120100000"
evcCompatibilityMode = "TRUE"

Non-Working VM:


cpuid.1.ecx = "R----R----R--R-0-----------H-R--"
cpuid.1.ecx.amd = "R---------------------------R---"
cpuid.80000001.ecx.amd = "------------------RR-RR---------"
cpuid.80000001.edx = "----R---------------------------"
cpuid.80000001.edx.amd = "--------------------------------"

hostCPUID.0 = "0000000d756e65476c65746e49656e69"
guestCPUID.0 = "0000000d756e65476c65746e49656e69"
userCPUID.0 = "0000000d756e65476c65746e49656e69"
hostCPUID.1 = "0001067a00040800040ce3bdbfebfbff"
guestCPUID.1 = "0001067800010800000822110febbbff"
userCPUID.1 = "0001067a00040800000822110febbbff"
hostCPUID.80000001 = "00000000000000000000000120100000"
guestCPUID.80000001 = "00000000000000000000000120100000"
userCPUID.80000001 = "00000000000000000000000120100000"
evcCompatibilityMode = "FALSE" 

Thanks.

Alan

Blog: http://virtu-al.net Twitter: http://twitter.com/alanrenouf Co-author of the PowerCLI Book: http://powerclibook.com
0 Kudos
Texiwill
Leadership
Leadership

Hello,

You need to compare this to a working VM not within the EVC cluster. Otherwise you get whatever EVC changes on you.


Best regards, Edward L. Haletky VMware Communities User Moderator, VMware vExpert 2009, DABCC Analyst[/url]
Now Available on Rough-Cuts: 'VMware vSphere(TM) and Virtual Infrastructure Security: Securing ESX and the Virtual Environment'[/url]
Also available 'VMWare ESX Server in the Enterprise'[/url]
[url=http://www.astroarch.com/wiki/index.php/Blog_Roll]SearchVMware Pro[/url]|Blue Gears[/url]|Top Virtualization Security Links[/url]|Virtualization Security Round Table Podcast[/url]

--
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
alanrenouf
VMware Employee
VMware Employee

Ok, here are the details of both a working VM and aNON-Working VM, I have put them side by side so we can see the differences, there are two lines which are different. What now? Can I change these on the non-working vm and everything will be fine ? Is there a way to do this while the VMs are powered on ?

Thanks for all your help.

Working VM

Non-Working VM

These are the same:

hostCPUID.0 = "0000000d756e65476c65746e49656e69"

hostCPUID.0 = "0000000d756e65476c65746e49656e69"

These are the same:

guestCPUID.0 = "0000000d756e65476c65746e49656e69"

guestCPUID.0 = "0000000d756e65476c65746e49656e69"

These are the same:

userCPUID.0 = "0000000d756e65476c65746e49656e69"

userCPUID.0 = "0000000d756e65476c65746e49656e69"

These are the same:

hostCPUID.1 = "0001067a00040800040ce3bdbfebfbff"

hostCPUID.1 = "0001067a00040800040ce3bdbfebfbff"

These are different:

guestCPUID.1 = "000006f800010800000022010febbbff"

guestCPUID.1 = "0001067800010800000822010febbbff"

These are different:

userCPUID.1 = "0001067a00040800000022010febbbff"

userCPUID.1 = "0001067a00040800000822010febbbff"

These are the same:

hostCPUID.80000001 = "00000000000000000000000120100000"

hostCPUID.80000001 = "00000000000000000000000120100000"

These are the same:

guestCPUID.80000001 = "00000000000000000000000120100000"

guestCPUID.80000001 = "00000000000000000000000120100000"

These are the same:

userCPUID.80000001 = "00000000000000000000000120100000"

userCPUID.80000001 = "00000000000000000000000120100000"

Alan

Blog: http://virtu-al.net Twitter: http://twitter.com/alanrenouf Co-author of the PowerCLI Book: http://powerclibook.com
0 Kudos
Texiwill
Leadership
Leadership

Hello,

You can make those changes on a running VM but the changes do not take effect until their is a reboot. Not sure why they are different in the first place. BUt alas I would make the change, then see if you can migrate it into EVC if not then a reboot is in order....

CPUMasks do not take effect until there is a reboot.


Best regards, Edward L. Haletky VMware Communities User Moderator, VMware vExpert 2009
Now Available on Rough-Cuts: 'VMware vSphere(TM) and Virtual Infrastructure Security: Securing ESX and the Virtual Environment'[/url]
Also available 'VMWare ESX Server in the Enterprise'[/url]
[url=http://www.astroarch.com/wiki/index.php/Blog_Roll]SearchVMware Pro[/url]|Blue Gears[/url]|Top Virtualization Security Links[/url]|Virtualization Security Round Table Podcast[/url]

--
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
alanrenouf
VMware Employee
VMware Employee

I logged a support ticket, as expected they said it was not supported unless you power down the machine first Smiley Sad Looks like im going to be raising change controls for the next couple of weeks, not to mention customer notice !

Thanks All for your helps.

Alan

Blog: http://virtu-al.net Twitter: http://twitter.com/alanrenouf Co-author of the PowerCLI Book: http://powerclibook.com
0 Kudos
MikeS1983
Enthusiast
Enthusiast

Hi Alan,

You say that some VM's have migrated to the new EVC cluster ok and some have not. Could it be the case that migrating of certain hosts may work and some hosts may not due to some CPU wierdness.. In other words not an actual virtual machine issue but a host issue.

For instance if it will not migrate off a host in the original cluster migrate to a different host within the cluster then try migrating to the new cluster.

Just an idea.....

0 Kudos
MikeS1983
Enthusiast
Enthusiast

Hi Alan,

I know it's been a while as far as this discussion goes, but it seems as though I'm having the same problem. CPU masking is stopping me migrating VM's live to a new identical host.

Did you ever find a way to fix this without downtime?

Thanks

Mike.

0 Kudos