Citrix ADC

Ordre de priorité pour les services d’équilibrage de charge

La fonction Ordre de priorité pour les services vous permet de hiérarchiser l’ordre des services ou des groupes de services en fonction des préférences de sélection de l’équilibrage de charge. Vous pouvez configurer l’ordre de priorité lorsque vous effectuez les opérations suivantes :

  • Liez un service à un serveur virtuel d’équilibrage de charge.
  • Liez un groupe de services à un serveur virtuel d’équilibrage de charge.
  • Liez un membre du groupe de services au groupe de services d’équilibrage de charge.

Actuellement, vous pouvez configurer l’ordre de priorité des services à l’aide des approches suivantes. Toutefois, ces approches présentent les limites suivantes :  

  • Configuration d’une chaîne de serveurs virtuels de sauvegarde : le nombre de lignes de configuration est élevé et vous devez exécuter la commande show plusieurs fois pour connaître l’état de tous les services LB pour chaque serveur virtuel.

  • Configuration de l’emplacement préféré : vous devez créer des entrées d’emplacement pour tous les points de terminaison de votre application.

La fonctionnalité Ordre de priorité pour les services résout les limitations précédentes avec moins de commandes de configuration et vous aide à effectuer la configuration de l’emplacement préféré sans avoir besoin de représentation de l’emplacement de toutes les adresses IP des services d’équilibrage de charge.

Configurer l’ordre de priorité des services d’équilibrage de charge

Pour configurer l’ordre de priorité des services d’équilibrage de charge, le paramètre -order <number> est ajouté aux commandes de liaison.

Remarque :

Le numéro de commande le plus bas a la priorité la plus élevée.

Commande :

bind lb vserver <vservername> <servicename/servicegroupname> -order <number>

Prenons l’exemple d’un ensemble de services liés à un serveur virtuel d’équilibrage de charge (vs1). À l’aide du paramètre
- order <number>, vous pouvez hiérarchiser l’ordre de sélection des services comme suit :

  • Ensemble 1 (s1, s2) lié à vs1 — ordre 1
  • Ensemble 2 (s3, s4) lié à vs1 — ordre 2
  • Ensemble 3 (s5, s6) lié à vs1 — ordre 3

Après avoir lié les services à vs1 et lorsque vs1 reçoit le trafic client, l’ordre de sélection des services est le suivant :

  • Le serveur virtuel (vs1) sélectionne d’abord les services de l’ensemble 1 (s1 et s2) portant le numéro d’ordre 1, car cet ensemble se voit attribuer le numéro d’ordre le plus bas. Par défaut, le numéro de commande le plus bas a la priorité la plus élevée.
  • Si tous les services de l’ensemble 1 sont DOWN, vs1 sélectionne l’ensemble 2 (s3 et s4) avec le numéro d’ordre 2.
  • Si tous les services des ensembles 1 et 2 sont hors service, vs1 sélectionne l’ensemble 3 (s5 et s6) avec le numéro d’ordre 3.

Configurer l’ordre de priorité pour les services d’équilibrage de charge à l’aide de

Pour configurer l’ordre de priorité des services d’équilibrage de charge, tapez les commandes suivantes à l’invite de commandes :

  1. Ajoutez un serveur virtuel LB.

    add lb vserver vs1 HTTP 1.1.1.1 80

  2. Ajoutez des services LB.

    add service s[1-6] 2.2.2.[1-6] HTTP 80

  3. Définissez le numéro de commande et liez les services au serveur virtuel LB.

    bind lb vserver vs1 s1 -order 1

    bind lb vserver vs1 s2 -order 1

    bind lb vserver vs1 s3 -order 2

    bind lb vserver vs1 s4 -order 2

    bind lb vserver vs1 s5 -order 3

    bind lb vserver vs1 s6 -order 3

Configurer l’ordre de priorité pour les services d’équilibrage de charge à l’aide de

Conditions préalables :

  • Vous avez créé un serveur virtuel d’équilibrage de charge.
  • Vous avez créé des services.

Pour configurer l’ordre de priorité des services d’équilibrage de charge et les lier au serveur virtuel, procédez comme suit :

  1. Accédez àGestion du trafic > Équilibrage de charge > Serveurs virtuels, puis double-cliquez sur le serveur virtuel d’équilibrage de charge.

  2. Dans Serveur virtuel d’équilibrage de charge, sous la section Services et groupes de services, cliquez sur Liaison de service de serveur virtuel d’équilibrage de charge.

  3. Dans la boîte de dialogueLiaison de service de serveur virtuel d’équilibrage de charge, cliquez surAjouter une liaison.

  4. Dans la boîtede dialogue Liaisonde service, sélectionnez un service.

  5. Saisissez un nombre dans le champ Ordrepour définir l’ordre de priorité du service.

    Configurer l'ordre de priorité et le service LB de liaison

  6. Cliquez surLier.

  7. Répétez les étapes 1 à 6 pour configurer un numéro d’ordre de priorité différent pour différents services.

Configurer l’ordre de priorité pour les services d’équilibrage de charge à l’aide de commandes

