Les contrôles de compatibilité de CPU de vCenter Server comparent les fonctionnalités CPU disponibles sur l'hôte source, le sous-ensemble de fonctions auxquelles la machine virtuelle a accès et les fonctionnalités disponibles sur l'hôte cible. Sans l'utilisation de l'EVC, toute incohérence entre les fonctionnalités, au niveau utilisateur, de deux hôtes bloque la migration, que la machine virtuelle elle-même ait accès à ces fonctionnalités ou non. Cependant, une incohérence entre les fonctionnalités, au niveau du noyau, de deux hôtes bloque la migration uniquement lorsque la machine virtuelle a accès à une fonctionnalité dont l'hôte cible ne dispose pas.

Les fonctionnalités au niveau utilisateur sont des instructions non-privilégiées qui pourraient être utilisées par des applications de machine virtuelle. Celles-ci incluent SSE3, SSSE3, SSE4.1, SSE4.2 et AES. Étant donné qu'il s'agit d'instructions au niveau utilisateur qui ignorent la couche de virtualisation, ces instructions pourraient entraîner une instabilité des applications en cas d'incohérence après une migration avec vMotion.

Les fonctionnalités au niveau du noyau sont des instructions privilégiées qui pourraient être utilisées par le système d'exploitation de machine virtuelle. Celles-ci incluent les fonctions de sécurité No eXecute (NX) d''AMD et eXecute Disable (XD) d'Intel.

Lorsque vous essayez de migrer une machine virtuelle avec vMotion, l'un des scénarios suivants s'applique :

  • L'ensemble des fonctionnalités de l'hôte de destination correspond à l'ensemble des fonctionnalités du CPU de la machine virtuelle. Les exigences de compatibilité de CPU sont respectées et la migration avec vMotion s'effectue.

  • L'ensemble des fonctionnalités du CPU de la machine virtuelle contient des fonctions non prises en charge par l'hôte de destination. Les exigences de compatibilité de CPU ne sont pas respectées et la migration avec la vMotion ne peut pas s'effectuer.

    Remarque :

    L'EVC résout ces problèmes d'incompatibilité en fournissant un ensemble de fonctionnalités « de base » à toutes les machines virtuelles en cours d'exécution dans un cluster et cachant les différences au sein des CPU des hôtes en cluster des machines virtuelles.

  • L'hôte de destination prend en charge l'ensemble de fonctionnalités de la machine virtuelle, ainsi que des fonctions supplémentaires au niveau utilisateur (telles que SSE4.1) qui n'existent pas dans les fonctionnalités de la machine virtuelle. Les exigences de compatibilité de CPU ne sont pas respectées et la migration avec vMotion ne peut pas s'effectuer.

    Remarque :

    Ce type d'incompatibilité est ignoré pour les migrations entre les hôtes de clusters d'EVC.

  • L'hôte de destination prend en charge l'ensemble des fonctions de la machine virtuelle, mais également des fonctions supplémentaires au niveau du noyau (telles que NX ou XD) qui n'existent pas dans les fonctionnalités de la machine virtuelle. Les exigences de compatibilité de CPU sont respectées et la migration avec vMotion s'effectue. La machine virtuelle conserve l'ensemble de ses fonctionnalités de CPU tant qu'elle est sous tension, ce qui lui permet de migrer librement à nouveau vers l'hôte initial. Cependant, si l'on redémarre la machine virtuelle, elle acquiert du nouvel hôte un nouvel ensemble de caractéristiques, ce qui peut entraîner une incompatibilité avec vMotion si vous essayez de migrer la machine virtuelle de nouveau sur l'hôte initial.