Plan du site  
pixel
pixel

Articles - Étudiants SUPINFO

Faire du clustering avec HSRP, VRRP et GLBP sur IOS

Par Tony KHUON Publié le 27/10/2015 à 12:12:24 Noter cet article:
(0 votes)
Avis favorable du comité de lecture

La haute disponibilité a toujours été un enjeu majeur pour tout administrateur de systèmes d’informations. Le but est de garantir une disponibilité maximale des services via une suite de principes : la redondance, la robustesse, la fiabilité, la vitesse de réaction.

Pour cela nous pouvons utiliser ce qu’on appelle un cluster, c’est-à-dire un groupe logique d’équipements similaires, tels que des routeurs. Ainsi, lorsqu’un membre du cluster tombe en panne, un autre membre prend le relais et permet ainsi une reprise du service très rapide.

Nous allons nous pencher sur la gestion de clusters sur des routeurs Cisco, et nous avons 3 différents protocoles à notre disposition :

  • Hot Standby Router Protocol (HSRP),

  • Virtual Router Redundancy Protocol (VRRP),

  • Gateway Load Balancing Protocol (GLBP).

Nous allons passer en revue ces protocoles différents mais pourtant si similaires, mais dans un premier temps nous aborderons le clustering en général.

Paramètres de cluster

Hello et Hold timers

Un cluster fonctionne selon un mode opératoire très strict, c’est-à-dire en utilisant deux compteurs qui vont indiquer l’état de santé du cluster.

Le Hello packet est un paquet que le routeur principal du cluster va envoyer régulièrement à aux membres de celui-ci pour savoir s’ils sont en ligne ou non. Le Hello timer indique la fréquence à laquelle les paquets sont envoyés. Un timer faible permet de se rendre compte rapidement des éventuelles pannes, mais peut appliquer une charge relativement importante sur le réseau. Un timer élevé implique un temps de réaction plus important, mais cela évite la pollution des liens réseaux.

Le Hold timer est un compteur permettant au cluster de réaliser qu’un de ses membres (notamment le principal) est tombé. Il s’appuie sur les Hello packets : lorsque le cluster n’a pas reçu de paquets Hello de la part d’un membre pendant un certain temps, il considère ce membre comme en panne, donc dans le cas où celui-ci est le membre principal, cela permet à un autre routeur de prendre le relais.

Priorité

Au sein d’un cluster, un membre du groupe est élu maître. L’élection est basé sur une métrique appelé priorité qui peut varier d’une valeur minimale de 0 à une valeur maximale de 255, soit 256 niveaux différents de priorité. Cette valeur peut-être configuré manuellement, mais dans le cas par défaut donc d’égalité de priorité, l’adresse IP la plus élevée parmi les membres du cluster est désigné maître.

Le routeur dont le niveau de priorité est le plus haut, c’est-à-dire se rapprochant le plus de la valeur 255, est nommé maître dans le cluster, et peut ainsi prendre en charge le service voulu (dans le cas du routeur, ce serait simplement du routage IP). Par défaut, la valeur de la priorité est de 100.

Les autres membres passent donc en mode passif, ils ne sont présents uniquement en cas de besoin : si le maître tombe en panne par exemple, le deuxième routeur avec la priorité la plus élevée récupèrera le fardeau.

Preemption

Lorsqu’il y a interruption de service à cause d’une panne du routeur maître, le routeur passif en deuxième position de priorité prend le relais. Cependant si le maître venait à repasser en ligne, est-ce que celui-ci reprend le contrôle ou est-ce qu’il laisse la situation telle qu’elle ?

Ce paramètre, appelé preemption, permet au maître original de reprendre le service de son remplaçant, si jamais il venait à ne plus être en panne. Celui-ci est désactivé par défaut sur les différents protocoles, l’administrateur peut l’activer manuellement.

Tracking

Prenons un exemple : quand l’interface WAN d’un routeur actif du cluster est instable (connexions/déconnexions fréquentes de l’interface), il est difficile pour le cluster de juger de la fiabilité du maître. Il ne peut pas déterminer que le routeur maître est en panne, puisque celui-ci émet toujours des Hello packets depuis son lien LAN. Le cluster peut donc paraître fonctionnel, mais le service n’est pas assuré derrière, cela peut poser quelques problèmes si l’administrateur réseau ne s’en occupe pas.

L’interface tracking permet de palier à ce souci, ce paramètre permet d’incrémenter ou de décrémenter la priorité d’un routeur si certaines interfaces de celui-ci subissent une panne. Ainsi, lorsque la panne survient, la priorité est abaissée d’un montant et un autre routeur prend sa place si le montant soustrait est suffisamment élevé.

Le tracking agit donc de concert avec la preemption pour permettre une robustesse à la panne et une reprise immédiate du service.

Protocoles de haute disponibilité

Hot Standby Router Protocol (HSRP)

Hot Standby Router Protocol (HSRP) est un protocole propriétaire Cisco, c’est-à-dire qu’il ne s’utilise uniquement que sur des routeurs pourvus d’un IOS.

Le Hello Timer est de 3 secondes. Le Hold Timer est de 10 secondes.

Les différents statuts des routeurs sont dénommés comme suit :

  • Le routeur maître est considéré comme active dans le cluster HSRP.

  • Le ou les routeurs de secours sont nommés standby.

HSRP utilise une adresse MAC virtuelle ainsi qu’une adresse IP virtuelle pour désigner le point d’entrée du cluster. Par exemple, la paire de routeurs clusterisés avec les adresses 192.168.1.2/24 et 192.168.1.3/24 peuvent être joignables via l’adresse du cluster 192.168.1.1/24. Ces adresses permettent de répondre aux différentes requêtes envoyées par le client, telles que les requêtes ARP.

