EVC-Modus für VMware vMotion einrichten

    VMware vMotionBei vSphere lassen sich laufende virtuelle Maschinen auf andere Hosts oder Cluster ver­schieben. Das klappt aber nur dann, wenn die CPUs der Quell- und Ziel­rechner mit­einander kom­patibel sind. Andern­falls bleibt noch die Option, den Enhanced vMotion Compatibility Mode (EVC) zu konfi­gurieren.

    Neben den mehreren Bedingungen wie ein Shared Storage oder eine bestimmte Netzwerk­konfiguration besteht eine zwingende Voraussetzung für vMotion in kompatiblen CPUs am Quell- und Ziel-Host (ausgenommen davon sind Cold Migrations oder Storage vMotion).

    Keine Migration zwischen AMD und Intel

    Es ist daher keinesfalls möglich, laufende VMs von einem Host mit Intel- auf einen Host mit AMD-CPUs zu migrieren. Die erforderliche CPU-Kompatibilität verlangt aber mehr, als dass die Prozessoren vom gleichen Hersteller stammen. Keine Rolle spielen indes Taktraten, Cache-Größen, Hyper­threading und Anzahl der Kerne.

    Überein­stimmen müssen aber Familie und Generation (AMD Opteron4/Epyc, Intel Haswell/Broadwell etc.). Auch die Ausstattung mit SSE3-, SSSE3- oder SSE4.1-Anweisungen muss auf beiden CPUs überein­stimmen, weil diese von Multimedia-Anwendungen direkt verwendet werden können.

    Ferner kommt es auch darauf an, dass Quell- und Ziel-CPUs zumindest bei 64-Bit-VMs über eine Virtualisierungs­erweiterung (Intel VT bzw. AMD-V) verfügen. Bei 32-Bit VMs wird die eigentliche CPU-Virtualisierung (Deprivilegierung, Ring Aliasing) von Hypervisor selbst übernommen (Software-basierte Virtualisierung alias "Binary Translation").

    Sind Quell- und Ziel-CPU zwar vom gleichen Hersteller, hinsichtlich Chipsatz und/oder Stepping doch nicht ganz identisch, ist es mit Hilfe von CPUID im Prinzip möglich, den neueren oder leistungs­fähigeren Prozessor auf einen niedrigeren Chipsatz-Level zu reduzieren, also eine Art gemeinsame kompatible Baseline für beide CPUs zu definieren.

    EVC Cluster Baseline für Intel
    ReleaseMeromPenrynNehalemWestmereSandy Bridge
    vCenter 5.5 Yes Yes Yes Yes Yes
    vCenter 6.0 Yes Yes Yes Yes Yes
    vCenter 6.5 Yes Yes Yes Yes Yes
    vCenter 6.7 Yes Yes Yes Yes Yes

     

    ReleaseIvy BridgeHaswellBroadwellSkylake
    vCenter 5.5 Yes No No No
    vCenter 6.0 Yes Yes No No
    vCenter 6.5 Yes Yes Yes No
    vCenter 6.7 Yes Yes Yes Yes

    Dazu ist es allerdings erforderlich, einen Cluster zu erstellen, beide Hosts in den Cluster aufzunehmen und dann im Cluster den Enhanced vMotion Compatibility Mode (EVC) zu aktivieren.

    Was ist EVC?

    Der VMware EVC Mode erzwingt einen bestimmten CPUID-Befehlssatz zwischen den verschiedenen ESXi-Hosts, so dass der virtuellen Maschine nur eine Familie von Prozessoren oder Befehlssätzen angezeigt wird.

    Er kann den CPU-Befehlssatz so weit maskieren, dass er im gesamten vSphere-Cluster mit mehreren unter­schiedlichen CPU-Architekturen exakt gleich zu sein scheint.

    EVC aktivieren

    Ab vSphere 6.7 kann man den EVC-Modus auf zwei verschiedenen Ebenen aktivieren: entweder auf der eines Clusters oder jener der virtuellen Maschine. Folgende Abbildung zeigt die herkömmliche Cluster-weite Aktivierung von EVC.

    EVC-Modus für Intel-CPUs auf Basis einer Prozessorgeneration konfigurieren.

    Wählt man EVC für einen Cluster, dann werden alle seine Hosts so konfiguriert, dass sie sämtlichen dort ausgeführten virtuellen Maschinen die CPU-Funktionen eines benutzer­definierten Prozessortyps präsentieren.

    Dies bietet den Vorteil, dass die Kompatibilität für vMotion zwischen ESXi-Hosts sichergestellt ist. Natürlich müssen die auf der VM selbst ausgeführten Anwendungen CPUID-kompatibel sein.

    EVC auf VM-Ebene

    Laufen Quell- und Ziel-Hosts unter vSphere 6.7 und sind die zu migrierenden VMs auf Hardware-Version von 14 oder höher, dann kann man alternativ auch den "Pro-VM-EVC-Modus" aktivieren. Virtual Machine EVC erleichtert die Migration virtueller Maschinen über den Cluster hinaus und zwischen vCenter-Server oder Rechen­zentren.

    Dieser Modus ermöglicht eine detailliertere Definition von EVC für bestimmte VMs und ist unabhängig vom EVC-Modus, der auf Cluster-Ebene definiert wurde.

    Hierzu markiert man die VM im Navigator und klickt dann im rechten Fenster auf Configure. Nur bei VMs mit einer Hardware-Version größer 14 taucht dann unter More der Eintrag VMware EVC auf.

    Der Menüeintrag 'VMware EVC' taucht im vSphere Client nur bei einer Version der vHardware größer 14 auf.

    Übrigens sind die CPU-Kompatibilitäts­anforderungen für das Verschieben angehaltener VMs (suspended) genauso wie für laufenden VMs. Nur bei Cold Migration spielt die CPU keine Rolle.

    Keine Kommentare