PowerFlex: vMotion zu bestimmten ESXi-Hosts schlägt mit dem Fehler "Migration konnte nicht empfangen werden" fehl
Summary: vMotion zwischen ESXi-Hosts schlägt aufgrund einer Nichtübereinstimmung der Konfiguration der VHV-Einstellung fehl.
Symptoms
Beispiel für den Konfigurationsunterschied zwischen zwei ESXi-Hosts:
[root@esxi01:/etc] cat /etc/vmware/config libdir = "/usr/lib/vmware" authd.proxy.nfc = "vmware-hostd:ha-nfc" authd.proxy.nfcssl = "vmware-hostd:ha-nfcssl" authd.proxy.vpxa-nfcssl = "vmware-vpxa:vpxa-nfcssl" authd.proxy.vpxa-nfc = "vmware-vpxa:vpxa-nfc" authd.fullpath = "/sbin/authd" vhv.enable = "TRUE" [root@esxi02:/etc] cat /etc/vmware/config libdir = "/usr/lib/vmware" authd.proxy.nfc = "vmware-hostd:ha-nfc" authd.proxy.nfcssl = "vmware-hostd:ha-nfcssl" authd.proxy.vpxa-nfcssl = "vmware-vpxa:vpxa-nfcssl" authd.proxy.vpxa-nfc = "vmware-vpxa:vpxa-nfc" authd.fullpath = "/sbin/authd"
Beim Versuch, mithilfe von vMotion VMs zu einem bestimmten ESXi-Host zu migrieren, schlägt die Migration fehl und es wird der Fehler "Migration konnte nicht empfangen werden" generiert.
Cause
vMotion schlägt aufgrund einer Nichtübereinstimmung der Konfiguration zwischen ESXi-Hosts in der Umgebung fehl. Virtual Hardware-Assisted Virtualization (VHV) kann auf einigen Hosts aktiviert und auf anderen deaktiviert sein. Diese Nichtübereinstimmung führt dazu, dass vMotion zwischen den beiden Gruppen von Hosts fehlschlägt. Dieses Problem kann durch Überprüfen der Datei "vmware.log", die der ausgeführten VM zugeordnet ist, und der Datei "/var/log/hostd.log" auf den Quell-/Ziel-ESXi-Hosts bestätigt werden.
HOSTD.LOG: YYYY-MM-DDTHH:MM:SS.707Z warning hostd[3E9C2B70] [Originator@6876 sub=Vmsvc.vm:/vmfs/volumes/vsan:52564a82ba326e84-801d1a338d7d6fbc/7cb5cb5a-3b00-46cf-40eb-3cfdfe0f1d40/VIRTUAL_MACHINE.vmx] Failed to find activation record, event user unknown. YYYY-MM-DDTHH:MM:SS.708Z info hostd[3E9C2B70] [Originator@6876 sub=Vimsvc.ha-eventmgr] Event 131 : Error message on VIRTUAL_MACHINE on target_esxi.fqdn.com in ha-datacenter: Configuration mismatch: The virtual machine cannot be restored because the snapshot was taken with VHV enabled. To restore, set vhv.enable to true. YYYY-MM-DDTHH:MM:SS.709Z info hostd[40040B70] [Originator@6876 sub=Vimsvc.ha-eventmgr] Event 132 : Deleted ports in the vSphere Distributed Switch in ha-datacenter. YYYY-MM-DDTHH:MM:SS.710Z info hostd[2BDE2B70] [Originator@6876 sub=Vmsvc.vm:/vmfs/volumes/vsan:52564a82ba326e84-801d1a338d7d6fbc/7cb5cb5a-3b00-46cf-40eb-3cfdfe0f1d40/VIRTUAL_MACHINE.vmx] Answered question 1938160 YYYY-MM-DDTHH:MM:SS.710Z warning hostd[2BDE2B70] [Originator@6876 sub=Vmsvc.vm:/vmfs/volumes/vsan:52564a82ba326e84-801d1a338d7d6fbc/7cb5cb5a-3b00-46cf-40eb-3cfdfe0f1d40/VIRTUAL_MACHINE.vmx] Failed to find activation record, event user unknown. YYYY-MM-DDTHH:MM:SS.710Z info hostd[2BDE2B70] [Originator@6876 sub=Vimsvc.ha-eventmgr] Event 133 : Error message on VIRTUAL_MACHINE on target_esxi.fqdn.com in ha-datacenter: Failed to receive migration. --> VMWARE.LOG: YYYY-MM-DDTHH:MM:SS.407Z| vmx| I125: Msg_Post: Error YYYY-MM-DDTHH:MM:SS.407Z| vmx| I125: [msg.cpuid.vhv.enablemismatch] Configuration mismatch: The virtual machine cannot be restored because the snapshot was taken with VHV enabled. To restore, set vhv.enable to true. YYYY-MM-DDTHH:MM:SS.407Z| vmx| I125: ---------------------------------------- YYYY-MM-DDTHH:MM:SS.409Z| vmx| I125: Vigor_MessageRevoke: message 'msg.cpuid.vhv.enablemismatch' (seq 1946687) is revoked YYYY-MM-DDTHH:MM:SS.409Z| vmx| I125: MigrateSetStateFinished: type=2 new state=12 YYYY-MM-DDTHH:MM:SS.409Z| vmx| I125: MigrateSetState: Transitioning from state 11 to 12. YYYY-MM-DDTHH:MM:SS.409Z| vmx| I125: Migrate: Caching migration error message list: YYYY-MM-DDTHH:MM:SS.409Z| vmx| I125: [msg.checkpoint.migration.failedReceive] Failed to receive migration. YYYY-MM-DDTHH:MM:SS.410Z| vmx| I125: Msg_Post: Error YYYY-MM-DDTHH:MM:SS.410Z| vmx| I125: [msg.checkpoint.migration.failedReceive] Failed to receive migration. YYYY-MM-DDTHH:MM:SS.410Z| vmx| I125: ----------------------------------------
Resolution
Basierend auf dem folgenden VMware KB-Artikel wird empfohlen, VHV auf allen ESXi-Hosts zu deaktivieren. Wenn eine verschachtelte Virtualisierung in der Umgebung stattfindet (ESXi wird als VM ausgeführt), wirkt sich diese Konfigurationsänderung auf die verschachtelten VMs aus.
Unterstützung für die Ausführung von ESXi als verschachtelte Virtualisierungslösung
Führen Sie die folgenden Schritte aus, um VHV zu deaktivieren:
- Versetzen des ESXi-Hosts in den Wartungsmodus
- SSH zum ESXi-Host
- Navigieren Sie zum Pfad /etc/vmware/
- Sichern Sie die vorhandene Konfigurationsdatei, indem Sie den Befehl "cp configuration config.bak" ausführen.
- Bearbeiten Sie die vorhandene Konfigurationsdatei "configuration" und entfernen Sie die Zeile vhv.enable = TRUE
- Starten Sie den ESXi-Host neu.
HINWEIS: Beim Deaktivieren von VHV in einer ESXi-Umgebung migriert vMotion nur VMs zwischen Hosts mit derselben VHV-Konfigurationseinstellung. Ausfallzeiten sind höchstwahrscheinlich für VMs erforderlich, die auf den ESXi-Hosts mit aktiviertem VHV ausgeführt werden.
Beispiel:
- Für ESXi 1/2/3 ist VHV aktiviert, für ESXi 4/5/6 ist VHV deaktiviert. Auf ESXi 1/2/3 werden jeweils VMs ausgeführt.
- ESXi 3 wechselt in den Wartungsmodus und migriert VMs zu ESXi 2. VHV ist auf ESXi 3 deaktiviert.
- ESXi 2 wechselt in den Wartungsmodus und migriert VMs zu ESXi 1. VHV ist auf ESXi 2 deaktiviert.
- ESXi 1 kann nicht in den Wartungsmodus wechseln, da keine laufenden VMs vMotion auf die verbleibenden Hosts übertragen können. VMs müssen zu diesem Zeitpunkt vorübergehend ausgeschaltet werden.