Cómo resolver un split brain en DRBD

alfredo publicó esto el 05/10/09 en Bases de Datos, Herramientas. No hay comentarios

En un post anterior vimos cómo crear un cluster de servidores PostgreSQL con Hearbeat y DRBD. Un problema que podemos llegar a tener es que se corte la comunicación entre los nodos del cluster: cada uno de los nodos cree que el otro cayó y por lo tanto levanta los servicios que tiene asignado. Cuando el enlace vuelve a levantarse los nodos no saben qué hacer porque son todos nodos primarios. Esto se llama split brain o cerebros divididos.

Este tipo de error requiere de nuestra intervención ya que tenemos que decidir en qué nodos vamos a descartar los cambios que se produjeron durante el split brain.

En el nodo primario más joven, donde queremos eliminar los cambios, hacemos:

server2~# drbdadm secondary all
server2~# drbdadm disconnect all
server2~# drbdadm -- --discard-my-data connect all

Luego, en el nodo primario con los datos correctos, hacemos:

server1~# drbdadm connect all

Hay que tener mucho cuidado a la hora de hacer esto y si tienen alguna duda les recomiendo hacer un backup. Esto va a evitar que hagan la resincronización en la dirección opuesta.


Todavía no hay comentarios. ¡Publicá el primero!.


Dejá un comentario

Imagen CAPTCHA CAPTCHA Audio
Refrescar imagen