¿Qué es el cerebro dividido?
Como se menciona en la Documentación oficial sobre la administración de Split-Brain proporcionada por RedHat, split-brain es un estado en el que las inconsistencias de datos o disponibilidad que se originan del mantenimiento de dos conjuntos de datos separados con superposición en el alcance, ya sea debido a servidores en un diseño de red, o una condición de falla basada en servidores que no se comunican y sincronizan sus datos entre sí. Y es un término aplicable para replicar la configuración.
Tenga en cuenta que se dice "una condición de falla basada en servidores que no se comunican y sincronizan sus datos entre sí" , debido a cualquier probabilidad, pero eso no significa que sus nodos puedan perder la conexión. El par aún puede estar en clúster y conectado.
Tipos de cerebro dividido:
Tenemos tres tipos diferentes de cerebro dividido, y hasta donde puedo ver, el tuyo es el cerebro dividido de entrada. Para explicar tres tipos de cerebro dividido:
Datos de cerebro dividido: el contenido del archivo bajo cerebro dividido es diferente en diferentes pares de réplicas y no es posible la curación automática.
Metadata split-brain:, Los metadatos de los archivos (ejemplo, atributo extendido definido por el usuario) son diferentes y no es posible la curación automática.
Entrada de cerebro dividido: sucede cuando un archivo tiene diferentes gfids en cada par de réplicas.
¿Qué es el GFID?
El identificador de archivo interno (GFID) de GlusterFS es un uuid que es único para cada archivo en todo el clúster. Esto es análogo al número de inodo en un sistema de archivos normal. El GFID de un archivo se almacena en su xattr llamado trusted.gfid
. Para encontrar la ruta desde GFID, le recomiendo que lea este artículo oficial proporcionado por GlusterFS.
¿Cómo resolver la entrada de cerebro dividido?
Existen varios métodos para evitar que se produzca un cerebro dividido, pero para resolverlo, se deben eliminar los archivos de enlace gfid correspondientes. Los archivos gfid-link están presentes en el directorio .glusterfs en el directorio de nivel superior del ladrillo. Por cierto, tenga en cuenta que antes de eliminar los enlaces gfid, debe asegurarse de que no haya enlaces duros a los archivos presentes en ese ladrillo. Si existen enlaces duros, también debe eliminarlos. Luego puede usar el proceso de autocuración ejecutando los siguientes comandos.
Mientras tanto, para ver la lista de archivos en un volumen que están en un estado de cerebro dividido, puede usar:
# gluster volume heal VOLNAME info split-brain
También debe tener en cuenta que para los volúmenes replicados, cuando un ladrillo se desconecta y vuelve a estar en línea, se requiere una reparación automática para volver a sincronizar todas las réplicas.
Para verificar el estado de curación de volúmenes y archivos puede usar:
# gluster volume heal VOLNAME info
Como está utilizando la versión 3.5, no tiene curación automática. Entonces, después de seguir los pasos mencionados anteriormente, debe activar la autocuración. Para hacerlo:
Solo en los archivos que requieren curación:
# gluster volume heal VOLNAME
En todos los archivos:
# gluster volume heal VOLNAME full
Espero que esto te ayude a solucionar tu problema. Por favor lea los documentos oficiales para más información. Salud.