Correction "forcer une bascule carp"

This commit is contained in:
jdubois 2023-04-27 15:47:04 +02:00
parent 8f0c443c5e
commit 43d9a069d0

View file

@ -111,7 +111,6 @@ Le MASTER va générer un paquet CARP avec la priorité 255 et le BACKUP va ains
~~~
20:58:59.490207 CARPv2-advertise 36: vhid=1 advbase=1 advskew=12 demote=0 (DF) [tos 0x10]
20:58:59.809967 CARPv2-advertise 36: vhid=1 advbase=1 advskew=12 demote=50 (DF) [tos 0x10]
~~~
Pour avoir l'état actuel du compteur :
@ -129,15 +128,12 @@ Pour revenir à l'état initial
# ifconfig -g carp -carpdemote 50
~~~
À noter que l'on peut également faire `ifconfig carp0 down` ou `ifconfig carp0 advskew XXX` (avec XXX supérieur à l'actuel backup) mais c'est moins optimum (bascule non immédiate, perte de trafic pendant quelques secondes…)
À noter que l'on peut également faire `ifconfig carp0 down` sur le MASTER, suite à quoi il s'annoncera avec des valeurs `advbase` et `advskew` "infinies". Le BACKUP recevra le paquet et passera immédiatement MASTER. En repassant l'interface up avec `ifconfig carp0 up` sur l'ancien MASTER, il repassera à nouveau directement MASTER en s'annonçant à l'autre machine, qui repassera directement BACKUP.
### Remonter une interface CARP
Si on a coupé une interface carp en faisant `ifconfig carpX down`, pour la remettre en place, on vérifie que le `advskew` est bien supérieur à celui où le master est actuellement pour ne pas basculer directement en tant que MASTER. Si ce n'est pas le cas, on peut corriger avec `ifconfig carpX advskew xxx`. Lorsque c'est OK, il reste juste à faire `ifconfig carpX up`.
Attention, si le droit de préemption est activé, il faut penser à le désactiver avec `sysctl net.inet.carp.preempt=0` avant de réactiver l'interface CARP pour éviter que toutes les CARP changent de statut en cas de problème. Le réactiver une fois l'interface CARP correctement remise en place avec `sysctl net.inet.carp.preempt=1`.
### Cas pratique de bascule
Dans cet exemple, nous avons deux pare-feux configurés avec CARP.