Nick66
Contributor
Contributor

ESXi virtualization problem

Jump to solution

I have a motherboard ASUS M4A785D-M PRO with AMD Opteron 1389 .
AMD Opteron 1389 is not supported from ASUS M4A785D-M PRO but it works perfectly
By CPU-ID Utility downloaded from VMWare web-site, I noted a different behavior between Windows 2003 V.M. and ESXi or Windows 2008.
At the line Supported EVC mode , in W2003 it recognizes AMD Gen 1 ,2 and 3 , but the other two only AMD Gen 1 .
Virtualizing ESXI  I'm not able to use the functions which require a processor of 3 Gen (i.e. Fault Tolerance , EVC , ...) as my AMD Opteron 1389 .
My question is: which is the reason of this different behavior? Is it a bug of wrorkstation 8??
I thank you in advance for your suggestion /support .

B.Rgds

Nicola

0 Kudos
1 Solution

Accepted Solutions
continuum
Immortal
Immortal

interesting - the guestOS parameter in WS 8 has a bigger influence than in earlier versions

just curious - try to setup your ESXi VM as guestOS 2003 - maybe that helps

other than that watch jmattsons post - he recently answered another post about EVC in a VM

Do you need support with a recovery problem ? - send a message via skype "sanbarrow"

View solution in original post

0 Kudos
30 Replies
continuum
Immortal
Immortal

interesting - the guestOS parameter in WS 8 has a bigger influence than in earlier versions

just curious - try to setup your ESXi VM as guestOS 2003 - maybe that helps

other than that watch jmattsons post - he recently answered another post about EVC in a VM

Do you need support with a recovery problem ? - send a message via skype "sanbarrow"

View solution in original post

0 Kudos
Nick66
Contributor
Contributor

Thank you for your replay .

I tried to replace the guestOS inside ESXi vmx with that inside W2003 .

CPUI-ID tell me that the EVC is Gen 1 ,2 ,3 , but when i try to install the ESXi i receive a crash system with the messages that you see in attachment .

If i try to create a vm until W2003 "old" OS ( Windows XP , 2000 , ... ) EVC report Gen 3 , with "new" OS only Gen 1 .

It's strange , i don't understand which technical reason create this condition , but sure that guestOS entry is very important .

I try to read the jmattsons post.

0 Kudos
a_p_
Leadership
Leadership

The error in the screenshot is due to a missing/unrecognized network adapter. Add an e1000 virtual NIC to your VM, this should solve the issue.

André

a_p_
Leadership
Leadership

Btw. to be able to configure HA, ..., you should assign at least 2.5 GB of memory to the VMs.

André

Nick66
Contributor
Contributor

Great ...Smiley Happy

until now it seem all to be ok .. i tried to create the test ESXi machine with GuestOS workaround to check if ESXi start with Gen 3 ( i create to fast .. esxi vm without network adapter Smiley Sad )

Now i try to modify the realy esxi test environment with vCenter , NAS , etc .. and check if after modify guestOS variable on all esxi vm , all start , work and also EVC Gen 3 baseline ... and after all Fault Tolerance ...

All my esxi VM have 4GB and HA , VMotion work well .. slowly , but well ..

Thanks a lot for all ... i hope to update the post with a good news in the next days ..

0 Kudos
Nick66
Contributor
Contributor

:smileycry: ... with guestOS "workaround" EVC is worst than without .

Outside ESXi with CPU-ID report Gen 3 in EVC mode line , but inside ESXi when i try to enable EVC i receive an error also with Gen 1 baseline .

It's also necessary to un-check Virtualize .... /RVI ; with flag le EVC mode line report  none .

With "workaround" ,  inside ESXi i receive an error message , without i receive a different error message .

The question is . Why a Gen 3 processor is virtualized only at Gen 1 level ?? :smileyconfused:

If someone have other idea for test , i appreciate and i wait ..

0 Kudos
continuum
Immortal
Immortal

wait for jmattson
he may have some cpu.id tweaks that may help

Do you need support with a recovery problem ? - send a message via skype "sanbarrow"
0 Kudos
admin
Immortal
Immortal

