PowerFlex: vMotion naar specifieke ESXi-hosts mislukt met foutmelding 'Kan migratie niet ontvangen'
Summary: vMotion tussen ESXi-hosts mislukt omdat de configuratie van de VHV-instelling niet overeenkomt.
Symptoms
Voorbeeld van configuratieverschil tussen twee 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"
Wanneer u VM's probeert te migreren naar een specifieke ESXi-host met behulp van vMotion, mislukt de migratie en genereert u de foutmelding 'Kan migratie niet ontvangen'.
Cause
vMotion mislukt vanwege een configuratiefout tussen ESXi-hosts in de omgeving. Virtual Hardware-Assisted Virtualization (VHV) kan op sommige hosts zijn ingeschakeld en op andere zijn uitgeschakeld. Deze niet-overeenkomende combinatie zorgt ervoor dat vMotion mislukt tussen de twee groepen hosts. Dit probleem kan worden bevestigd door het bestand "vmware.log" te controleren dat is gekoppeld aan de actieve VM en het bestand "/var/log/hostd.log" op de bron/doel ESXi-hosts.
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
Op basis van het onderstaande VMware KB-artikel wordt voorgesteld om VHV uit te schakelen op alle ESXi-hosts. Als er een type geneste virtualisatie plaatsvindt in de omgeving (met ESXi als VM), heeft deze configuratiewijziging gevolgen voor de geneste VM's.
Ondersteuning voor het uitvoeren van ESXi als geneste virtualisatieoplossing
Voer de volgende stappen uit om VHV uit te schakelen:
- Plaats de ESXi-host in de onderhoudsmodus
- SSH naar de ESXi-host
- Ga naar pad /etc/vmware/
- Maak een back-up van het bestaande configuratiebestand met de opdracht cp configuration config.bak.
- Bewerk het bestaande configuratiebestand "configuration" en verwijder de regel vhv.enable = TRUE
- Start de ESXi-host opnieuw op
OPMERKING: Hoewel VHV wordt uitgeschakeld in een ESXi-omgeving, migreert vMotion alleen VM's tussen hosts met dezelfde VHV-configuratie-instelling. Downtime is hoogstwaarschijnlijk vereist voor VM's die worden uitgevoerd op de ESXi-hosts waarop VHV is ingeschakeld.
Voorbeeld:
- Op ESXi 1/2/3 is VHV ingeschakeld, op ESXi 4/5/6 is VHV uitgeschakeld. Op ESXi 1/2/3 worden telkens VM's uitgevoerd.
- ESXi 3 gaat naar de onderhoudsmodus en migreert VM's naar ESXi 2. VHV is uitgeschakeld op ESXi 3.
- ESXi 2 gaat naar de onderhoudsmodus en migreert VM's naar ESXi 1. VHV is uitgeschakeld op ESXi 2.
- ESXi 1 kan de onderhoudsmodus niet activeren omdat er geen actieve VM's kunnen vMotion naar de resterende hosts vanwege het VHV-configuratieverschil. VM's moeten op dit moment tijdelijk worden uitgeschakeld.