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
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
Uma resposta
Muito bom gostei