Cette section indique comment exécuter la commande ilbadm pour créer, supprimer et répertorier les règles d'équilibrage de la charge.
Les algorithmes ILB contrôlent la distribution du trafic et fournissent diverses caractéristiques pour répartir la charge et sélectionner les serveurs.
L'équilibreur de charge intégré fournit les algorithmes suivants dans les deux topologies :
Tourniquet : avec cet algorithme (round-robin), l'équilibreur de charge affecte les demandes à un groupe de serveurs à tour de rôle. Après l'attribution d'une demande à un serveur, celui-ci est placé au bas de la liste.
Hachage src IP : avec la méthode de hachage de l'adresse IP source, l'équilibreur de charge sélectionne un serveur en fonction de la valeur de hachage associée à l'adresse IP source de la demande entrante.
Hachage src-IP, port : avec la méthode de hachage du port et de l'adresse IP source, l'équilibreur de charge sélectionne un serveur en fonction de la valeur de hachage associée au port et à l'adresse IP source de la demande entrante.
Hachage src-IP, VIP : avec la méthode de hachage de l'adresse IP source et VIP, l'équilibreur de charge sélectionne un serveur en fonction de la valeur de hachage associée à l'adresse IP source et de destination de la demande entrante.
Dans ILB, un service virtuel est représenté par une règle d'équilibrage de charge et défini par les paramètres suivants :
Adresse IP virtuelle
Protocole de transport (TCP ou UDP)
Numéro de port (ou plage de ports)
Algorithme d'équilibrage de charge
Mode d'équilibrage de charge (DSR, Full-NAT ou Half-NAT)
Groupe composé de plusieurs serveurs backend
Vérifications de l'état (en option) à exécuter sur chacun des serveurs du groupe
Port (facultatif) sur lequel réaliser les vérifications de l'état
Nom de règle pour représenter un service virtuel
Avant de pouvoir créer une règle, vous devez procéder comme suit :
Créez un groupe qui inclut les serveurs backend appropriés. Pour plus d'informations, reportez-vous à la section Définition des groupes de serveurs et des serveurs backend dans ILB.
Créez une vérification de l'état afin d'associer le serveur de données avec la règle de vérification de l'état. Pour plus d'informations, reportez-vous à la section Création d'une vérification de l'état.
Déterminez l'adresse VIP, le port et le protocole en option à associer à la règle.
Sélectionnez l'opération à mettre en place (DSR, Half-NAT ou Full-NAT).
Identifiez l'algorithme d'équilibrage de charge à utiliser. Pour plus d'informations, reportez-vous à la section Algorithmes ILB.
Vous pouvez créer une règle ILB à l'aide de la commande. ilbadm create-rule. Pour plus d'informations sur l'utilisation de la commande ilbadm create-rule, reportez-vous à la page de manuel ilbadm(1M).
Respectez la syntaxe suivante :
# ilbadm create-rule -e -i vip=IPaddr,port=port,protocol=protocol \ -m lbalg=lb-algorithm,type=topology-type,proxy-src=IPaddr1-IPaddr2,\ pmask=value -h hc-name=hc1-o servergroup=sg rule1
Cet exemple crée une vérification de l'état nommée hc1 et un groupe de serveurs nommé sg1. Le groupe se compose de deux serveurs, chacun disposant d'une plage de ports. La dernière commande crée et active une règle nommée rule1, puis l'associe au groupe de serveurs et à la vérification de l'état. Cette règle implémente le mode Full-NAT. Notez que la création du groupe de serveurs et de la vérification de l'état doit précéder la création de la règle.
# ilbadm create-healthcheck -h hc-test=tcp,hc-timeout=2,\ hc-count=3,hc-interval=10 hc1 # ilbadm create-servergroup -s server=192.168.0.10:6000-6009,192.168.0.11:7000-7009 sg1 # ilbadm create-rule -e -p -i vip=10.0.0.10,port=5000-5009,\ protocol=tcp -m lbalg=rr,type=NAT,proxy-src=192.168.0.101-192.168.0.104,pmask=24 \ -h hc-name=hc1 -o servergroup=sg1 rule1
Après avoir créé une correspondance persistante, les demandes de connexions et/ou de paquets suivantes sur un service virtuel, avec une adresse IP source du client correspondante, sont transférées au même serveur d'arrière-plan. La longueur du préfixe de la notation CIDR (Classless Inter-Domain Routing) correspond à une valeur comprise dans la plage 0-32 pour IPv4 ou 0-128 pour IPv6.
Lorsque vous créez une règle Half-NAT ou Full-NAT, spécifiez la valeur du délai d'expiration connection-drain. La valeur par défaut du délai conn-drain est fixée à 0, ce qui signifie que le serveur reste en attente jusqu'à ce qu'une connexion soit progressivement interrompue.
Pour répertorier les détails de configuration d'une règle, émettez la commande suivante : Si vous ne spécifiez pas de nom de règle, les informations relatives à toutes les règles sont renvoyées.
# ilbadm show-rule RULENAME STATUS LBALG TYPE PROTOCOL VIP PORT rule-http E hash-ip-port NAT TCP 10.0.0.1 80 rule-dns D hash-ip NAT UDP 10.0.0.1 53 rule-abc D roundrobin NAT TCP 2001:db8::1 1024 rule-xyz E ip-vip NAT TCP 2001:db8::1 2048-2050
Vous pouvez utiliser la commande ilbadm delete-rule pour supprimer une règle. Ajoutez l'option -a pour supprimer l'intégralité des règles. L'exemple de commande ci-dessous supprime la règle nommée rule1.
# ilbadm delete-rule rule1