Windows 2003 probably defaults to binary translation, because binary translation generally performs better for Windows 2003 prior to SP2.  Under binary translation, only a small subset of the CPUID information can be spoofed in a VM at privilege level 3 (user mode).  With hardware-assisted virtualization, the CPUID instruction can always be intercepted, so we can spoof any CPUID information.  The program that you ran in the original post runs at privilege level 3, so for the Windows 2003 guest OS type (really for binary translation), true physical CPUID information "leaked" into the VM.  For the other guest OS types, we were able to present the CPUID information that we wanted to present.  I'm actually a little surprised that the program reported any EVC modes, since it was my understanding that all EVC modes require CPU capabilities that we do not virtualize.

With your ESX VM properly configured for ESX, including virtualizing AMD-V/RVI, you may be able to spoof the EVC requirements for an "AMD Opteron Generation 3."  Here are the masks that may work:

cpuid.1.ecx = --------1---------1---------1--1
cpuid.1.edx = -----1111---1-1111111-1111111111
cpuid.80000001.ecx = ---------------------1-1111111-1
cpuid.80000001.edx = 111-111111-1--1111111-1111111111

Note that these masks claim features that the virtual CPU doesn't really have, so it is possible that this will not work.

0 Kudos
Nick66
Contributor
Contributor

Thanks a lot for your replay .

For me is only important to test / understand the ESXi functions ( vMotion , EVC , FT , and so on .. ) , isn't important a specific operating system .

If you suggest me a ESXi VM configuration ( binary , or RVI , or ... ), with an O.S ( Windows 2008 , linux , etc .. ) i use them without any problem .

I prefer the Windows OS because i don't manage friendly linux , but for simple test i try to install and configure also linux ..

Think to be completly free to suggest me a configuration for test EVC , FT and after i try to put on the road ...

In any case , the cpuid. line that you suggest are to be insert in .vmx configuration file ??

0 Kudos
admin
Immortal
Immortal

Nick66 wrote:


In any case , the cpuid. line that you suggest are to be insert in .vmx configuration file ??

Yes.

0 Kudos
Nick66
Contributor
Contributor

Sunday i deleted the 2003 VM because i see some problems with SiteSurvey FT check utility .

I want to install  Windows 2008 x32 and flag RVI in ESXi vm .

The lines that you suggest me are ok with 2008 or only with 2003 ??

0 Kudos
admin
Immortal
Immortal

Those configuration options are for the ESXi VM.  They should provide sufficient capabilities for the ESXi VM to join a 3rd generation Opteron EVC cluster.

0 Kudos
Nick66
Contributor
Contributor

ok , i enable in my ESXi VM AMD-V/RVI and inside .vmx flie i insert the lines that you suggest me .

After this , i check with CPUID utlity and also inside vCenter cluster what happen when i try to enable EVC AMD baseline 1 , 2 ,3 ...

I plan to do this in the week-end ...

0 Kudos
Nick66
Contributor
Contributor

I follow what you suggest me and these are the results .

In attach some print screens for help you to understand the situation .

After i hope also that someone help me to understand .

EVC Gen 3 and FT are enable and working ??

What means the message inside FT red square .png ??

Now i create a Windows 7 x32  vm and check if FT works or not .

0 Kudos
Nick66
Contributor
Contributor

.. some other print screen

0 Kudos
Nick66
Contributor
Contributor

One question .

After cpuid modifications , the HW CPU under virtual cpu is important or not ??

If , in place of Opteron 1389 i put the previous Phenom 9650 , it's the same things or the cpuid work with my Opteron and not with others cpu ??

0 Kudos
admin
Immortal
Immortal

Nick66 wrote:

One question .

After cpuid modifications , the HW CPU under virtual cpu is important or not ??

If , in place of Opteron 1389 i put the previous Phenom 9650 , it's the same things or the cpuid work with my Opteron and not with others cpu ??

I believe the 9650 should also work.

0 Kudos
admin
Immortal
Immortal

I am not sure what VC is complaining about, but note that HV-based record/replay is not supported for nested guests.  You'll have to use BT-based record/replay, which means adding the following option to your primary and secondary VMs:

replay.allowBTOnly = TRUE

0 Kudos
Nick66
Contributor
Contributor

BT stay for Binary Translation ??

Inside vmx there's also replay.supported = "FALSE" ?

It's necessary to change somethings or only add replay.allowBTOnly = "TRUE" ?

This setting is in contrast with flag that enable Virtualize ... AMD-V/RVI for EVC ?? or both may be used together ??

I think that FT don't need of AMD-V/RVI enable and i think that when FT is enable automaticaly disable AMD-V/RVI .. right ??

0 Kudos