Crear un disco de quorum para RHCS (Cluster RedHat)

Para crear un quorum disk en Red Hat Cluster Suite tenemos que utilizar el comando mkqdisk. El disco en este caso se encuentra en una SAN y tiene Multipath para aumentar la tolerancia a fallos. Gracias al quorum disk evitaremos situaciones críticas en el Cluster como el «split brain«, que es cuando en un cluster de dos nodos, ambos se desconectan del cluster al mismo tiempo y cada uno cree que el otro ya no está activo y ambos intentan reiniciar los servicios y hacer fencing del otro pese a estar funcionando. El disco de quorum será el mediador en estos casos.

Al comando mkqdisk únicamente tenemos que pasarle la ruta al disco/partición y el nombre asignado a la etiqueta:

# mkqdisk -c /dev/mapper/mpatha -l qdisk
mkqdisk v3.0.12.1
Writing new quorum disk label 'qdisk' to /dev/mapper/mpatha.
WARNING: About to destroy all data on /dev/mapper/mpatha; proceed [N/y] ? y
Initializing status block for node 1...
Initializing status block for node 2...
Initializing status block for node 3...
Initializing status block for node 4...
Initializing status block for node 5...
Initializing status block for node 6...
Initializing status block for node 7...
Initializing status block for node 8...
Initializing status block for node 9...
Initializing status block for node 10...
Initializing status block for node 11...
Initializing status block for node 12...
Initializing status block for node 13...
Initializing status block for node 14...
Initializing status block for node 15...
Initializing status block for node 16...

El disco de quorum permite un máximo de 16 nodos en el Cluster, por eso inicializa 16 bloques de estado. Una vez realizado, todos los nodos del Cluster deberían poder ver el estado del disco de quorum:

# mkqdisk -L
mkqdisk v3.0.12.1

/dev/block/253:1:
/dev/disk/by-id/dm-name-mpatha:
/dev/disk/by-id/dm-uuid-mpath-1232342342425345345345:
/dev/dm-1:
/dev/mapper/mpatha:
	Magic:                d3dq3asd
	Label:                qdisk
	Created:              Wed Mar  7 04:08:01 2012
	Host:                 XXXXXXX
	Kernel Sector Size:   512
	Recorded Sector Size: 512

En RedHat Cluster Suite de RHEL 6, el arranque del disco de quorum se integra en el script de arranque de cman, así que no es necesario modificar nada, en versiones anteriores sí que hay un script independiente (qdiskd). Finalmente configuramos el disco de quorum en el Cluster, podéis hacerlo a través de Luci, editando directamente el fichero cluster.conf o con el resto de herramientas disponibles.

Ejemplo para un Cluster de dos nodos y un disco de quorum:

<quorumd interval="3" label="qdisk" tko="10" votes="1"/>
<cman expected_votes="3" two_node="0"/>

Una vez finalizadas todas las configuraciones y reiniciado cman veremos el disco como un nuevo miembro del Cluster:

# clustat
Cluster Status for cluster-XXXX @ Sat Mar 10 04:59:08 2012
Member Status: Quorate

 Member Name                             ID   Status
 ------ ----                             ---- ------
 XXXXX                                   1 Online, Local, rgmanager
 XXXXX                                   2 Online, rgmanager
 /dev/block/253:1                        0 Online, Quorum Disk

 Service Name                   Owner (Last)                   State         
 ------- ----                   ----- ------                   -----         
 service:XXX                    XXXXX                    started       
 service:XXXX                   XXXXX                    started