Debian Cluster CEPH: mudanças entre as edições
Sem resumo de edição |
Sem resumo de edição |
||
| Linha 54: | Linha 54: | ||
--add nodeq 192.168.2.3:6789 \ | --add nodeq 192.168.2.3:6789 \ | ||
/tmp/monmap | /tmp/monmap | ||
Vamos checar se adicionamos o '''nodeq''' ao '''monmap''' com o comando: '''monmaptool --print /tmp/monmap''' | |||
[[Arquivo:Monmap.png|nenhum|miniaturadaimagem|677x677px]] | |||
Vamos gerar o '''keyring''' para usarmos no Debian: | |||
# ceph auth get mon. -o /tmp/ceph.mon.keyring | |||
Agora precisamos copiar todos os arquivos necessários do '''PVE01''' para o nosso Debian: | |||
# scp /tmp/monmap [email protected]:/etc/ceph/ | |||
# scp /tmp/ceph.mon.keyring [email protected]:/etc/ceph/ | |||
# scp /etc/pve/ceph.conf [email protected]:/etc/ceph/ | |||
# scp /etc/pve/priv/ceph.client.admin.keyring [email protected]:/etc/ceph/ | |||
# scp /var/lib/ceph/bootstrap-osd/ceph.keyring \ | |||
[email protected]:/var/lib/ceph/bootstrap-osd/ | |||
'''Atenção''' '''agora''' pois vamos no nosso Debian alterar o arquivo '''/etc/ceph/ceph.conf'''. Primeiro modifique o parâmetro abaixo para incluir o IP '''192.168.2.3''': | |||
mon_host = 192.168.2.1 192.168.2.2 192.168.2.3 | |||
Modifique os dois parâmetros abaixo e deixe eles iguais a estes:<pre> | |||
[client] | |||
keyring = /etc/ceph/$cluster.$name.keyring | |||
[client.crash] | |||
keyring = /etc/ceph/$cluster.$name.keyring | |||
</pre>Adicione no final deste mesmo arquivo a configuração abaixo:<pre> | |||
[mon.nodeq] | |||
public_addr = 192.168.2.3 | |||
</pre>Ainda no '''Debian''' execute os comandos abaixo para prepararmos o ambiente pro '''CEPH''': | |||
# mkdir -p /var/lib/ceph/mon/ceph-nodeq | |||
# chown ceph:ceph /var/lib/ceph/mon/ceph-nodeq | |||
# chmod 750 /var/lib/ceph/mon/ceph-nodeq | |||
Vamos criar o monitor: | |||
# ceph-mon --mkfs \ | |||
-i nodeq \ | |||
--monmap /etc/ceph/monmap \ | |||
--keyring /etc/ceph/ceph.mon.keyring | |||
# chown -R ceph: /var/lib/ceph/mon/ceph-nodeq | |||
# chown -R ceph: /etc/ceph/ | |||
# chmod 640 /etc/ceph/ceph.mon.keyring | |||
# chmod 640 /etc/ceph/monmap | |||
Este é o momento crucial para que tenhamos mais um monitor no nosso CEPH do Proxmox: | |||
# systemctl enable ceph-mon@nodeq | |||
# systemctl start ceph-mon@nodeq | |||
Precisamos checar se o serviço subiu com o comando: '''systemctl status ceph-mon@nodeq''' | |||
Se aparecer algo assim então parabéns, até aqui foi tudo OK: | |||
[[Arquivo:Nodeq ceph.png|nenhum|miniaturadaimagem|806x806px]] | |||
Edição das 23h03min de 8 de abril de 2026
Introdução
Este artigo tem como foco explicar como adicionar um Debian GNU/Linux em um Proxmox Cluster + HA com 2 nodes. Como muitos sabem, um Cluster deve ser composto de no mínimo 3 nodes para que possa dar segurança, existir quorum e quando usamos CEPH também precisamos de pelo menos 3 OSDs para termos uma estabilidade e segurança no sistema. O problema é quando se quer fazer isso com apenas 2 servidores Proxmox. Comprar um terceiro servidor às vezes ainda não está nos planos mas você tem uma máquina parada, onde você pode adicionar 2 SSDs e com 4G de ram você pode adicionar ela no Cluster para servir de quorum e de disco CEPH. Dessa maneira você consegue com 2 servidores Proxmox e uma máquina que chamei de Quorum Device, colocar em produção um Cluster com HA funcional.
Diagrama
O diagrama abaixo será o ambiente de exemplo mas não falaremos de como construir um Cluster + HA com Proxmox. Nesse caso você precisará ter os 2 servidores já instalados e configurados em Cluster com CEPH. Aqui vamos apenas mostrar como adicionar um Debian GNU/Linux nesse Cluster e no CEPH.

