Rubrique précédente: Enregistrement de grilleRubrique suivante: Spécification de l'espace de stockage externe


Spécification de critères de sélection de serveur

Vous utilisez des critères de sélection de serveur de grille pour qualifier et classer les serveurs disponibles. Après avoir créé les clauses des critères de sélection à l'aide de balises, vous pouvez contrôler le remplissage du serveur de grille. Deux types de balises sont fournis : balises et balises actives. Vous utilisez une balise pour désigner l'allocation au serveur de base. Vous utilisez une balise active pour identifier plus de caractéristiques précises pour un groupe de serveurs. Les caractéristiques que vous pouvez définir incluent des noyaux d'UC, la vitesse de l'UC, la date de détection, la mémoire, le type d'alimentation et la capacité totale du disque.

Lorsque des balises sont présentes, elles sont appliquées en plus de la configuration minimum requise pour le serveur qui est dictée par la version de CA AppLogic® que vous sélectionnez pour la grille.

Les balises sont combinées dans des clauses CNF (Conjunctive Normal Form) afin de définir un ensemble de tests utilisés comme critères de sélection de serveur pour la grille. La syntaxe de spécification des critères de sélection requiert la traduction de tests CNF spécifiques dans un tableau (JSON) de valeurs littérales disparates (classées par ordre de priorité) dans une liste représentant la conjonction. Les valeurs littérales incluses dans les clauses CNF représentent des contraintes pour la configuration requise (c'est-à-dire, les noms d'étiquettes) ou pour les conditions non autorisées (noms de Balise niés).

Les exemples suivants utilisent des ensembles hypothétiques qui représentent des critères de sélection de balise. Vous utilisez alors des énoncés CNF pour générer des valeurs de critères de sélection.

Exemple 1

Dans cet exemple, des balises de serveur sont définies pour les membres des trois ensembles suivants :

Ensuite, supposons que vous voulez définir des critères de serveur pour votre grille afin que le serveur Platinum soit sélectionné avant un serveur Gold ou Silver, sans tenir compte de la couleur. Dans cet exemple, la grille ne peut pas accepter un serveur Bronze ou Triangle.

En langage CNF, la syntaxe est la suivante :

((Platinum or Gold or Silver) and (not Triangle)) 

Cela génère la valeur de critères de sélection suivante :

[["Platinum","Gold","Silver"],["~Triangle"]] 

Remarquez que les termes "and" et "or" sont absents de la syntaxe. Une conjonction de disjonctions est supposée à l'aide du langage CNF et celles-ci sont donc rendues implicites par la syntaxe.

Cela est interprété comme suit, chaque ligne étant testée jusqu'à ce qu'un nombre suffisant de serveurs satisfassent le déficit de la grille :

  1. Choisir un serveur Platinum qui n'est pas un Triangle
  2. Choisir un serveur Gold qui n'est pas un Triangle
  3. Choisir un serveur Silver qui n'est pas un Triangle

Exemple 2 :

Dans cet exemple, vous décidez qu'un serveur Red convient mieux qu'un serveur Blue ou Green. En outre, une balise Yellow a été ajoutée, mais vous voulez définir que les serveurs Yellow ne sont pas compatibles avec la grille.

La valeur de sélection devient maintenant :

[["Platinum","Gold","Silver"],["Red","~Yellow"],["~Triangle"]] 

Cette chaîne est interprétée comme suit :

  1. Choisir un serveur Platinum Red qui n'est pas un Triangle
  2. Choisir un serveur Platinum qui n'est ni Yellow ni un Triangle
  3. Choisir un serveur Gold Red qui n'est pas un Triangle
  4. Choisir un serveur Gold qui n'est ni Yellow ni un Triangle
  5. Choisir un serveur Silver Red qui n'est pas un Triangle
  6. Choisir un serveur Silver qui n'est ni Yellow ni un Triangle

Exemple 3 :

Vous pouvez modifier la sélection de grilles illustrée dans l'exemple 2 pour ajouter les critères indiquant que la grille exclut non seulement les serveurs Yellow, mais préfère également les serveurs Blue plutôt que Green. Vous pouvez changer la valeur de sélection de la façon suivante :

[["Platinum","Gold","Silver"],["Red","Blue","Green"],["~Triangle"]] 

BFC détectera alors les serveurs dans l'ordre suivant jusqu'à ce qu'un nombre suffisant de serveurs soit trouvé :

  1. Choisir un serveur Platinum Red qui n'est pas un Triangle
  2. Choisir un serveur Platinum Blue qui n'est pas un Triangle
  3. Choisir un serveur Platinum Green qui n'est pas un Triangle
  4. Choisir un serveur Gold Red qui n'est pas un Triangle
  5. Choisir un serveur Gold Blue qui n'est pas un Triangle
  6. Choisir un serveur Gold Green qui n'est pas un Triangle
  7. Choisir un serveur Silver Red qui n'est pas un Triangle
  8. Choisir un serveur Silver Blue qui n'est pas un Triangle
  9. Choisir un serveur Silver Green qui n'est pas un Triangle

Exemple 4

Dans cet exemple, les critères de forme incluent les formes Circle au lieu de disqualifier les formes Triangle :

[["Platinum","Gold","Silver"],["Red","Blue","Green"],["Circle"]] 

L'effet sur la sélection est le suivant :

  1. Choisir un serveur Platinum Red Circle
  2. Choisir un serveur Platinum Blue Circle
  3. Choisir un serveur Platinum Green Circle
  4. Choisir un serveur Gold Red Circle
  5. Choisir un serveur Gold Blue Circle
  6. Choisir un serveur Gold Green Circle
  7. Choisir un serveur Silver Red Circle
  8. Choisir un serveur Silver Blue Circle
  9. Choisir un serveur Silver Green Circle

Exemple 5

Lorsque vous choisissez d'utiliser la négation dans des critères de serveur, réfléchissez au comportement éventuel si et lorsque les membres d'une catégorie de balise changent. Par exemple, pensez aux serveurs qui seraient sélectionnés par les requêtes ci-dessus si la forme Square était ajoutée. En outre, tenez compte de la façon dont les inconnues sont traitées. C'est assez différent de demander à ne pas sélectionner un serveur Triangle lorsqu'il existe uniquement des serveurs Circle et Triangle. Une fois qu'il existe des serveurs Square, ceux-ci sont ajoutés à Grid1 avec la même probabilité que Circle, sauf si l'ajustement ci-dessus destiné à appeler explicitement des serveurs Circle est utilisé.

Dans l'exemple suivant, la grille requiert uniquement que ses serveurs ne correspondent pas à Gold et Circle.

En langage CNF, la syntaxe est la suivante :

((not Gold) and (not Circle)) 

Cela se traduit par la chaîne de sélection suivante :

[["~Gold"],["~Circle"]] 

Si les serveurs Gold ont été exclus par erreur, les critères sont modifiés de la façon suivante :

[["~Circle"]]