PowerFlex: Řízení vMotion na konkrétních hostitelích ESXi selže s chybou "Failed to receive migration"
Summary: Funkce vMotion mezi hostiteli ESXi se nezdaří kvůli neshodě konfigurace nastavení VHV.
Symptoms
Příklad rozdílu v konfiguraci mezi dvěma hostiteli ESXi:
[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"
Při pokusu o migraci virtuálních počítačů na konkrétního hostitele ESXi pomocí vMotion se migrace nezdaří a vygeneruje chybu "Failed to receive migration".
Cause
VMotion selhává kvůli neshodě konfigurace mezi hostiteli ESXi v prostředí. Virtuální virtualizace s hardwarovou asistencí (VHV) může být na některých hostitelích povolena a na jiných zakázána. Tato neshoda způsobuje selhání vMotion mezi dvěma skupinami hostitelů. Tento problém lze potvrdit kontrolou souboru "vmware.log" přidruženého ke spuštěnému virtuálnímu počítači a souboru "/var/log/hostd.log" na zdrojových/cílových hostitelích ESXi.
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
Podle níže uvedeného článku znalostní databáze VMware doporučujeme zakázat virtuální virtuální zvukový kodek u všech hostitelů ESXi. Pokud se v prostředí vyskytuje jakýkoli typ vnořené virtualizace (běží systém ESXi jako virtuální počítač), tato změna konfigurace bude mít vliv na vnořené virtuální počítače.
Podpora provozu systému ESXi jako vnořeného virtualizačního řešení
Chcete-li zakázat VHV, proveďte následující kroky:
- Přepněte hostitele ESXi do režimu údržby.
- Přihlaste se pomocí SSH k hostiteli ESXi.
- Přejděte do umístění /etc/vmware/
- Zálohujte stávající konfigurační soubor spuštěním příkazu "cp configuration config.bak"
- Upravte stávající konfigurační soubor "configuration" a odstraňte řádek vhv.enable = TRUE
- Restartujte hostitele ESXi.
POZNÁMKA: Při zakázání VHV v prostředí ESXi bude vMotion migrovat virtuální počítače pouze mezi hostiteli se stejným nastavením konfigurace VHV. Výpadek bude s největší pravděpodobností vyžadován u virtuálních počítačů spuštěných na hostitelích ESXi s povoleným virtuálním úložištěm VHV.
Příklad:
- Systém ESXi 1/2/3 má povolený VHV, ESXi 4/5/6 má vypnutý VHV. Na každé ze 1/2/3 systému ESXi běží virtuální počítače.
- Systém ESXi 3 přejde do režimu údržby a migruje virtuální počítače do systému ESXi 2. V systému ESXi 3 je zakázána funkce VHV.
- Systém ESXi 2 přejde do režimu údržby a migruje virtuální počítače do systému ESXi 1. V systému ESXi 2 je zakázána funkce VHV.
- Systém ESXi 1 nemůže přejít do režimu údržby, protože žádné spuštěné virtuální počítače nemohou vMotion přejít do zbývajících hostitelů kvůli rozdílu v konfiguraci VHV. V tomto okamžiku je nutné dočasně vypnout virtuální počítače.