Hi,
We are looking to upgrade the farm to the new version, 3.5.0 update 1.
I've installed 3.5.0 update 1 (82663) on a HP proliant DL585 G2 and I've joined this machine to a 3.0.1 cluster.
Both HA and DRS are active.
The cluster exists of DL585 G1 and G2's. ESX version 3.0.1 (42829)
There are two kinds of AMD processors active in the farm. AMD opteron 852 (single core) and AMD opteron 880 (dual core).
There are no problems with vmotion, we do not have any CPU masking applied on these clusters.
VM's can migrate with vmotion with any problem or warning whatsoever.
The 3.5 update 1 server isn't being used by the cluster. DRS cannot migrate VM's to this machine due to the "informational" error:
Migration will cause the virtual machine's configuration to be modified, to preserve the CPU feature requirements for its guest OS.
for readability I shall refer to the 3.5.0 update 1 machine as 3.5
The testing is done on the same servers, one specific 3.5 server and one specific 3.0.1.
All servers have the same type CPU installed (identical model and stepping)
I deployed a VM from a template to a 3.0.1. and the 3.5 machine and compared the two VMX files.
The vmx on the 3.5 machine has three additional lines:
deploymentPlatform = "windows"
virtualHW.productCompatibility = "hosted"
tools.upgrade.policy = "useGlobal"
When I migrate the VM from the 3.0.1 to the 3.5 server with vmotion, other additional entries are added to the VMX.
two entries as seen before:
virtualHW.productCompatibility = "hosted"
tools.upgrade.policy = "manual"
But a couple of new ones that are interesting:
uuid.location = "56 4d 95 82 30 98 fe 42-9d 5f 69 bc ff 8a b8 42"
migrate.hostlog = "./test esx30-f08ee0f4.hlog"
cpuid.1.eax = "xxxx----
xx
"
cpuid.1.ecx = "--RR----
R
"
cpuid.1.edx = "----"
T
cpuid.80000001.eax.amd = "xxxx----
xx
"
cpuid.80000001.ecx.amd = "---"
RRR-0
cpuid.80000001.edx = "----
H
"
cpuid.80000001.edx.amd = "---R--
HT--"
sched.swap.derivedName = "/vmfs/volumes/4667cf9a-753df00e-497e-0017a44bd3b5/test esx30/test esx30-f08ee0f4.vswp"
!N.B.The migration was done between servers with similar CPU's (AMD opteron 852)
When starting the deployed template on the 3.5 server, no additional entries where created.
VM stop and started, no additional entries where created.
The VMX file was not altered.
When the VM is being migrated from 3.5 to the 3.0.1 server, the same warning appears when trying to vmotion:
Migration will cause the virtual machine's configuration to be modified, to preserve the CPU feature requirements for its guest OS.
The following entries are added to the VMX:
migrate.hostlog = "./test esx35-f08ee0f9.hlog"
cpuid.1.eax = "RRRR----
RR
"
cpuid.1.ecx = "--HH----
H
"
cpuid.1.ecx.amd = "----
H
"
cpuid.1.edx = "----"
H
cpuid.80000001.eax.amd = "RRRR----
RR
"
cpuid.80000001.ecx.amd = "---"
HHH-H
cpuid.80000001.edx = "----
x
"
cpuid.80000001.edx.amd = "---0--
xH--"
Different entries, as noted before the vmotion is being executed among the same servers.
For this test a 3.0.1 server is used which is equipped with AMD Opteron 880 CPUs.
When deploying another VM from 3.0.1 to the 3.5 server the following lines are added to the VMX:
uuid.location = "56 4d 3c 57 a6 4d 7a ef-41 0e 6c 53 b1 f1 09 3d"
migrate.hostlog = "./esx test30-2-1d4b9df3.hlog"
cpuid.1.eax = "xxxx----
xx
"
cpuid.1.ecx = "--RR----
R
"
cpuid.1.edx = "----"
T
cpuid.80000001.eax.amd = "xxxx----
xx
"
cpuid.80000001.ecx.amd = "---"
RRR-0
cpuid.80000001.edx = "----
H
"
cpuid.80000001.edx.amd = "---R--
HT--"
The same entries are being added when migrating a VM from a server equipped with similar CPUs as when migrating from a server with different cpu's.
When migrating the machine back to the 3.0.1 server with 880 cpu's the entries are not changed.
cpuid.1.eax = "xxxx----
xx
"
cpuid.1.ecx = "--RR----
R
"
cpuid.1.edx = "----"
T
cpuid.80000001.eax.amd = "xxxx----
xx
"
cpuid.80000001.ecx.amd = "---"
RRR-0
cpuid.80000001.edx = "----
H
"
cpuid.80000001.edx.amd = "---R--
HT--"
I have some questions, maybe you guys can help me:
My educated guess is that the "receiving" ESX server writes the CPU info in the VMX.
But why only the first time from or to a 3.5 server? Why not every time when a VM is being migrated?
Do these entries have any (negative) impact on the performance of the VM?
These entries are not created when deploying a VM from a template direct to the 3.5 machine.
Why are these entries created when migrating?
Why are the different even if the same type cpu is being used?