I am looking for any information on the biggest gaps between older AMD Processsors like the Opteron 850 revision E4 (or close) and the newer AMD Processors using vMotion.
What works and what does not?
Steve Beaver
VMTN Forum Moderator
*Virtualization is a journey, not a project.*
A few differences that prevent VMotion without a proper masking are:
AMD Opteron K8 (single core 1xx,2xx,8xx):
3DNow, SSE, SSE2, AMD64
AMD Opteron K9 (dual core 2xx,8xx and 22xx,82xx):
Same as K8 plus Cool+Quiet, SSE3, NX, AMD-V
This should be the ones you were referring to
Opteron K10 (Barcelona) (quad core 23xx,83xx):
Same as K9 plus Extended 3Dnow, SSE4a, NPT
Just start a new farm/cluster
Don Pomeroy
VMTN Communities User Moderator
Yep, that's what I would do as well.
This is for server replacement just trying to get the most mileage out of things and not have any downtime
Steve Beaver
VMware Communities User Moderator
*Virtualization is a journey, not a project.*
Just wondering if you ever got more information on this. I'm in the same boat with server replacements. I've setup a new cluster, but not by choice. I'm running HP DL385 G1, BL465c G1 and now BL465c G5 servers with Opteron 285 dual cores, 2220 Duals and 2356 quads. I got vmotion working between the DL385s and BL465cG1s but haven't gotten a cpu mask to work with the quads.
Bill S.
I got some HP BL25p G1 (Opteron 275), HP DL385G1 (Opteron 2220) and DL385G5 (Opteron 2356). I got vmotion working between all of them (heavy cpufeature masking though). It disables the features that is the main reason for the new AMD Quadcore cpu's (memory virtualization in hw)
To get it to work you need to set the following:
Level 1 eax: -
-
---0 -
-
-
-
-
Level 1 ecx: -
-
0--- -
0- -
Level 80000001 ecx: -
-
-
-
-
-000 0000 0--0
Level 80000001 edx: -
0--- ---0 -
-
-
-
-
Did you make the changes to the Virtual Machine Default CPU mask or on the AMD Override?
Bill S.
AMD override. I also wrote vmware for a feature request to set these settings globally.
Anders:
Thanks you very much for the CPU masks. I've just tried them on a test system and they seem to work well. I realize that they turn off features but I suspect many of the VMs running on my hosts aren't using those features to any great benefit anyway. Now if I can just find a way to modify 300 VMs...
Bill S.
Let me know who should receive the message and I'll second that. Not having any way to set this globally is a significant problem. So is having to shutdown the VM to make the changes, but I do understand why this is necessary.
Thanks again.
Bill S.
I would recommend using the perl vi toolkit (I'm a powershell guy myself), but with perl and the http://<fqdn of virtualcenter>/mod, you should have everything you need to script the changes. Some changes like memory and cpu can be changed online and of course first take effect on reboot, I don't know if the same goes for the cpufeature masking, but it is very likely. So if capable you can write a script that sets all vms cpufeature masking correctly and then it's just planning a restart. I've a powershell script that I use to verify which vms I've set the before mentioned masks on. I only have about 100 vm's, and it took an eternity.
$vms = Get-VM | Sort-Object Name
foreach ($vm in $vms)
{
$views = Get-View $vm.id
foreach ($view in $views)
{
$masks = $view.config.cpuFeatureMask | where-object {$_.Vendor -eq "amd"}
if ($masks.count -ne 5)
{
Write-Host "Error: unexpected number of cpufeature masks, expected 5 got " $masks.count
}
elseif ($masks[1].eax -eq "--
")
{
#Write-Host $vm.Name "CPU masking set"
}
else
{
Write-Host $vm.Name "CPU masking NOT set"
}
}
}
Greg,
This helped me out in testing vSphere4 with a couple of test ESX4 hosts with Phenom II's (Deneb) from VM's running on Opteron G1 (Santa Ana) CPU's.
VMotion works with these masking. Thanks a lot!