VMware Cloud Community
Gmurisonapd
Contributor
Contributor
Jump to solution

Vmotion and CPU masks

Short background: First server is Dell PE 6850 with 4x Xeon Cranford CPU's running as a standalone ESXi host (with test environment VM's to prove concept). Recently purchased Dell PE 2950 III and upgraded to VI3 Enterprise for both servers. My initial goal was to setup both hosts in a HA/DRS cluster with vmotion capability.

I have discovered that I need to implement two masks on eax level 1 and ecx level 1, but I am wondering what dangers I could be getting myself into. Luckily both servers SSE3, but the older host doesn't support SSSE 3 and 4.1.

Now have figured out the masking part and got a successful Vmotion, but am wondering what I could be risking in Production VM's with these masks?

EAX -


-


-


-


-


0--0 -


-


ECX -


-


-


0--- -


--0- -


-


0 Kudos
1 Solution

Accepted Solutions
ISD_Plc
Enthusiast
Enthusiast
Jump to solution

Just thought I would mention that I have just done the same thing due to adding a new DL580 G5 with 7340 quad core cpu's to a cluster of 3 DL580 G4 with 7140M dual core cpu's I had to use the same mask. All tested and now in production working a charm!

Harvey

View solution in original post

0 Kudos
5 Replies
RParker
Immortal
Immortal
Jump to solution

but am wondering what I could be risking in Production VM's with these masks?

Masking is a built in feature in ESX to prevent accidentally moving VM's to an incompatible CPU. So it's probably more safe than sorry in it's approach. As long as you have like CPU's within the same family, you should be fine.

Going between 5xxx series and 7xxx series processors should be ok, and ALL processors within the same family will also be good. But skipping a series (such as going from 3xxxx to 7xxx) isn't a good idea.

So you should be fine. Those masks are just determining differences in the CPU, but mostly it's cosmetic (like optimized for Wireless or higher cache speeds) but it shouldn't affect compatibility only speed and maybe some performance, but if it Vmotions, and the VM still runs, it's safe to say, there isn't a problem.

admin
Immortal
Immortal
Jump to solution

The only downside to using CPU masks is that your VM will be using the lowest common denominator of CPU features, i.e. if you applied a mask so you could VMotion from an old to a new CPU, the VM would have the same CPU feature set available when running on the new CPU as the old CPU. In your case, this probably won't make any difference at all, it's only really the NX bit, SSE3 and stuff like that which will be noticeable in the VM.

ISD_Plc
Enthusiast
Enthusiast
Jump to solution

Just thought I would mention that I have just done the same thing due to adding a new DL580 G5 with 7340 quad core cpu's to a cluster of 3 DL580 G4 with 7140M dual core cpu's I had to use the same mask. All tested and now in production working a charm!

Harvey

0 Kudos
Gmurisonapd
Contributor
Contributor
Jump to solution

Great that is some good news.

Harvey, Did you use global masking or per VM's?

Graham

0 Kudos
ISD_Plc
Enthusiast
Enthusiast
Jump to solution

Graham,

Both actually, firstly I used the per VM mask to check I had the right mask and that vmotion etc worked ok. Once that was done I modified the vpxd.cfg file on the VC restarted the VC server service(plus the UPdate manager service...just in case!) and bingo worked a treat.

Although i must thank pkk_decens for the masks as his enviroment is very similar to mine.

Just thought I would add the file contents here for you.

Good luck

Harvey

<config>

<vcp2v>

<dontStartConsolidation>true</dontStartConsolidation>

</vcp2v>

<!-- <ws1x> -->

<!-- Enables 1.x Web Services compatibility -->

<!-- <enabled>true</enabled> -->

<!-- Enables 1.x Built in Perf data Refresh -->

<!-- <perfRefreshEnabled>false</perfRefreshEnabled> -->

<!-- Location of ws1x persistent data. Default is same directory as vpxd.cfg -->

<!-- <dataFile> C:\ws1x.xml </dataFile> -->

<!-- Location of the ws1x event mapping file. Default is the same directory as vpxd.cfg -->

<!-- <eventMap> C:\ws1xEventMap.xml </eventMap> -->

<!-- </ws1x> -->

<vpxd>

<guestOSDescriptor>

<esx-3-x-x>

<all-versions>

<all-guests>

<cpuFeatureMask>

<default-vendor>

<level-1>

<eax>--:::::smileyshocked:0:--:--</eax>

<ecx>--:::-0:--:0-:--:--</ecx>

</level-1>

</default-vendor>

</cpuFeatureMask>

</all-guests>

</all-versions>

</esx-3-x-x>

</guestOSDescriptor>

<das>

<serializeadds>true</serializeadds>

<slotMemMinMB>256</slotMemMinMB>

<slotCpuMinMHz>256</slotCpuMinMHz>

</das>

<filterOverheadLimitIssues>true</filterOverheadLimitIssues>

</vpxd>

<vmacore>

<threadPool>

<TaskMax>30</TaskMax>

</threadPool>

<http>

<readTimeoutMs>45000</readTimeoutMs>

<writeTimeoutMs>45000</writeTimeoutMs>

<blacklistPeriodMs>3000</blacklistPeriodMs>

</http>

<ssl>

<handshakeTimeoutMs>30000</handshakeTimeoutMs>

</ssl>

</vmacore>

</config>

Message was edited by: ISD Plc

0 Kudos