Quorum Cluster Proxmox GlusterFS

04 – Como configurar quorum do cluster proxmox com dois hosts para funcionar em HA.

Fala Jovens, Rafael na área!  Continuando nosso caminho rumo a alto disponibilidade de dois hosts Proxmox, hoje iremos falar sobre o Quorum usando Qdevice. Esta Daemon nos auxiliará a deixar nosso Proxmox 100% disponível, sendo possível visualizar o HA fazer seu trabalho no Cluster.



CONSIDERAÇÕES

Vou levar em consideração que você está acompanhando a configuração do Cluster Proxmox desde o primeiro artigo, e que os assuntos mencionados aqui já fazem sentido para você. Se ficou na dúvida, ou não viu o artigo anterior acesse aqui e não perca o “fio da meada”. 



REFRESCANDO A MEMÓRIA: O QUE É O QDEVICE?

O Corosync Quorum Device (QDevice) é um Daemon que roda em cada nó do cluster. Ele fornece um número configurado de votos para o subsistema de quorum de clusters com base na decisão de um árbitro externo em execução. Seu uso principal é permitir que um cluster sustente mais falhas de nó do que as regras de quorum padrão permitem. Isso pode ser feito com segurança, pois o dispositivo externo pode ver todos os nós e, portanto, escolher apenas um conjunto de nós para dar seu voto.

Fonte:(https://pve.proxmox.com/pve-docs/chapter-pvecm.html#_corosync_external_vote_support)

Resumindo: O Cluster Proxmox através do corosync depende de 3 votos no quorum para continuar funcionando. Se simplesmente um nó venha a falhar, todo o cluster é inviabilizado. O QDevice vem justamente para resolver este problema, ele passa a fazer parte do cluster tendo voz ativa, podendo ser instalado através de uma máquina externa física ou virtual, fornecendo seu voto.  Quorum (2 + 1 ) = 3.



1) INSTALANDO QDEVICE.

Como mencionei o QDevice irá funcionar a partir de uma máquina externa. Neste exemplo, irei utilizar uma VM Linux Debian 10 Buster, instalado em um VirtualBox de um Desktop local. O acesso ao Cluster será realizado através da rede local, e não através da rede “bond Linux” que criamos exclusivamente para comunicação dos hosts do cluster.

A explicação é simples: Não precisaremos trocar informações e dados com os nós do cluster, simplesmente iremos participar da votação de quorum quando um dos nós vier a falhar.

Para realizarmos a instalação, primeiro instale o pacote corosync-qnetd em seu “servidor” externo.

				
					apt install corosync-qnetd
				
			

Depois instale o corosync-qdevice em todos os nós do Cluster, como ilustrado abaixo:

				
					root@pve1:~# apt install corosync-qdevice
				
			
				
					root@pve2:~# apt install corosync-qdevice
				
			

Feito isso, precisamos agora se certificar que todos os nós do Cluster participante, estejam ativos e em operação. Caso estejam, acesse um dos nós do Cluster e adicione o “Servidor” QDevice através do comando abaixo:

				
					root@pve1:~# pvecm qdevice setup <QDEVICE-IP>
				
			
				
					root@pve1:~# pvecm qdevice setup 192.168.0.29
/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.0.29 (192.168.0.29)' can't be established.
ECDSA key fingerprint is SHA256:fKwTf+O0TVd4v1mkNx2v/vzuz/dzT3iI6SPDpgNQXjs.
Are you sure you want to continue connecting (yes/no)? yes
				
			

Você será perguntado se aceita realizar a instalação do certificado de segurança SSH para comunicação, digite yes. Logo após também será solicitado a senha de root do “servidor” externo. Certifique-se que o root tenha acesso via SSH. Digite a senha e pressione Enter.

				
					/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.0.29's password:
				
			

Se tudo correr bem o QDevice será adicionado no Cluster. Após a instalação utilize o comando pvecm status para verificar a informação.

				
					root@pve2:~/.ssh# pvecm status
Cluster information
-------------------
Name:             cluster01
Config Version:   3
Transport:        knet
Secure auth:      on

Quorum information
------------------
Date:             Mon Jul  5 23:35:02 2021
Quorum provider:  corosync_votequorum
Nodes:            2
Node ID:          0x00000002
Ring ID:          1.d9
Quorate:          Yes

Votequorum information
----------------------
Expected votes:   3
Highest expected: 3
Total votes:      3
Quorum:           2  
Flags:            Quorate Qdevice 

Membership information
----------------------
    Nodeid      Votes    Qdevice Name
0x00000001          1    A,V,NMW 10.10.1.19
0x00000002          1    A,V,NMW 10.10.1.22 (local)
0x00000000          1            Qdevice
				
			

Certifique-se também após a instalação do QDevice, realizar o merge dos certificados SSH entre todos os nós do Clusters. Assim quando for removê-lo e reinstalá-lo a partir de um nó que originalmente não o instalou, não encontrará problema.

				
					pvecm updatecerts
				
			


2) DESISTALANDO QDEVICE.

Caso por algum motivo necessite de adicionar ou remover algum nó no cluster, certifique-se de remover o QDevice primeiro. Para isso, utilize o comando abaixo:

				
					root@pve2:~# pvecm qdevice remove
				
			

Pronto, nosso cluster possui o QDevice como apoio no voto do quorum. Estamos prontos para configurar nosso HA via interface gráfica no Proxmox.



CONCLUSÃO

Através deste artigo foi possível demostrar como deve ser feita a configuração do QDevice para auxiliar na votação de quorum em um cluster de dois nós.

Se você gostou deste post e através dele pude lhe ajudar, o que acha de aproximarmos nosso contato? Siga meu blog, twitter e me adicione no Linkedin, aproveite para classificar algumas das minhas competências/recomendações, este simples gesto faz toda a diferença.

Att,
Rafael Oliveira
SysAdmin

Você pode compartilhar esse artigo.

Siga o Blog Via E-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Junte-se a 47 outros assinantes

Sobre o Autor

Rafael Oliveira Maria - Linux

Rafael Oliveira

Bacharel em Sistemas de Informação, SysAdmin, Professor, Blogueiro e Entusiasta Linux.

Certificados:

LPIC-1-Large
LPIC-2
LinuxPlus Logo Certified
itil-foundation-digital-badge

Gostou do conteúdo? Ajude-me a manter o blog.

PicPay - Linux

Aceitamos pagamentos e doações via PicPay link picpay.me/rafaeloliveimar

Uma resposta

Ficou com dúvida? Alguma Sugestão ou Elogio? Deixe seu comentário!