Exclusion de paramètres dans un Host Profile

Si vous travaillez avec de nombreux serveurs ESXi au sein de votre environnement vSphere, vous avez certainement mis en oeuvre les Host Profiles. Pour ceux qui ne connaissent pas, il s’agit de générer une configuration de référence contenant potentiellement l’ensemble des paramètres ESXi et de l’appliquer ensuite à tous les host au sein d’un ensemble cohérent.

Récemment, nous avons eu des petites difficultés à ce sujet : nous avions créé des host profiles, mais malgré leur application sur des hyperviseurs cibles, ces derniers restaient “non conformes” (non compliant). Récit d’une découverte et d’une remédiation en bonne et due forme !

Intrinsèquement, chaque ESXi est capable de prendre en compte des dizaines et des dizaines paramètres avancés spécifiques. On les trouve en général dans la section “Advanced System Settings” de chaque machine.

Or, la plupart de ces paramètres conservent habituellement les valeurs par défaut de la distribution ESXi, sauf exception. Du coup, lorsque l’on utilise un serveur “modèle” en guise de source pour la création d’un Host Profile, vCenter va extraire uniquement l’ensemble des paramètres spécifiquement modifiés ou ajoutés par rapport aux valeurs par défaut. Une fois le host profile constitué, lorsqu’on applique celui-ci sur une autre machine, vCenter va réaliser touts les modifications enregistrées, sans toucher aux autres paramètres (c’est un raisonnement un peu simpliste, car on peut aller plus loin que cela, mais c’est une bonne approximation). En complément, il va également contrôler que les autres paramètres “par défaut” sont bien positionnés comme il se doit.

Dans la plupart des cas, les host profiles sont utilisés pour un groupe de machines dont les spécifications hardware sont identiques ou très proches. Dans ces conditions, en général, pas de souci, tout cela fonctionne assez bien. Par contre, on peut se retrouver dans une situation où certaines machines au sein d’un cluster de production ne sont pas de même génération et a forcieri du même constructeur (c’est notre cas sur certains clusters assez anciens). Là, ça se complique assez franchement et il n’est pas rare d’être obligé d’exclure beaucoup de sections du host profile pour pouvoir l’appliquer d’une machine à l’autre.

Il y a même des cas ou malgré tous nos efforts, la machine sur lequel on a appliqué le host profile dispose d’une configuration hardware qui influe directement sur les valeurs par défaut… Le scénario est le suivant :
– Le host profile s’applique et modifie tous les éléments de configuration “customisés”
– Ensuite, vCenter vérifie que les valeurs par défaut sont bien encore à leur valeur initiale
– sauf que non, certaines ne le sont plus : elles sont directement modifiées par des composants spécifiques
– vCenter réalise donc un rapport de non conformité sur les fameuses options avancées “par défaut” mais modifiées
Dans cette situation, vous êtes face à un problème : le host profile est appliqué, mais pour autant, le host reste non conforme.

La seule solution que j’ai trouvé pour éviter de toucher à ces valeurs modifiées “non prévues” (si elles l’ont été c’est souvent pour une bonne raison, enfin, on imagine ^^) c’est de faire deux choses :
– Déclarer ces options de configuration dans le host profile, section “advanced configuration” en positionnant une valeur artificielle quelconque
– Exclure explicitement celles-ci du host profile car elles sont désormais bien identifiées
Le host profile dispose donc d’options supplémentaires dont on lui dit qu’il ne doit pas les prendre en compte (et donc pas les tester).

L’exemple récent chez nous est une option de configuration spéicifique qui indique l’intervalle de détection des pannes des barettes mémoire Misc.MCEMonitorInterval. Sur les serveurs HP, visiblement, la valeur par défaut fixée à 250 (secondes, je crois) n’est pas compatible avec certains type de matériel et il faut donc modifier celui-ci (voir cette doc chez HP et ce KB#2071113 chez VMWare). Du coup, si on réalise un host profile depuis une machine dont la distribution a une valeur en question modifiée, on aura forcément un souci lors de l’application de celui-ci sur une autre configuration de génération différente.

On créé donc une nouvelle “Advanced configuration option” dont le libellé est précisément “Misc.MCEMonitorInterval”. Ensuite, on va éditer le profile et décocher cette même option. Ainsi, on identifie l’option et on l’exclue explicitement, comme indiqué plus haut.

J’espère que mes explications auront été assez claires et comme toujours n’hésitez pas à me solliciter en cas de besoin ou de question, soit via les commentaires, soit via réseaux sociaux ;)

Laisser un commentaire

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