PowerFlex : Échec de vMotion sur des hôtes ESXi spécifiques avec l’erreur « Échec de la réception de la migration »
Summary: Échec de vMotion entre les hôtes ESXi en raison d’une non-correspondance de configuration du paramètre VHV.
Symptoms
Exemple de différence de configuration entre deux hôtes 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"
Lorsque vous tentez de migrer des machines virtuelles vers un hôte ESXi spécifique à l’aide de vMotion, la migration échoue et génère l’erreur « Échec de la réception de la migration ».
Cause
vMotion échoue en raison d’une non-correspondance de configuration entre les hôtes ESXi dans l’environnement. La virtualisation assistée par matériel virtuel (VHV) peut être activée sur certains hôtes et désactivée sur d’autres. Cette incompatibilité entraîne l’échec de vMotion entre les deux groupes d’hôtes. Ce problème peut être confirmé en consultant le fichier « vmware.log » associé à la machine virtuelle en cours d’exécution et le fichier « /var/log/hostd.log » sur les hôtes ESXi source/cible.
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
Sur la base de l’article de la base de connaissances VMware ci-dessous, il est recommandé de désactiver le VHV sur tous les hôtes ESXi. Si un type quelconque de virtualisation imbriquée se produit dans l’environnement (exécution d’ESXi en tant que machine virtuelle), cette modification de configuration aura un impact sur les machines virtuelles imbriquées.
Prise en charge de l’exécution d’ESXi en tant que solution de virtualisation imbriquée
Pour désactiver le VHV, procédez comme suit :
- Placer l’hôte ESXi en mode maintenance
- Établissez une connexion SSH avec l’hôte ESXi
- Accédez au chemin /etc/vmware/
- Sauvegardez le fichier de configuration existant en exécutant la commande « cp configuration config.bak »
- Modifiez le fichier de configuration existant « configuration » et supprimez la ligne vhv.enable = TRUE
- Redémarrez l’hôte ESXi
Remarque : Lors de la désactivation du VHV dans un environnement ESXi, vMotion migre uniquement les machines virtuelles entre les hôtes avec le même paramètre de configuration VHV. Une interruption de service sera probablement nécessaire pour les machines virtuelles s’exécutant sur les hôtes ESXi avec le VHV activé.
Exemple:
- La VHV est activée sur ESXi 1/2/3, tandis que la VHV est désactivée sur ESXi 4/5/6. Des VM sont en cours d’exécution sur les serveurs ESXi 1/2/3.
- ESXi 3 passe en mode maintenance et migre les machines virtuelles vers ESXi 2. Le VHV est désactivé sur ESXi 3.
- ESXi 2 passe en mode maintenance et migre les machines virtuelles vers ESXi 1. VHV est désactivé sur ESXi 2.
- ESXi 1 ne peut pas passer en mode maintenance, car aucune machine virtuelle en cours d’exécution ne peut utiliser vMotion sur les hôtes restants en raison de la différence de configuration VHV. À ce stade, les machines virtuelles doivent être temporairement mises hors tension.