VMware Cloud Community
Scott_M_White
Contributor
Contributor

AMD Ryzen Zen+ EVC Problem (vMotion Migrate problem)

I have two AMD servers of the same generation, both 14nm Zen +, on motherboardswith the same chipset but I cannot migrate virtual machines between them becuase of an EVC compatability issue

I have a

AMD Ryzen 7 2700 Eight-Core Processor

ASRock B450M PRO4 Micro ATX AM4 Motherboard

  Supported EVC Modes  - AMD Opteron™ Gen. 3 (no 3DNow!™)

                                            AMD Zen Generation

AMD Ryzen 3 3200G

MSI B450M PRO-VDH MAX Motherboard

  Supported EVC Modes  - EVC not supported

Does anyone know where to start looking to find out why?

Tags (3)
0 Kudos
9 Replies
nachogonzalez
Commander
Commander

Hey, hope you are doing fine?

Which version of vSphere are you trying to run?
Can you share a list of all the hardware?

0 Kudos
nachogonzalez
Commander
Commander

Just an FYI: Dont run production on those servers.
As we all know AMD ryzen are consumer grade processors and ESXi is not consumer grade software.
It might work as a charm for lab purposes but it's not recommended to run production systems on those servers.
In addition, you EVC cluster version is set to opteron and it should be set to Zen 1 (Ryzen 7 2700 is a Zen Gen1 processor and Ryzen 3 3200 is a Gen2 Zen processor)

0 Kudos
Scott_M_White
Contributor
Contributor

Which version of vSphere are you trying to run?

Sorry, of course

AMD Ryzen 7 2700 Eight-Core Processor

ASRock B450M PRO4 Micro ATX AM4 Motherboard

64G (4x 16G DDR4)

Boot SSD (AData)

M.2 NVMe (Adata)

Supported EVC Modes  - AMD Opteron™ Gen. 3 (no 3DNow!™)

                                         AMD Zen Generation

ESX 6.7u3 (VMware ESXi, 6.7.0, 15820472)

AMD Ryzen 3 3200G

MSI B450M PRO-VDH MAX Motherboard

32G (2x 16G DDR4)

Boot SSD (AData)

Supported EVC Modes  - EVC not supported

ESX 6.7u3 (VMware ESXi, 6.7.0, 16713306)

My VCSA (6.7.0.4400) is running on the Ryzen 7 2700.  I was just about to migrate it to upgrade the 2700 to 16713306 when I noticed this difference.

0 Kudos
Scott_M_White
Contributor
Contributor

Thank you for your note

I would not dream of using these for production, this is just for fun and education.  We are happy using AMD Rome servers for production but they are a little pricy for me to use at home.

I have used several AMD Ryzen based systems in the lab and they generally run very well.  This is the first time I have configured two of them in a cluster.  I have not set my EVC to anything.  Both systems are still at their default setting.  I believe because one of them is saying that EVC is not supported, there is nothing I could set them both to that would allow VMotion.

>Ryzen 7 2700 is a Zen Gen1 processor and Ryzen 3 3200 is a Gen2 Zen processor

I have been wrong before, but I believe this is not the case.  Despite the name of the Ryzen 3200G beginning with a 3 (much like the 3700 7nm Zen 2 CPU) it is actually a 14nm Zen+ based APU from the same series as the 2700.  AMD do make Zen 2 based 7nm APUs but they begin with a 4, for example 4350G.  I know that sounds odd

https://en.wikipedia.org/wiki/Ryzen#CPUs_3

The first Ryzen 2000 CPUs, based on the 12 nm Zen+ microarchitecture

https://en.wikipedia.org/wiki/Ryzen#APUs_3

Both mobile and desktop APUs are based on the Picasso microarchitecture, a 12 nm refresh of Raven Ridge

&

The Ryzen 4000 APUs are based on Renoir, a refresh of the Zen 2 Matisse CPU cores

0 Kudos
sjesse
Leadership
Leadership

Opteron is a lower level either of them anyway, so if it doesn't work at that level , its not going to work. A quick search shows eypc to opteron and back should work if you set the evc level low enough

https://community.amd.com/thread/224725

my guess is that

"

Both mobile and desktop APUs are based on the Picasso microarchitecture, a 12 nm refresh of Raven Ridge

&

The Ryzen 4000 APUs are based on Renoir, a refresh of the Zen 2 Matisse CPU cores"

is your problem its a different architecture that the evc feature isn't designed to work with, you won't find anything official, so we are left to guessing if there isn't any signs of it working elsewhere.

0 Kudos
nachogonzalez
Commander
Commander

Yeah, maybe i'm wrong too.

Just a quick question, do you have both servers added to the same cluster with a shared storage and DRS enabled?

0 Kudos
Scott_M_White
Contributor
Contributor

I have them both in the same cluster.  I do not have shared storage so I was attempting to migrate both compute and storage.  I could add some shared storage if you think that will help but I feel it is more to do with ESX not understanding the capability of he 3200G CPU or something the motherboard is doing.  Here is the full error.

The target host does not support the virtual machine's current hardware requirements. Use a cluster with Enhanced vMotion Compatibility (EVC) enabled to create a uniform set of CPU features across the cluster, or use per-VM EVC for a consistent set of CPU features for a virtual machine and allow the virtual machine to be moved to a host capable of supporting that set of CPU features. See KB article 1003212 for cluster EVC information. Longmode is unsupported. It is required for 64-bit guest OS support. On Intel systems, longmode requires VT-x to be enabled in the BIOS. On nested virtual ESX hosts, longmode requires the "Virtualized Hardware Virtualization" flag to be enabled on the outer VM. 64-bit support for LAHF/SAHF is unavailable. CMPXCHG16B is unsupported, or 64-bit guest OS support is unavailable.

0 Kudos
nachogonzalez
Commander
Commander

Can you share the cluster's DRS configs?

As a rule of thumb it is always recommended to use the same hardware for a cluster, at least the same CPU brand and family for a cluster.

0 Kudos
Lalegre
Virtuoso
Virtuoso

As all the guys were saying you won't find anything related to this.

The EVC is configured for servers CPUs and it matches the CPUIDs from the Intel or AMD pages. If you tried all the EVC level i would suggest play a little bit with the CPUID information of the VMs: Change CPU Identification Mask Settings

0 Kudos