25.5.2. Configuración de un dispositivo de quórum
El siguiente procedimiento configura un dispositivo de quórum y lo añade al clúster. En este ejemplo:
-
El nodo utilizado para un dispositivo de quórum es
qdevice
. El modelo de dispositivo de quórum es
net
, que es actualmente el único modelo soportado. El modelonet
admite los siguientes algoritmos:-
ffsplit
: división al cincuenta por ciento. Esto proporciona exactamente un voto a la partición con el mayor número de nodos activos. lms
: último hombre en pie. Si el nodo es el único que queda en el clúster que puede ver el servidorqnetd
, entonces devuelve un voto.AvisoEl algoritmo LMS permite que el clúster siga siendo quórum incluso con un solo nodo restante, pero también significa que el poder de voto del dispositivo de quórum es grande, ya que es igual al número_de_nodos - 1. Perder la conexión con el dispositivo de quórum significa perder el número_de_nodos - 1 de votos, lo que significa que sólo un clúster con todos los nodos activos puede seguir siendo quórum (sobrevotando al dispositivo de quórum); cualquier otro clúster se convierte en no quórum.
Para obtener información más detallada sobre la implementación de estos algoritmos, consulte la página de manual
corosync-qdevice
(8).
-
-
Los nodos del clúster son
node1
ynode2
.
El siguiente procedimiento configura un dispositivo de quórum y añade ese dispositivo de quórum a un clúster.
En el nodo que utilizará para alojar su dispositivo de quórum, configure el dispositivo de quórum con el siguiente comando. Este comando configura e inicia el modelo de dispositivo de quórum
net
y configura el dispositivo para que se inicie al arrancar.Copy to Clipboard Copied! Toggle word wrap Toggle overflow [root@qdevice:~]# pcs qdevice setup model net --enable --start Quorum device 'net' initialized quorum device enabled Starting quorum device... quorum device started
[root@qdevice:~]# pcs qdevice setup model net --enable --start Quorum device 'net' initialized quorum device enabled Starting quorum device... quorum device started
Después de configurar el dispositivo de quórum, puedes comprobar su estado. Esto debería mostrar que el demonio
corosync-qnetd
se está ejecutando y, en este momento, no hay clientes conectados a él. La opción del comando--full
proporciona una salida detallada.Copy to Clipboard Copied! Toggle word wrap Toggle overflow [root@qdevice:~]# pcs qdevice status net --full QNetd address: *:5403 TLS: Supported (client certificate required) Connected clients: 0 Connected clusters: 0 Maximum send/receive size: 32768/32768 bytes
[root@qdevice:~]# pcs qdevice status net --full QNetd address: *:5403 TLS: Supported (client certificate required) Connected clients: 0 Connected clusters: 0 Maximum send/receive size: 32768/32768 bytes
Habilite los puertos del cortafuegos necesarios para el demonio
pcsd
y el dispositivo de quórumnet
habilitando el serviciohigh-availability
enfirewalld
con los siguientes comandos.Copy to Clipboard Copied! Toggle word wrap Toggle overflow [root@qdevice:~]# firewall-cmd --permanent --add-service=high-availability [root@qdevice:~]# firewall-cmd --add-service=high-availability
[root@qdevice:~]# firewall-cmd --permanent --add-service=high-availability [root@qdevice:~]# firewall-cmd --add-service=high-availability
Desde uno de los nodos del clúster existente, autentique al usuario
hacluster
en el nodo que aloja el dispositivo de quórum. Esto permite quepcs
en el clúster se conecte apcs
en el hostqdevice
, pero no permite quepcs
en el hostqdevice
se conecte apcs
en el clúster.Copy to Clipboard Copied! Toggle word wrap Toggle overflow [root@node1:~] # pcs host auth qdevice Username: hacluster Password: qdevice: Authorized
[root@node1:~] # pcs host auth qdevice Username: hacluster Password: qdevice: Authorized
Añade el dispositivo de quórum al clúster.
Antes de añadir el dispositivo de quórum, puede comprobar la configuración actual y el estado del dispositivo de quórum para su posterior comparación. La salida de estos comandos indica que el clúster aún no está utilizando un dispositivo de quórum, y el estado de pertenencia a
Qdevice
para cada nodo esNR
(No registrado).Copy to Clipboard Copied! Toggle word wrap Toggle overflow [root@node1:~]# pcs quorum config Options:
[root@node1:~]# pcs quorum config Options:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [root@node1:~]# pcs quorum status Quorum information ------------------ Date: Wed Jun 29 13:15:36 2016 Quorum provider: corosync_votequorum Nodes: 2 Node ID: 1 Ring ID: 1/8272 Quorate: Yes Votequorum information ---------------------- Expected votes: 2 Highest expected: 2 Total votes: 2 Quorum: 1 Flags: 2Node Quorate Membership information ---------------------- Nodeid Votes Qdevice Name 1 1 NR node1 (local) 2 1 NR node2
[root@node1:~]# pcs quorum status Quorum information ------------------ Date: Wed Jun 29 13:15:36 2016 Quorum provider: corosync_votequorum Nodes: 2 Node ID: 1 Ring ID: 1/8272 Quorate: Yes Votequorum information ---------------------- Expected votes: 2 Highest expected: 2 Total votes: 2 Quorum: 1 Flags: 2Node Quorate Membership information ---------------------- Nodeid Votes Qdevice Name 1 1 NR node1 (local) 2 1 NR node2
El siguiente comando añade al clúster el dispositivo de quórum que ha creado previamente. No se puede utilizar más de un dispositivo de quórum en un clúster al mismo tiempo. Sin embargo, un dispositivo de quórum puede ser utilizado por varios clústeres al mismo tiempo. Este comando de ejemplo configura el dispositivo de quórum para utilizar el algoritmo
ffsplit
. Para obtener información sobre las opciones de configuración del dispositivo de quórum, consulte la página de manualcorosync-qdevice
(8).Copy to Clipboard Copied! Toggle word wrap Toggle overflow [root@node1:~]# pcs quorum device add model net host=qdevice \ algorithm=ffsplit Setting up qdevice certificates on nodes... node2: Succeeded node1: Succeeded Enabling corosync-qdevice... node1: corosync-qdevice enabled node2: corosync-qdevice enabled Sending updated corosync.conf to nodes... node1: Succeeded node2: Succeeded Corosync configuration reloaded Starting corosync-qdevice... node1: corosync-qdevice started node2: corosync-qdevice started
[root@node1:~]# pcs quorum device add model net host=qdevice \ algorithm=ffsplit Setting up qdevice certificates on nodes... node2: Succeeded node1: Succeeded Enabling corosync-qdevice... node1: corosync-qdevice enabled node2: corosync-qdevice enabled Sending updated corosync.conf to nodes... node1: Succeeded node2: Succeeded Corosync configuration reloaded Starting corosync-qdevice... node1: corosync-qdevice started node2: corosync-qdevice started
Compruebe el estado de configuración del dispositivo de quórum.
Desde el lado del clúster, puede ejecutar los siguientes comandos para ver cómo ha cambiado la configuración.
En
pcs quorum config
se muestra el dispositivo de quórum que se ha configurado.Copy to Clipboard Copied! Toggle word wrap Toggle overflow [root@node1:~]# pcs quorum config Options: Device: Model: net algorithm: ffsplit host: qdevice
[root@node1:~]# pcs quorum config Options: Device: Model: net algorithm: ffsplit host: qdevice
El comando
pcs quorum status
muestra el estado de ejecución del quórum, indicando que el dispositivo de quórum está en uso. Los significados de los valores de estado de la información de membresía deQdevice
para cada nodo del clúster son los siguientes:-
A/NA
-
V/NV
MW/NMW
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [root@node1:~]# pcs quorum status Quorum information ------------------ Date: Wed Jun 29 13:17:02 2016 Quorum provider: corosync_votequorum Nodes: 2 Node ID: 1 Ring ID: 1/8272 Quorate: Yes Votequorum information ---------------------- Expected votes: 3 Highest expected: 3 Total votes: 3 Quorum: 2 Flags: Quorate Qdevice Membership information ---------------------- Nodeid Votes Qdevice Name 1 1 A,V,NMW node1 (local) 2 1 A,V,NMW node2 0 1 Qdevice
[root@node1:~]# pcs quorum status Quorum information ------------------ Date: Wed Jun 29 13:17:02 2016 Quorum provider: corosync_votequorum Nodes: 2 Node ID: 1 Ring ID: 1/8272 Quorate: Yes Votequorum information ---------------------- Expected votes: 3 Highest expected: 3 Total votes: 3 Quorum: 2 Flags: Quorate Qdevice Membership information ---------------------- Nodeid Votes Qdevice Name 1 1 A,V,NMW node1 (local) 2 1 A,V,NMW node2 0 1 Qdevice
La página
pcs quorum device status
muestra el estado de ejecución del dispositivo de quórum.Copy to Clipboard Copied! Toggle word wrap Toggle overflow [root@node1:~]# pcs quorum device status Qdevice information ------------------- Model: Net Node ID: 1 Configured node list: 0 Node ID = 1 1 Node ID = 2 Membership node list: 1, 2 Qdevice-net information ---------------------- Cluster name: mycluster QNetd host: qdevice:5403 Algorithm: ffsplit Tie-breaker: Node with lowest node ID State: Connected
[root@node1:~]# pcs quorum device status Qdevice information ------------------- Model: Net Node ID: 1 Configured node list: 0 Node ID = 1 1 Node ID = 2 Membership node list: 1, 2 Qdevice-net information ---------------------- Cluster name: mycluster QNetd host: qdevice:5403 Algorithm: ffsplit Tie-breaker: Node with lowest node ID State: Connected
Desde el lado del dispositivo de quórum, puede ejecutar el siguiente comando de estado, que muestra el estado del demonio
corosync-qnetd
.Copy to Clipboard Copied! Toggle word wrap Toggle overflow [root@qdevice:~]# pcs qdevice status net --full QNetd address: *:5403 TLS: Supported (client certificate required) Connected clients: 2 Connected clusters: 1 Maximum send/receive size: 32768/32768 bytes Cluster "mycluster": Algorithm: ffsplit Tie-breaker: Node with lowest node ID Node ID 2: Client address: ::ffff:192.168.122.122:50028 HB interval: 8000ms Configured node list: 1, 2 Ring ID: 1.2050 Membership node list: 1, 2 TLS active: Yes (client certificate verified) Vote: ACK (ACK) Node ID 1: Client address: ::ffff:192.168.122.121:48786 HB interval: 8000ms Configured node list: 1, 2 Ring ID: 1.2050 Membership node list: 1, 2 TLS active: Yes (client certificate verified) Vote: ACK (ACK)
[root@qdevice:~]# pcs qdevice status net --full QNetd address: *:5403 TLS: Supported (client certificate required) Connected clients: 2 Connected clusters: 1 Maximum send/receive size: 32768/32768 bytes Cluster "mycluster": Algorithm: ffsplit Tie-breaker: Node with lowest node ID Node ID 2: Client address: ::ffff:192.168.122.122:50028 HB interval: 8000ms Configured node list: 1, 2 Ring ID: 1.2050 Membership node list: 1, 2 TLS active: Yes (client certificate verified) Vote: ACK (ACK) Node ID 1: Client address: ::ffff:192.168.122.121:48786 HB interval: 8000ms Configured node list: 1, 2 Ring ID: 1.2050 Membership node list: 1, 2 TLS active: Yes (client certificate verified) Vote: ACK (ACK)
-