Failover Slave a Master en HA cluster de Fortigate

¿Cómo se puede forzar el failover slave -> master (standby -> active) en un cluster HA de fortigate? A simple vista la respuesta debería ser sencilla, pero se debe conocer el funcionamiento del cluster en FortiOS para entender el modo de hacerlo.

Descartando opciones más agresivas, como pudiera ser el apagado del nodo que queremos convertir de master a slave (va a ser que no…), la forma correcta es jugar con el valor de prioridad que tiene asignado cada nodo (device priority). Tengo dudas si este método está activo por defecto (consultadlo directamente en vuestro cluster), en caso contrario entrarían en juego otros valores como los puertos/interfaces monitorizadas, el uptime de cada uno de los sistemas, prioridad por Serial Number, etc.

El orden por defecto en teoría es:

Monitorización de interfaces > Uptime > Prioridad de dispositivo > Serial Number

Ejecutar failover cambiando la prioridad

Para ejecutar el failover, hay que subir la prioridad al nodo standby, a partir de ese momento de forma automática se convertirá en master.Lo primero que debemos hacer es conectar al nodo slave. Para ver el detalle haced clic en el enlace anterior, os llevará al artículo que hice ayer sobre cómo conectar al nodo standby. El resumen:

Forti01B # get system ha status
Model: FortiGate-200D
Mode: a-p
Group: 0
Debug: 0
ses_pickup: disable
Master:129 Forti01B            FGv00D4615801104 0
Slave :128 Forti01A            FGv00D4615801173 1
number of vcluster: 1
vcluster 1: work 169.254.0.1
Master:0 FGv00D4615801104
Slave :1 FGv00D4615801173

FORTI01B # execute ha  manage 1
FORTI01A $

Hay que conocer la prioridad asignada a cada uno de los nodos, para ello se ejecuta el comando config system ha en ambos:

Forti01B # config system ha
Forti01B # get
[...]
priority: 128
[...]
Forti01A $ config system ha
Forti01A $ get
[...]
priority: 127
[...]

Desde el nodo slave (FORTI01A), hay que cambiar la prioridad para que sea superior a la del nodo activo. A partir de ese momento se ejecutará el failover. Ejemplo.

Forti01A $ config system ha
set priority 129
end