Par défaut, le numéro de commande le plus bas a la priorité la plus élevée. Toutefois, vous pouvez différer ce comportement par défaut à l’aide des nouvelles commandes d’action et de stratégie LB. Vous pouvez configurer l’ordre de sélection des services en fonction du trafic client entrant ou des données client.

Prenons l’exemple d’un ensemble de services liés à un serveur virtuel (vs1). À l’aide du paramètre - order <number>, vous avez configuré l’ordre de priorité des services comme suit :

  • Ensemble 1 (s1, s2) lié à vs1 — ordre 1

  • Ensemble 2 (s3, s4) lié à vs1 — ordre 2

  • Ensemble 3 (s5, s6) lié à vs1 — ordre 3

Par défaut, le numéro de commande le plus bas a la priorité la plus élevée. Par conséquent, l’ordre de priorité par défaut est 1, 2 et 3 pour les services de l’ensemble 1, ensemble2 et ensemble3, respectivement. Toutefois, pour un trafic client spécifique, vous souhaitez modifier l’ordre de priorité sur 3, 1 et 2. Pour ce faire, vous pouvez ajouter une stratégie LB et la lier à vs1.

Une commande de stratégie LB se compose de deux éléments : une règle et une action. La règle est associée à une action, qui est exécutée si une demande correspond à la règle.

Remarque :

Les commandes de stratégie LB sont communes à la fois pour la configuration LB et GSLB et sont applicables aux demandes gérées par l’appliance Citrix ADC.

Action LB

**Expression :**

add lb action <name> <type> <string>

**Exemple :**

add lb action act1 -type SELECTIONORDER -value 3 2 1

Paramètres :

  • name: nom de l’action.

  • type: Type d’action.

  • string: valeur de l’action spécifiée.

Politique LB

**Expression :**

add lb policy <name> <rule> <action> <undefaction>

**Exemple :**

add lb policy pol1 -rule CLIENT.IP.SRC.EQ(8.8.8.8) -action act1

Paramètres :

  • name: nom de la stratégie.

  • rule: une règle se compose d’une ou plusieurs expressions. La règle est associée à une action, qui est exécutée si la demande correspond à la règle.

  • action: DROP, NOLBACTION et RESET sont pris en charge.

  • undefaction: l’appliance Citrix ADC génère un événement non défini (événement UNDEF) lorsqu’une demande ne correspond pas à une stratégie. Vous pouvez utiliser la commande set lb param -undefAction <action>pour définir l’action non définie. Vous pouvez affecter ces actions à un événement non défini : DROP, NOLBACTION et RESET.

Prenons un exemple dans lequel vous ajoutez une action LB, une stratégie LB et liez la stratégie à un serveur virtuel d’équilibrage de charge (vs1) comme suit :

add lb action act1 -type SELECTIONORDER -value 3 1 2

add lb policy pol1 -rule CLIENT.IP.SRC.EQ(8.8.8.8) -action act1

bind lb vserver vs1 -policyName pol1 -priority 10

La règle sélectionne le trafic client correspondant à l’adresse IP et envoie ce trafic vers vs1. 8.8.8.8 Le type d’action LB (SELECTIONORDER) définit l’ordre de sélection du service. Après avoir lié la stratégie LB à vs1 et lorsque vs1 reçoit le trafic client de l’adresse IP8.8.8.8, les services sont sélectionnés dans l’ordre suivant :

  1. Le serveur virtuel (vs1) sélectionne les services de l’ensemble 3 (s5 et s6) avec un ordre de priorité 3.

  2. Si tous les services de l’ensemble 3 sont DOWN, vs1 sélectionne l’ensemble 1 (s1 et s2) avec un ordre de priorité 2.

  3. Si tous les services de l’ensemble 3 et de l’ensemble 2 sont hors service, le vs1 sélectionne l’ensemble 1 (s1 et s2) avec l’ordre 1.

Configurer l’ordre de priorité pour les services d’équilibrage de charge avec les commandes de stratégie LB à l’aide de

Pour configurer l’ordre de priorité des services d’équilibrage de charge à l’aide des commandes de stratégie LB, tapez les commandes suivantes à l’invite de commandes :

  1. Ajoutez une action LB.

    add lb action act1 -type SELECTIONORDER -value 3 1 2

  2. Ajoutez une stratégie LB.

    add lb policy pol1 -rule CLIENT.IP.SRC.EQ(8.8.8.8) -action act1

  3. Ajoutez un serveur virtuel LB.

    add lb vserver vs1 HTTP 1.1.1.1 80

  4. Liez la stratégie LB au serveur virtuel LB.

    bind lb vs vs1 -policyName pol1 -priority 10

  5. Ajoutez des services LB.

    add service s[1-6] 2.2.2.[1-6] HTTP 80

  6. Définissez l’ordre et liez les services au serveur virtuel LB.

    bind lb vserver vs1 s1 -order 1

    bind lb vserver vs1 s2 -order 1

    bind lb vserver vs1 s3 -order 2

    bind lb vserver vs1 s4 -order 2

    bind lb vserver vs1 s5 -order 3

    bind lb vserver vs1 s6 -order 3

Configurez l’ordre de priorité des services d’équilibrage de charge avec les commandes de stratégie LB à l’aide de l’interface

Conditions préalables :

  • Vous avez créé un serveur virtuel d’équilibrage de charge.
  • Vous avez créé des services.

Étape 1 - Créer une action LB :

  1. Accédez à AppExpert > LB > Actions.

  2. DansActions LB, cliquez surAjouter.

  3. Dans la boîte de dialogueCréer des actions LB, spécifiez des valeurs pour les paramètres suivants :

    • Nom de l’action : act1
    • Type : SELECTIONORDER
    • Valeur : 3 1 2

      Remarque :

      Les chiffres du champ Valeursont séparés par un espace.

    Action Ajouter un LB

  4. Cliquez sur Créer.

Étape 2 - Créer une stratégie LB :

  1. Accédez à AppExpert > LB > Stratégies.

  2. DansStratégies LB, cliquez surAjouter.

  3. Dans la boîte de dialogueCréer des stratégies LB, spécifiez des valeurs pour les paramètres suivants :

    • Nom : pol1
    • Action : acte 1
    • Action à résultat non défini : NOLBACTION
    • Expression : CLIENT.IP.SRC.EQ (8.8.8.8)

    Ajouter une stratégie LB

  4. Cliquez surCréer.

Étape 3 - Liez la stratégie LB au serveur virtuel LB :

  1. Accédez àGestion du trafic > LB > Serveurs virtuelset double-cliquez sur le serveur virtuel.

  2. DansParamètres avancés, cliquez surStratégies.

  3. Dans la sectionPolitiques, cliquez sur l’icône plus (+).

  4. Dans la boîte de dialogue Choisir un type, spécifiez des valeurs pour les paramètres suivants :

    • Choisissez une stratégie : LB
    • Choisissez le type : Demande
  5. Cliquez sur Ajouter une liaison.

  6. Dans la boîte de dialogue Liaison de stratégie, spécifiez des valeurs pour les paramètres suivants :

    • Sélectionnez la stratégie : pol 1
    • Priorité : 10
    • Expression Goto : FIN
    • Invoke LabelType : Aucun

    Stratégie Bind LB

  7. Cliquez sur Bind.

Étape 4 - Configurez l’ordre de priorité pour les services d’équilibrage de charge :

Pour configurer l’ordre de priorité des services d’équilibrage de charge, consultez la procédure Configurer l’ordre de priorité des services d’équilibrage de charge à l’aide de l’interface graphique .

Paramètres de persistance pour les services

Si la persistance est configurée pour un service, la préférence est toujours donnée à la persistance, par défaut.

Prenons l’exemple d’un service dont la persistance est configurée et dont l’ordre de priorité est 1. Si un service d’ordre de priorité 0 est UP, la préférence est toujours donnée au service d’ordre de priorité 1.

Toutefois, vous pouvez remplacer ce comportement par défaut à l’aide de la commande CLI suivante :

set lb param –overridePersistencyforOrder <YES/NO>

Prenons l’exemple suivant :

Un ensemble de services est lié à un serveur virtuel (vs1) avec l’ordre de priorité suivant :

  • Ensemble 1 (s1, s2) lié à vs1 — ordre 1

  • Ensemble 2 (s3, s4) lié à vs1 — ordre 2

Tapez la commande suivante à l’invite de commandes pour remplacer la persistance :

set lb parameter -overridePersistencyforOrder YES

Si l’ensemble 1 (les services avec persistance sont configurés) est DOWN, les services de l’ensemble 2 traitent toutes les demandes jusqu’à ce que les services de l’ensemble 1 soient actifs. Une entrée de persistance pour la priorité 2 est créée.

Supposons qu’après un certain temps, les services de l’ensemble 1 soient actifs. Désormais, les services de l’ensemble 1 et de l’ensemble 2 sont prêts à traiter les demandes. Dans ce scénario, de nouvelles décisions d’équilibrage de charge sont prises lorsque les services d’ordre supérieur sont actifs. L’entrée de persistance est remplacée par une nouvelle entrée d’équilibrage de charge.

Bascule de priorité

Avec la fonctionnalité de basculement de priorité, vous pouvez basculer tout le trafic vers un service de faible priorité pendant la mise à niveau de version pour un service avec un ordre de priorité plus élevé. Vous pouvez utiliser les commandes suivantes pour basculer la priorité :

  • set lb vserver -toggleorder<Ascending/Descending>

  • set lb vserver v1 -orderthreshold 80

Par exemple, considérons qu’il existe deux services ayant les priorités suivantes :

  • Service 1- order 0 
  • Service 2 — commande 1

Par défaut, le service 1 gère tout le trafic. Si le service 1 doit être mis à niveau, le trafic doit être redirigé vers le service 2.

À l’invite de commandes, tapez les commandes suivantes pour basculer la priorité :

set lb vserver –toggleorder Descending

Par défaut, 0 a une priorité supérieure. Cependant, après le basculement de priorité, 1 est considéré comme une priorité supérieure. Si une entrée de persistance est présente pour le service, le comportement de préférence de persistance est tel qu’expliqué dans la section Paramètres de persistance pour les services.