Configuration d'un système Oracle® Solaris 11.2 en tant que routeur ou équilibreur de charge

Quitter la vue de l'impression

Mis à jour : Septembre 2014
 
 

Configuration des règles ILB

Cette section indique comment exécuter la commande ilbadm pour créer, supprimer et répertorier les règles d'équilibrage de la charge.

Algorithmes ILB

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.

Création d'une règle de ILB

    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


    Remarque -  Vous pouvez spécifier des contrôles de l'intégrité sur un port particulier, ou sur n'importe quel port sélectionné de manière aléatoire par le démon ilbd dans la plage de numéros de port associés au serveur.
  • 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

Remarque -  L'option -e active la règle qui est en cours de création, et qui, autrement, serait désactivée par défaut.
Exemple 6-4  Création d'une règle Full-NAT avec persistance de la session de vérification de l'état

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.

Etablissement de la liste des règles ILB

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

Suppression d'une règle ILB

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