Tengo dos máquinas (A y B, A es Master) que ejecutan VRPP (desde keepalived) para una IP virtual.
¿Cómo puedo evitar que A se convierta en Maestro nuevamente si ha fallado y vuelve a subir (por cualquier razón)?
Estoy haciendo esto para que tengamos una sola conmutación por error al segundo cuadro, y volver a la normalidad requeriría una intervención manual.
linux
keepalived
vrrp
MrMagu
fuente
fuente
Respuestas:
De acuerdo con este hilo relativamente antiguo en la lista de desarrolladores keepalived, se puede hacer. Configura ambos servidores para que tengan la misma prioridad (o ninguno), y no declara el estado como MAESTRO o RESPALDO, y en su lugar establece el estado en IGUAL para ambos.
EDITAR (07-dic-2017):
Parece que EQUAL no es realmente un estado válido, a pesar de que parece proporcionar el efecto deseado en el momento en que se publicó esta respuesta. Tenga en cuenta los comentarios a continuación, en particular el enlace a la lista de problemas actuales para keepalived proporcionado por @cristi.
fuente
EQUAL
directiva inválida y la trató como si no se hubiera establecido ninguna prioridad (que resultó tener el efecto deseado).La forma en que resolvimos esto es agregando la
nopreempt
bandera a nuestro archivo de configuración keepalived. No tuve que cambiar nada más (todavía dejó uno comoMASTER
y uno comoBACKUP
y así sucesivamente). Básicamente, esto le dice que no cambie los maestros solo porque un nuevo servidor se conectó, solo cambie cuando el maestro actual falle.fuente
Según tengo entendido, cuando aparece un nuevo servidor VRRP, obliga a una elección, y el servidor actual no obtiene ningún beneficio, por lo que el viejo maestro vendrá y ganará la elección. Dudo que haya mucho que puedas hacer para detener esto, más allá del brutal Shoot The Other Node In The Head. Keepalive puede tener alguna configuración para controlar el proceso de elección. Lamentablemente no tengo tiempo para comprobarlo ahora, pero intentaré mirar más tarde.
fuente