Nutanix – AHV : Les règles d’affinity, anti-affinity, host affinity sur les VMs (démo)

Sur VMware, il est possible de créer des règles d’affinités pour gérer le placement de ces VMs.

Plusieurs types de règles sont possibles :

  • Affinités VM-VM : forcer des machines à s’exécuter sur le même hôte
  • Anti-affinités VM-VM : empêcher des machines à s’exécuter sur le même hôte
  • Affinités VM-Hôte : forcer l’exécution d’une machine sur un hôte particulier
  • Anti-affinité VM-Hôte : une machine ne doit pas s’exécuter sur un hôte spécifié

Qu’en est-il aujourd’hui pour l’hyperviseur Nutanix AHV ?

Aujourd’hui officiellement, deux types de règles sont possibles sur AHV :

  • Affinités VM-Hôte : via Prism Element
  • Anti-affnités VM-VM : en acli

La documentation Nutanix indique que l’affinité VM-VM n’est aujourd’hui pas encore disponible, ainsi que l’anti-affinité VM-Hôte.

Autre point d’attention, la création d’une règle anti-affinity VM-VM peut être surpassé par le mécanisme ADS (Acropolis Dynamic Scheduling) pour répartir la charge en fonction de contention de ressources sur un hôte.

Nous allons voir comment cela se met en place.

Règle affinité VM-Hôte

Cette action va permettre de préférer l’exécution d’une VM sur un ou plusieurs hôtes.

Pour réaliser celà, il faut se rendre simplement sur Prism Element et procéder à un update sur la machine en question. Il faut ensuite régler le paramètre VM Host affinity.

affinity

 

 

Il est possible de sélectionner un seul hôte mais dans le cadre d’une perte de noeud il est mieux d’en sélectionner plusieurs

 

Règle d’anti-affinité VM-VM

Contrairement à une règle d’affinité VM-hôte, cette option est disponible pour le moment qu’en acli.

Il y a là, 3 étapes à faire :

– Créer un groupe

– Inscrire les machines dans le groupe

– Ajouter le paramètre d’anti-affinité au groupe

Donc, en SSH sur n’importe quelle CVM, en acli :

Création du groupe

vm_group.create group_name

(Remplacer group_name par le nom du groupe)

Ajout des VMs au groupe

vm_group.add_vms group_name vm_list=vm1_name,vm2_name

(Remplacer group_name par le nom du groupe, vm1_name et vm2_name par les noms de VMs)

Mise en anti-affinité du groupe

vm_group.antiaffinity_set group_name

(Remplacer group_name par le nom du groupe)

Exemple :

antiaffinity-create

 

Quelques tests

Voici quelques tests pour vérifier que tout cela s’applique. A savoir, l’anti-affinité s’applique au démarrage de la VM et est overridé par une migration manuelle via l’option Migrate.

Pour tester, je migre mes deux machines sur le même hôte et procède à leurs extinction.

vm host

Je redémarre les machines et vérifie qu’elles s’exécutent sur des hôtes différents.

C’est tout bon.

Suppression de la règle d’anti-affinité

Ici aussi, pour supprimer la règle cela s’effectue en acli.

vm_group.antiaffinity_unset group_name

(Remplacer group_name par le nom du groupe)

Exemple :

 

Pour tester que ma règle n’est plus active, je migre les VMs sur le même hôte et les redémarre.

Migration :

vm host

Et redémarrage :

 

 

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *