ADC

Personnalisation de l’algorithme de hachage pour assurer la persistance sur les serveurs virtuels

L’appliance NetScaler utilise des algorithmes basés sur le hachage pour maintenir la persistance sur les serveurs virtuels. Par défaut, la méthode d’équilibrage de charge basée sur le hachage utilise la valeur de hachage de l’adresse IP et du numéro de port du service. Si un service est mis à disposition sur différents ports du même serveur, l’algorithme génère différentes valeurs de hachage. Par conséquent, différents serveurs virtuels d’équilibrage de charge peuvent envoyer des demandes pour la même application à différents services, brisant ainsi la pseudo-persistance.

Au lieu d’utiliser le numéro de port pour générer la valeur de hachage, vous pouvez spécifier un identifiant de hachage unique pour chaque service. Pour un service, la même valeur d’identifiant de hachage doit être spécifiée sur tous les serveurs virtuels. Si un serveur physique dessert plusieurs types d’applications, chaque type d’application doit disposer d’un identifiant de hachage unique.

L’algorithme de calcul de la valeur de hachage d’un service fonctionne comme suit :

  • Par défaut, un paramètre global spécifie l’utilisation du numéro de port dans un calcul de hachage.
  • Si vous configurez un identifiant de hachage pour un service, il est utilisé, mais pas le numéro de port, quel que soit le paramètre global.
  • Si vous ne configurez pas d’identifiant de hachage, mais que vous modifiez la valeur par défaut du paramètre global afin qu’il ne spécifie pas l’utilisation du numéro de port, la valeur de hachage est basée uniquement sur l’adresse IP du service.
  • Si vous ne configurez pas d’identifiant de hachage ou si vous ne modifiez pas la valeur par défaut du paramètre global pour utiliser le numéro de port, la valeur de hachage est basée sur l’adresse IP et le numéro de port du service.

Vous pouvez également spécifier des identifiants de hachage lorsque vous utilisez l’interface de ligne de commande pour lier des services à un groupe de services. Dans l’utilitaire de configuration, vous pouvez ouvrir un groupe de services et ajouter des identifiants de hachage dans l’onglet Membres.

Pour modifier le paramètre global use-port-number à l’aide de l’interface de ligne de commande

À l’invite de commande, tapez :

définir le paramètre lb -usePortForHashLB (OUI) NO)

Exemple :

> set lb parameter -usePortForHashLb NO
 Done
>show lb parameter
Global LB parameters:
        Persistence Cookie HttpOnly Flag: DISABLED
        Use port for hash LB: NO
 Done
<!--NeedCopy-->

Pour modifier le paramètre global use-port-number à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > Équilibrage de charge > Configurer les paramètres d’équilibrage de charge.
  2. Sélectionnez ou désactivez Utiliser le port pour les méthodes LB basées sur le hachage.

Pour créer un nouveau service et spécifier un identifiant de hachage pour un service à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez les commandes suivantes pour définir l’ID de hachage et vérifier le paramètre :

ajouter un service < name > (< ip > < serverName >) < serviceType > < port > -Hashid < positive_integer >
show service <name>
<!--NeedCopy-->

Exemple :

> add service flbkng 10.101.10.1 http 80 -hashId 12345
 Done
>show service flbkng
        flbkng (10.101.10.1:80) - HTTP
        State: DOWN
        Last state change was at Thu Nov  4 10:14:52 2010
        Time since last state change: 0 days, 00:00:15.990
        Server Name: 10.101.10.1
        Server ID : 0   Monitor Threshold : 0

        Down state flush: ENABLED
        Hash Id: 12345

1)      Monitor Name: tcp-default
                State: DOWN     Weight: 1

 Done
<!--NeedCopy-->

Pour spécifier un identifiant de hachage pour un service existant à l’aide de l’interface de ligne de commande

Tapez la commande set service, le nom du service et -HashiD suivi de la valeur de l’ID.

Pour spécifier un identifiant de hachage lors de l’ajout d’un membre du groupe de services

Pour spécifier un identifiant de hachage pour chaque membre à ajouter au groupe et vérifier le paramètre, à l’invite de commandes, tapez les commandes suivantes (Veillez à spécifier un HashiD unique pour chaque membre). ) :

bind servicegroup <serviceGroupName> <memberName> <port> -hashId <positive_integer>

show servicegroup <serviceGroupName>
<!--NeedCopy-->

Exemple :

 bind servicegroup http_svc_group 10.102.27.153 80 -hashId 2222222

>show servicegroup SRV
        SRV - HTTP
        State: ENABLED  Monitor Threshold : 0
        …

        1)         1.1.1.1:80   State: DOWN     Server Name: 1.1.1.1    Server ID: 123  Weight: 1
        Hash Id: 32211

                Monitor Name: tcp-default       State: DOWN
        …

        2)         2.2.2.2:80   State: DOWN     Server Name: 2.2.2.2    Server ID: 123  Weight: 1
        Hash Id: 12345

                Monitor Name: tcp-default       State: DOWN
        …
Done

<!--NeedCopy-->

Pour spécifier un identifiant de hachage pour un service à l’aide de l’interface graphique

  1. Accédez à Traffic Management > Load Balancing > Services.
  2. Créez un nouveau service ou ouvrez un service existant et spécifiez l’ID de hachage.

Pour spécifier un identifiant de hachage pour un membre du groupe de services déjà configuré à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > Équilibrage de charge > Groupes de services.
  2. Ouvrez un membre et tapez un ID de hachage unique.