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- -
-
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
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.
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.
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
Great that is some good news.
Harvey, Did you use global masking or per VM's?
Graham
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