Cómo resolver un split brain en DRBD
alfredo publicó esto el 05/10/09 en Bases de Datos, Herramientas. No hay comentariosEn 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 allHay 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!.