Les contrôles de compatibilité de CPU de vCenter Server comparent les fonctionnalités de CPU disponibles sur l'hôte source, le sous-ensemble de fonctionnalités auxquelles la machine virtuelle a accès et les fonctionnalités disponibles sur l'hôte cible. Sans l'utilisation d’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 ou non à ces fonctionnalités. 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 utilisées par des applications de machine virtuelle. Celles-ci incluent SSE3, SSSE3, SSE4.1, SSE4.2 et AES. Comme il s'agit d'instructions au niveau utilisateur qui ignorent la couche de virtualisation, ces instructions peuvent entraîner une instabilité des applications en cas de non-correspondance après une migration avec vMotion.
Les fonctionnalités au niveau du noyau sont des instructions privilégiées utilisées par le système d'exploitation de la 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 vMotion ne peut pas s'effectuer.
Note : EVC permet de s’affranchir d’une telle incompatibilité en fournissant un ensemble de fonctionnalités de « ligne de base » défini pour toutes les machines virtuelles en cours d’exécution dans un cluster. Cet ensemble de fonctionnalités de ligne de base masque aux machines virtuelles les différences entre les CPU des hôtes en cluster.
- 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.
Note : 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 son ensemble de fonctionnalités de CPU pendant qu'elle est sous tension, ce qui lui permet de remigrer librement vers l'hôte initial. Cependant, si la machine virtuelle est redémarrée, elle acquiert un nouvel ensemble de fonctionnalités à partir du nouvel hôte. Ce processus peut entraîner l’incompatibilité de vMotion si vous tentez de remigrer la machine virtuelle vers l’hôte d’origine.