25.5.2. Configuração de um dispositivo de quorum
O procedimento seguinte configura um dispositivo de quorum e o adiciona ao conjunto. Neste exemplo:
-
O nó utilizado para um dispositivo de quorum é
qdevice
. O modelo do dispositivo de quorum é
net
, que é atualmente o único modelo suportado. O modelonet
suporta os seguintes algoritmos:-
ffsplit
: fifty-fifty split. Isto proporciona exatamente um voto para a partição com o maior número de nós ativos. lms
: último homem de pé. Se o nó é o único que resta no cluster que pode ver o servidorqnetd
, então ele retorna uma votação.AtençãoO algoritmo LMS permite que o cluster permaneça quorado mesmo com apenas um nó restante, mas também significa que o poder de voto do dispositivo de quorum é grande, pois é o mesmo que o número_de_nós - 1. Perder a conexão com o dispositivo de quorum significa perder número_de_nós - 1 voto, o que significa que apenas um cluster com todos os nós ativos pode permanecer quorado (através da votação excessiva do dispositivo de quorum); qualquer outro cluster se torna inquieto.
Para informações mais detalhadas sobre a implementação destes algoritmos, consulte a página de manual
corosync-qdevice
(8).
-
-
Os nós de agrupamento são
node1
enode2
.
O procedimento seguinte configura um dispositivo de quorum e adiciona esse dispositivo de quorum a um conjunto.
No nó que você usará para hospedar seu dispositivo de quórum, configure o dispositivo de quórum com o seguinte comando. Este comando configura e inicia o dispositivo de quorum modelo
net
e configura o dispositivo para iniciar na inicialização.[root@qdevice:~]#
pcs qdevice setup model net --enable --start
Quorum device 'net' initialized quorum device enabled Starting quorum device... quorum device startedApós configurar o dispositivo do quorum, você pode verificar seu status. Isto deve mostrar que o daemon
corosync-qnetd
está funcionando e, neste ponto, não há clientes conectados a ele. A opção de comando--full
fornece uma saída detalhada.[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 bytesHabilite as portas no firewall necessárias ao daemon
pcsd
e ao dispositivo de quorumnet
habilitando o serviçohigh-availability
emfirewalld
com os seguintes comandos.[root@qdevice:~]#
firewall-cmd --permanent --add-service=high-availability
[root@qdevice:~]#firewall-cmd --add-service=high-availability
De um dos nós do cluster existente, autentique o usuário
hacluster
no nó que está hospedando o dispositivo de quorum. Isto permite quepcs
no cluster se conecte apcs
no hostqdevice
, mas não permite quepcs
no hostqdevice
se conecte apcs
no cluster.[root@node1:~] #
pcs host auth qdevice
Username: hacluster Password: qdevice: AuthorizedAdicione o dispositivo de quorum ao conjunto.
Antes de adicionar o dispositivo de quorum, você pode verificar a configuração atual e o status do dispositivo de quorum para comparação posterior. A saída para estes comandos indica que o agrupamento ainda não está usando um dispositivo de quorum, e o status de membro
Qdevice
para cada nó éNR
(Não registrado).[root@node1:~]#
pcs quorum config
Options:[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 node2O seguinte comando acrescenta o dispositivo de quorum que você criou anteriormente ao agrupamento. Você não pode usar mais de um dispositivo de quorum em um agrupamento ao mesmo tempo. Entretanto, um dispositivo de quorum pode ser usado por vários aglomerados ao mesmo tempo. Este comando de exemplo configura o dispositivo de quorum para usar o algoritmo
ffsplit
. Para informações sobre as opções de configuração do dispositivo de quorum, consulte a página de manualcorosync-qdevice
(8).[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 startedVerificar o status de configuração do dispositivo de quorum.
Do lado do cluster, você pode executar os seguintes comandos para ver como a configuração mudou.
O
pcs quorum config
mostra o dispositivo do quorum que foi configurado.[root@node1:~]#
pcs quorum config
Options: Device: Model: net algorithm: ffsplit host: qdeviceO comando
pcs quorum status
mostra o status de tempo de execução do quorum, indicando que o dispositivo do quorum está em uso. Os significados dos valores de status das informações de associação doQdevice
para cada nó de agrupamento são os seguintes:-
A/NA
-
V/NV
MW/NMW
[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 QdeviceO
pcs quorum device status
mostra o status de tempo de execução do dispositivo de quorum.[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: ConnectedDo lado do dispositivo do quorum, você pode executar o seguinte comando de status, que mostra o status do daemon
corosync-qnetd
.[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)
-