Dans un cluster DRS activé, vous pouvez observer de grandes quantités de migrations de machines virtuelles initiées par DRS ciblant uniquement certains hôtes du cluster.
DRS analyse les hôtes du cluster toutes les minutes à la recherche de recommandations possibles dans le cadre de son workflow d'équilibrage de charge. Le résultat repose sur les résultats des vérifications de compatibilité des machines virtuelles sous tension par rapport aux hôtes du cluster. S'il existe des contraintes de compatibilité qui réduisent l'ensemble d'hôtes compatibles d'une VM à certains hôtes du cluster uniquement, DRS essaiera de satisfaire ces contraintes en migrant cette VM vers l'un des hôtes compatibles.
Les contraintes proviennent généralement de deux sources, la configuration d'utilisateur statique et le changement d'état d'exécution dans le cluster. Cet article se concentre sur la modification de l'état d'exécution qui peut être inattendue pour les utilisateurs.
La modification de l'état d'exécution qui peut affecter la compatibilité entre les machines virtuelles sous tension et les hôtes peut se situer dans l'une des zones suivantes.
vSphere High Availability
Dans un cluster sur lequel HA est activée, tous les hôtes doivent avoir un état HA sain. Si un hôte ne dispose pas d'un état HA sain à un moment donné, il génère un échec de compatibilité lors de la vérification de compatibilité de la VM. Voici quelques exemples de situations de ce type : agent HA inaccessible, agent HA isolé, agent HA partitionné. Pour plus d'informations, reportez-vous à la section « Dépannage des états des hôtes vSphere HA ».
Ces changements d'état accompagnent généralement l'événement suivant dans vCenter Server.
« L'agent vSphere HA sur un hôte a une erreur »
Accessibilité du stockage
Si une machine virtuelle ne peut pas accéder à son fichier de configuration (fichier VMX), à ses disques virtuels (VMDK) ou à son fichier d'échange à partir de son hôte actuel, la vérification de compatibilité échoue, ce qui entraîne l'incompatibilité de l'hôte actuel. Si un hôte différent du cluster a toujours accès à ces fichiers, DRS peut essayer de migrer la machine virtuelle vers cet hôte. Le résultat d'une telle migration varie en fonction de l'accessibilité du fichier VMX de la machine virtuelle à partir de son hôte actuel. Si la machine virtuelle perd uniquement l'accessibilité à son VMDK, mais pas au fichier VMX, la migration peut réussir. Si la machine virtuelle perd l'accessibilité à son fichier VMX, la migration peut échouer.
Accessibilité réseau
Pour les environnements avec NSX-T, l'état du composant NSX peut tomber en panne sur certains hôtes ou sur tous les hôtes à des moments différents. Dans les versions de vCenter Server antérieures à 7.0u2, cela peut entraîner des échecs de vérification de compatibilité pour les machines virtuelles et les hôtes affectés.
Résolution
- Si un utilisateur prévoit d'effectuer une opération susceptible d'entraîner un changement d'état d'exécution décrit ci-dessus, le fait de définir temporairement DRS en mode manuel peut éviter des migrations indésirables. Un utilisateur peut également définir temporairement l'option avancée DRS, VmsPerLBIteration, sur 0. Il demande à DRS de n'analyser aucune machine virtuelle pendant son workflow d'équilibrage de charge, il n'y a donc aucune recommandation de migration.
- Depuis vCenter 7.0 Update 1, DRS introduit une option avancée pour tolérer l'incompatibilité d'une machine virtuelle sous tension avec son hôte actuel pendant une période de temps prédéfinie, CompatCheckTransientFailureTimeSeconds. Les utilisateurs peuvent configurer cette option pour éviter les migrations indésirables en raison d'une incompatibilité temporaire.
Depuis vCenter 7.0 Update 3 et 8.0 Update 1, cette option peut également être définie sur -1, ce qui empêche DRS de retirer des machines virtuelles en raison de son incompatibilité avec son hôte actuel.
Depuis vCenter 8.0 Update 3, la valeur par défaut de cette option est définie sur -1.
Pour définir l'option avancée DRS, procédez comme suit à partir du client vSphere :
- Cliquez avec le bouton droit sur le cluster DRS, puis cliquez sur
Settings > vSphere DRS > Edit > Advanced Options > Add
- Dans la colonne Option, entrez le nom de la règle.
- Cliquez dans la colonne Valeur pour entrer la valeur souhaitée, puis cliquez sur OK pour que ce paramètre prenne effet.