Pré-requisitos
- Debian GNU/Linux 13 (Trixie).
- Uma máquina com 4G ou 8G de ram.
- 1 SSD para instalar o sistema.
- 1 SSD para servir de OSD no CEPH.
- 3 interfaces de rede. Uma para o acesso, outra para o Cluster e outra para o CEPH.
Configurando o Qdevice no Debian
Uma vez instalado o Debian, precisamos configurar as 3 interfaces para a comunicação com seu Cluster Proxmox. Por exemplo:
- ens18 - IP 10.254.254.27/24 GW 10.254.254.1 (essa seria a interface com acesso à Internet para instalar os programas).
- ens19 - IP 192.168.1.3/24 (interface que deve se comunicar com a rede do Cluster, com os IPs dos nodes 192.168.1.1 e 192.168.1.2.
- ens20 - IP 192.168.2.3/24 (interface que se comunica com a rede CEPH, com os IPs 192.168.2.1 e 192.168.2.2.
Precisamos configurar o serviço SSHD para permitir conexão com root, pois o Proxmox vai precisar acessar o Debian. Para isso altere o arquivo /etc/ssh/sshd_config o parâmetro abaixo:
PermitRootLogin yes
Reinicie o serviço:
# systemctl restart sshd
No Debian vamos instalar o pacote corosync-qnetd:
# apt install corosync-qnetd
Nos dois servidores Proxmox, no nosso exemplo PVE01 e PVE02 instalaremos o pacote corosync-qdevice:
# apt install corosync-qdevice
Agora vá para o shell do seu Proxmox principal, no meu caso o PVE01 e adicione o Debian ao Cluster com o seguinte comando:
# pvecm qdevice setup 192.168.1.3
Com o comando pvecm status podemos ver como está o quorum e se tudo ocorreu bem, verá que agora temos 3 votos no lugar de 2 e um Qdevice no membership:

Agora em se tratando de Cluster, você tem o mínimo de votantes para o bom funcionamento e usando uma máquina simples com Debian.
Adicionando um CEPH monitor e OSD
Agora precisamos tornar nosso CEPH saudável também e para isso vamos instalar os pacotes do CEPH do Proxmox no Debian. O CEPH precisa ser da mesma versão usada no Cluster Proxmox. Para os meus testes utilizei um Cluster Proxmox 9 no PVE01 e PVE02 que utiliza o CEPH Squid 19.2. Então vamos adicionar o repositório:
# echo "deb http://download.proxmox.com/debian/ceph-squid trixie no-subscription" > /etc/apt/sources.list.d/ceph.list # wget https://enterprise.proxmox.com/debian/proxmox-release-trixie.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-trixie.gpg
Instalando os pacotes do CEPH:
# apt update # apt install ceph ceph-common
Antes de prosseguir adicione no /etc/hosts do Debian:
192.168.2.1 node1 192.168.2.2 node2 192.168.2.3 nodeq
Estou chamando nosso Quorum Device com o hostname nodeq.
Agora precisaremos executar algumas tarefas no nosso PVE01:
# ceph mon getmap -o /tmp/monmap # monmaptool \ --add nodeq 192.168.2.3:6789 \ /tmp/monmap
Vamos checar se adicionamos o nodeq ao monmap com o comando: monmaptool --print /tmp/monmap

Vamos gerar o keyring para usarmos no Debian:
# ceph auth get mon. -o /tmp/ceph.mon.keyring
Agora precisamos copiar todos os arquivos necessários do PVE01 para o nosso Debian:
# scp /tmp/monmap [email protected]:/etc/ceph/ # scp /tmp/ceph.mon.keyring [email protected]:/etc/ceph/ # scp /etc/pve/ceph.conf [email protected]:/etc/ceph/ # scp /etc/pve/priv/ceph.client.admin.keyring [email protected]:/etc/ceph/ # scp /var/lib/ceph/bootstrap-osd/ceph.keyring \ [email protected]:/var/lib/ceph/bootstrap-osd/
Atenção agora pois vamos no nosso Debian alterar o arquivo /etc/ceph/ceph.conf. Primeiro modifique o parâmetro abaixo para incluir o IP 192.168.2.3:
mon_host = 192.168.2.1 192.168.2.2 192.168.2.3
Modifique os dois parâmetros abaixo e deixe eles iguais a estes:
[client] keyring = /etc/ceph/$cluster.$name.keyring [client.crash] keyring = /etc/ceph/$cluster.$name.keyring
Adicione no final deste mesmo arquivo a configuração abaixo:
[mon.nodeq] public_addr = 192.168.2.3
Ainda no Debian execute os comandos abaixo para prepararmos o ambiente pro CEPH:
# mkdir -p /var/lib/ceph/mon/ceph-nodeq # chown ceph:ceph /var/lib/ceph/mon/ceph-nodeq # chmod 750 /var/lib/ceph/mon/ceph-nodeq
Vamos criar o monitor:
# ceph-mon --mkfs \ -i nodeq \ --monmap /etc/ceph/monmap \ --keyring /etc/ceph/ceph.mon.keyring # chown -R ceph: /var/lib/ceph/mon/ceph-nodeq # chown -R ceph: /etc/ceph/ # chmod 640 /etc/ceph/ceph.mon.keyring # chmod 640 /etc/ceph/monmap
Este é o momento crucial para que tenhamos mais um monitor no nosso CEPH do Proxmox:
# systemctl enable ceph-mon@nodeq # systemctl start ceph-mon@nodeq
Precisamos checar se o serviço subiu com o comando: systemctl status ceph-mon@nodeq
Se aparecer algo assim então parabéns, até aqui foi tudo OK:
