Pular para o conteúdo principal

#6 - Home Lab - Parte 3

· 10 min para ler
Lucas Elias Baccan
Autor do Site

Home Lab​

No post anterior, comentei sobre o hack que realizei no meu cluster. Agora, vou detalhar como configurei o Proxmox e quais foram as principais configurações adotadas para o ambiente.

Proxmox​

No dia 5 de agosto de 2025, foi anunciado a nova versão do Proxmox, a 9.0, então aproveitei para reinstalar o Proxmox e começar do zero e documentar o processo de instalação e configuração.

Para quem não conhece, o Proxmox é um sistema operacional baseado em Debian, voltado para virtualização e gerenciamento de containers. Ele é uma ótima opção para quem quer criar um cluster de alta disponibilidade, pois possui suporte a Ceph, que é um sistema de armazenamento distribuído.

Instalação​

Não tem muito segredo, só ir next, next e next.

Disco​

Eu optei por utilizar um SSD Sata de 240GB para o sistema operacional, que foi formatado em btrfs.

Rede​

Eu tenho 3 nós que foram configurados com as seguintes informações:

ConfiguraçãoValor
CIDR192.168.50.10/24
Gateway192.168.50.1
DNS192.168.50.1

Pós instalação​

Após a instalação, é necessário realizar algumas configurações para deixar o Proxmox pronto para uso. As principais configurações são:

Hostname​

hostnamectl set-hostname pve1-MJ04XX69

Após alterar o hostname, é necessário atualizar o arquivo /etc/hosts para que o Proxmox reconheça os novos nomes dos nós, se você reiniciar o sistema nesse momento, o proxmox não vai subir corretamente, e você vai precisar acessar por SSH e corrigir o arquivo /etc/hosts manualmente com as configurações de hosts abaixo.

Hosts​

sed -i '2s/.*/192.168.50.10 pve1.lenovo.m900.MJ04XX69 pve1-MJ04XX69/' /etc/hosts

Após a configuração do hostname e do arquivo /etc/hosts, é possível reiniciar a maquina e verificar se tudo está funcionando corretamente.

reboot -h now

Rede​

Como visto no post anterior, existem 2 placas de rede, então agora vamos configurar o failover e o bonding.

echo "" >> /etc/network/interfaces

cat << EOF > /etc/network/interfaces
auto lo
iface lo inet loopback

auto eno1
iface eno1 inet manual

auto enp2s0
iface enp2s0 inet manual

auto bond0
iface bond0 inet manual
bond-slaves eno1 enp2s0
bond-miimon 100
bond-mode active-backup
bond-primary enp2s0

auto vmbr0
iface vmbr0 inet static
address 192.168.50.10/24
gateway 192.168.50.1
bridge-ports bond0
bridge-stp off
bridge-fd 0

