Correction droit de préemption et failover d'un groupe, qui ne sont pas liés l'un à l'autre

This commit is contained in:
jdubois 2023-04-27 15:37:36 +02:00
parent f5e3b95281
commit 8f0c443c5e

View file

@ -14,7 +14,7 @@ title: Howto CARP sous OpenBSD
`advskew` est un des paramètres pour jouer sur le choix de qui est master. Entre deux hôtes avec des valeurs de `advskew` différentes, c'est celui avec la valeur la plus petite qui sera `MASTER`.
### manuelle
### Manuelle
Sur le MASTER :
@ -30,7 +30,7 @@ Sur le BACKUP :
# ifconfig carp0 vhid 1 pass PASSWORD carpdev bnx0 advskew 128 192.0.2.30 netmask 255.255.255.224
~~~
### persistante
### Persistante
Sur le MASTER :
@ -68,16 +68,32 @@ inet 192.0.2.1 255.255.255.224
192.0.2.30/27 carpdev vlan42 pass PASSWORD vhid 1 advbase 1 advskew 128
~~~
## Failover d'un groupe d'interfaces
Par défaut, toutes les interfaces CARP sont dans le même groupe `carp`. Chaque groupe a un compteur `carpdemote` qui lui est propre et affectant toutes les interfaces membres du groupe.
Si une interface physique sur laquelle une interface CARP est configurée passe down, alors le compteur `carpdemote` du ou des groupes auquel appartient l'interface CARP sera incrémenté de 1, et toutes les interfaces CARP membres des mêmes groupes basculeront en même temps.
S'il n'est pas souhaité que toutes les interfaces CARP de la machine basculent en même temps, il peut être souhaité de créer des groupes distincts, et de les lever du groupe par défaut `carp`. Par exemple, sur 2 firewalls ayant 3 interfaces CARP, on peut vouloir que `carp0` et `carp1` basculent ensemble en cas d'erreur d'une seule des 2 interfaces, mais que `carp2` soit indépendante :
~~~
# ifconfig carp0 -group carp
# ifconfig carp1 -group carp
# ifconfig carp2 -group carp
# ifconfig carp0 group <group>
# ifconfig carp0 group <group>
~~~
## Le droit de préemption
Sur des équipements réseau de type firewall pour lesquels l'ensemble des interfaces doivent se trouver dans le même état (toutes MASTER ou BACKUP), on activera le paramètre kernel preempt :
Le paramètre `preempt` permet à une machine membre d'une interface CARP de préempter l'état MASTER, c'est-à-dire d'automatiquement basculer MASTER, si ses paramètres `advbase` et `advskew` sont meilleurs.
~~~
# sysctl net.inet.carp.preempt=1
# echo 'net.inet.carp.preempt=1' >> /etc/sysctl.conf
~~~
L'activation de ce paramètre permet notamment la bascule de l'ensemble des interfaces d'un groupe CARP dans le cas d'un changement d'état d'une interface. En cas de bascule d'une interface, le compteur _carpdemote_ sera incrémenté de 1 sur le groupe entraînant une bascule de l'ensemble des membres du groupe CARP.
Si ce paramètre n'est pas activé et que celui qui a les meilleurs paramètres `advbase` et `advskew` est backup, alors il le restera tant qu'aucune bascule manuelle n'est effectuée.
## Informations utiles