Le protocole HSRP supporte également l’équilibrage des charges (load balancing) mais d’une façon particulière via ce qu’on appelle le Multiple Hot Standby Router Protocol (MHSRP). Le principe est le suivant : on forme autant de groupes qu’il y a de membres dans le cluster, et chaque groupe aura un membre qui sera maître. Un membre ne sera jamais le maître de plusieurs groupes à la fois. Ainsi, on sépare les clients et on configure la passerelle par défaut de chaque groupe d’hôtes, comme l’indique le schéma suivant :

Figure 1. Multiple HSRP

Multiple HSRP

Exemple de configuration :

R1(config)#interface fastethernet 0/0

# Groupe HSRP et adresse IP virtuelle

R1(config-if)#standby 1 ip 30.0.0.254

# Priorité

R1(config-if)#standby 1 priority 130

# Preemption

R1(config-if)#standby 1 preempt

# Tracking d’interface (-30 priorité si down)

R1(config-if)#standby 1 track FastEthernet 0/1 30

Pour la suite, on passe sur le deuxième membre, et on change la priorité afin de faire en sorte que celui-ci soit passif (par exemple, priority 110 au lieu de 130).

La commande principale de troubleshooting est show standby.

Virtual Router Redundancy Protocol (VRRP)

Virtual Router Redundancy Protocol (VRRP) est un protocole de haute disponibilité dans la couche réseau du modèle OSI. Ce protocole est un standard dans l’industrie, cela veut dire qu’il est utilisable et utilisé sur tous les routeurs supportant ce type de protocole.

Le Hello Timer est de 1 seconde. Le Hold Timer est de 3 secondes.

Le protocole fonctionne de la même manière que HSRP, cependant les dénominations sont différentes :

  • Le routeur actif est appelé master.

  • Le routeur passif est considéré comme backup.

La seule subtilité et notable différence réside dans le fait que l’adresse IP virtuelle du cluster peut être configuré comme étant l’adresse IP physique du routeur master au sein du cluster, contrairement au protocole HSRP.

La haute disponibilité peut être configuré de la même façon qu’avec HSRP, c’est-à-dire via l’utilisation de plusieurs groupes VRRP avec des masters différents.

Exemple de configuration :

R1(config)# interface FastEthernet0/0

# Groupe VRRP et adresse IP virtuelle

R1(config-if)# vrrp 1 ip 192.168.0.254

# Priorité

R1(config-if)# vrrp 1 priority 200

# Preemption

R1(config-if)# vrrp 1 preempt

Comme nous pouvons le voir, la configuration est vraiment similaire au protocole HSRP. La commande principale de troubleshooting est show vrrp.

Gateway Load Balancing Protocol (GLBP)

Gateway Load Balancing Protocol (GLBP) est un protocole propriétaire Cisco, donc créé par Cisco. Le but de ce protocole était de palier aux défauts de HSRP, c’est-à-dire la configuration de l’équilibrage des charges qui n’était pas intuitif (Multiple HSRP). GLBP a donc implémenté le load balancing de façon simple, basé sur un système de poids par membre, permettant également un équilibrage inégal des charges.

Le Hello Timer est de 3 secondes. Le Hold Timer est de 10 secondes.

Dans ce protocole nous n’avons pas de routeur actif ni de routeur passif. A la place, il y a deux types de membres au sein du cluster :

  • Active Virtual Gateway (AVG) qui sera le routeur qui va répondre aux requêtes ARP et qui va également se comporter comme un forwarder.

  • Active Virtual Forwarder (AVF) qui est un membre basique, qui va juste se contenter de forward les paquets qui sont destinés au cluster.

Il existe 3 différents types de répartition des charges dans un cluster GLBP :

  • Round Robin : mode par défaut, la charge est redistribuée équitablement entre les AVG et l’AVF, à tour de rôle.

  • Weighted : ceci est un mode basé sur le poids de chaque membre, le trafic est envoyé proportionnellement au paramètre weight défini par l’administrateur.

  • Host-dependant : ce mode permet d’associer des paires routeurs/hôtes, ainsi un client passera toujours sur la même passerelle.

Exemple de configuration :

R1(config)#interface fa0/0

# Création du groupe GLBP et IP virtuelle

R1(config-if)#glbp 1 ip 10.0.0.254

# Preemption

R1(config-if)#glbp 1 preempt

# Priorité

R1(config-if)#glbp 1 priority 140

# Mode de repartition des charges

R1(config-if)#glbp 1 load-balancing round-robin

La commande pour voir le statut du GLBP est show glbp brief.

A propos de SUPINFO | Contacts & adresses | Enseigner à SUPINFO | Presse | Conditions d'utilisation & Copyright | Respect de la vie privée | Investir
Logo de la société Cisco, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société IBM, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sun-Oracle, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Apple, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sybase, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Novell, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Intel, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Accenture, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société SAP, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Prometric, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Toeic, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo du IT Academy Program par Microsoft, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management

SUPINFO International University
Ecole d'Informatique - IT School
École Supérieure d'Informatique de Paris, leader en France
La Grande Ecole de l'informatique, du numérique et du management
Fondée en 1965, reconnue par l'État. Titre Bac+5 certifié au niveau I.
SUPINFO International University is globally operated by EDUCINVEST Belgium - Avenue Louise, 534 - 1050 Brussels