source /etc/network/interfaces.d/*
EOF

e ai é só reiniciar a rede

systemctl restart networking

Network
Como deve ficar a configuração de rede

Wake on LAN - WOL​

Agora vamos ativar a configuração de Wake on Lan(WOL) para que eu possa ligar os nós remotamente. Para isso vamos em Datacenter > Node > System > Options. Precisamos configurar o MAC address for Wake on LAN e inserir o MAC da placa de rede principal, que geralmente é a eno1, e depois habilitar o Wake on LAN.

Wake on Lan

Para pegar o MAC da placa de rede, podemos utilizar o seguinte comando:

ip link show eno1 | awk '/ether/ {print $2}'
ip link show eno1 | awk '/ether/ {print $2}'
# 00:23:24:D9:9D:EF

Tailscale​

Eu gosto de utilizar o Tailscale para acessar o Proxmox remotamente, então vou instalar ele também em cada nó, basta seguir a instalação oficial do Tailscale.

curl -fsSL https://tailscale.com/install.sh | sh && sudo tailscale up --auth-key=tskey-auth-XXXXXXXXXXXXXXXXXXXXXXX

Após instalar, eu gosto de utilizar a seguinte configuração:

tailscale up --reset --ssh --advertise-routes=192.168.50.0/24 --accept-dns=false

Essa configuração vai anunciar a rota da minha rede local, para que eu possa acessar os dispositivos da minha rede local através do Tailscale, habilitar o SSH e não aceitar as configurações de DNS do Tailscale, pois tive problema com o MagicDNS do Tailscale em outras maquinas virtuais.

informação

Ao utilizar o MagicDNS do Tailscale, as maquinas virtuais não conseguiam resolver os nomes dos hosts, então optei por não utilizar o MagicDNS e configurar o DNS manualmente.

Pós-instalação Scripts​

Proxmox VE Post Install​

bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/post-pve-install.sh)"

Deve ser selecionado os seguintes itens:

  • 'pve-enterprise' - Desabilitar o repositório enterprise
  • 'pve-no-subscription' - Habilitar o repositório no subscription
  • 'pvetest' - Desabilitar o repositório test
  • Disable subscription nag - Desabilitar a mensagem de assinatura, se puder contribuir, compre uma assinatura.
  • Disable high availability - Habilitar, pois vamos criar um cluster de alta disponibilidade.

Proxmox VE Post Install
Após rodar o script, deve ter essa mensagem.

Proxmox VE Processor Microcode​

bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/microcode.sh)"

Não sei muito bem as opções, então seleciono a do processador.

Proxmox VE Processor Microcode
Opção que seleciono.

Após a instalação, é necessário reiniciar o sistema.

reboot -h now

E pode verificar se o microcode foi instalado corretamente.

journalctl -k | grep -E "microcode" | head -n 1

Proxmox VE CPU Scaling Governor​

bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/scaling-governor.sh)"

Cluster High Availability​

Agora que configuramos cada nó, vamos criar um cluster de alta disponibilidade, vou utilizar a interface web do Proxmox para isso, mas também é possível fazer via linha de comando.

No nó 1, vamos criar o cluster. Basta clicar em Datacenter > Cluster > Create Cluster.

Criar cluster
Criar um cluster

basta dar um nome, eu vou utilizar home-lab.

Nome
De um nome ao cluster

Agora na tela, vai ter nosso cluster criado e um botão novo ficou disponível, o Join Information, que é onde vamos pegar as informações para adicionar os outros nós ao cluster.

Join information
Copie as informações utilizando o botão Copy Information

Agora vamos nos outros nós, e vamos clicar em Datacenter > Cluster > Join Cluster e colar as informações copiadas do nó 1. Pode ser que a tela trave no meio, pois a conexão é perdida, pois você precisa fazer o login novamente, e assim que fizer, vera o nó a esquerda junto ao nó 1.

Join cluster
Copie as informações utilizando o botão Join 'Home-Lab'

Após adicionar todos os nós, você verá a tela do cluster com os nós adicionados.

Cluster
Tela do cluster com os nós adicionados

Ceph Storage​

Como visto no post anterior, existem 2 SSDs em cada nó, um para o sistema operacional(Proxmox) e outro para o Ceph Storage, que será utilizado para armazenar os dados dos containers e VMs.

O Ceph é um sistema de armazenamento distribuído, que permite criar um cluster de armazenamento de alta disponibilidade, escalável e tolerante a falhas. Ele é integrado ao Proxmox, o que facilita a criação e gerenciamento do cluster de armazenamento.

Na configuração atual do cluster, se um nó falhar, os dados dos containers e VMs não serão perdidos, pois eles estarão replicados nos outros nós do cluster. Isso garante alta disponibilidade e tolerância a falhas.

Para fazer a instalação do Ceph, vamos utilizar a interface web do Proxmox, que é bem intuitiva. Basta clicar em Nó > Storage > Add > Ceph. Isso deve ser feito para cada nó do cluster.

Cluster
Tela de instalação do Ceph

Depois de instalado em todos os nós, eu gosto de criar monitors e managers para cada nó, para garantir que o Ceph esteja sempre funcionando corretamente, mesmo se um nó falhar.

Monitor e Manager
Tela de criação de Monitor e Manager

Após criar os Monitores e Managers, você verá a tela do Ceph com os nós adicionados.

Monitor e Manger
Tela do Ceph com os nós adicionados

Agora temos que adicionar os discos que serão utilizados pelo Ceph, para isso, vamos clicar em Nó > Storage > Add > OSD. Isso deve ser feito para cada nó do cluster, selecionando o disco que será utilizado pelo Ceph.

Caso o disco não esteja aparecendo, no meu caso ele estava listado em LVM, então eu precisei remover o disco do LVM e depois adicionar o disco ao Ceph.

OSDs
OSDs do Ceph

Agora, para finalizar a configuração do Ceph, crie o pool de armazenamento, que será utilizado pelos containers e VMs. Para isso, clique em Nó > Ceph > Pool > Create.

Pool
OSDs do Ceph

Considerações Finais​

Esses foram os principais passos que segui para configurar meu cluster de Proxmox com Ceph Storage. Sei que existem outras configurações, mas optei por focar nas principais após instalar o Proxmox.