Como remover um nó de um Cluster Proxmox VE
Resumo do post: Neste artigo eu mostro o jeito certo de remover um nó de um cluster Proxmox VE sem deixar “nó fantasma” na interface, sem cair no erro de no quorum e sem quebrar o /etc/pve. Vou cobrir o cenário ideal (nó ainda online), o cenário comum (nó já offline) e a limpeza final que muita gente esquece.
Leitura rápida: se você está com cluster de 2 nós e um deles caiu, você pode ficar sem quorum e não conseguir gravar mudanças. Nesses casos, primeiro você ajusta o quorum temporariamente e só depois faz a limpeza.
Quando você precisa remover um nó do cluster
- Servidor deu problema e você vai substituir por outro.
- Você quer reduzir custo e desligar um bare metal.
- Você vai migrar tudo para outro host e “aposentar” o nó antigo.
- Você quer eliminar um nó que ficou “preso” e aparece como desligado na GUI.
Checklist antes de mexer
Antes de remover qualquer coisa, confirme o estado do cluster e o nome exato dos nós:
|
1 2 |
pvecm status pvecm nodes |
Se você usa HA, confira se não há recurso preso no nó que vai sair (GUI: Datacenter → HA).
Ponto crítico: cluster de 2 nós é o caso mais chato, porque se um nó cai você pode perder quorum e o Proxmox para de conseguir gravar em /etc/pve. A remoção continua possível, mas exige atenção.
Cenário A: o nó ainda está online (melhor caso)
1) Tire as VMs/CTs do nó que vai sair
Migre as VMs/CTs (se tiver storage compartilhado e rede OK) ou faça shutdown e trate depois via backup/restore.
2) Remova o nó do cluster (no nó que vai ficar)
Exemplo: você vai remover o nó sys1 e manter o rise2. Execute no rise2:
|
1 |
pvecm delnode sys1 |
Confirme:
|
1 2 |
pvecm status pvecm nodes |
3) “Desclusterizar” o nó removido (no próprio nó removido)
No nó que saiu (sys1), pare serviços e impeça o corosync/HA de subirem:
|
1 2 |
systemctl stop pve-ha-crm pve-ha-lrm corosync pve-cluster systemctl disable --now corosync pve-ha-crm pve-ha-lrm |
Remova as configs do cluster no nó removido:
|
1 2 3 |
rm -f /etc/corosync/corosync.conf rm -f /etc/cluster/cluster.conf rm -f /var/lib/pve-cluster/corosync.authkey |
Suba o Proxmox em modo standalone:
|
1 2 |
systemctl start pve-cluster systemctl restart pvedaemon pveproxy pvestatd |
Pronto: o nó removido deixa de ser cluster e vira standalone. Se você for reinstalar ou reaproveitar depois, é o estado que você quer.
Cenário B: o nó já está offline (você ficou com 1 nó só)
Esse é o caso em que aparece o erro clássico de no quorum, e comandos que gravam em /etc/pve falham (ex.: remover 2FA do root, ajustar usuários, etc.).
1) Forçar quorum temporariamente
No nó que ficou (ex.: rise2):
|
1 |
pvecm expected 1 |
Confirme se ficou quorate:
|
1 |
pvecm status |
Se aparecer Quorate: Yes, você voltou a conseguir gravar em /etc/pve.
2) Remover o nó (se ele ainda existir na config do cluster)
Agora tente remover:
|
1 |
pvecm delnode sys1 |
Se der algo como CS_ERR_NOT_EXIST, normalmente significa que o nó já não existe mais no corosync — e o seu problema é outro: sobra no /etc/pve/nodes.
Nó sumiu do pvecm, mas ainda aparece na interface web
Isso é muito comum. A árvore de nós da GUI usa o que existe em /etc/pve/nodes. Se ainda existe o diretório /etc/pve/nodes/sys1, o Proxmox mostra o nó como “desligado”.
No nó que ficou:
|
1 |
ls -1 /etc/pve/nodes |
Se aparecer sys1, verifique se ainda há VMs/CTs “presas” nele:
|
1 2 3 |
ls -R /etc/pve/nodes/sys1 ls /etc/pve/nodes/sys1/qemu-server 2>/dev/null ls /etc/pve/nodes/sys1/lxc 2>/dev/null |
Se você ainda precisa das VMs/CTs
Você pode mover os arquivos .conf para o nó que ficou (isso faz a VM aparecer no nó correto na GUI). Exemplo:
|
1 2 |
mv /etc/pve/nodes/sys1/qemu-server/102.conf /etc/pve/nodes/rise2/qemu-server/ mv /etc/pve/nodes/sys1/qemu-server/900.conf /etc/pve/nodes/rise2/qemu-server/ |
Atenção: isso move só a definição. Os discos precisam estar acessíveis no nó atual (storage compartilhado, ou discos copiados para lá).
Se você não precisa de nada do nó antigo
Remova o diretório e acabou:
|
1 |
rm -rf /etc/pve/nodes/sys1 |
Depois é só dar um F5 na GUI: o nó some da árvore.
Posso manter o cluster com apenas um nó e adicionar outro depois?
Sim. Um “cluster de 1 nó” funciona. O importante é ele estar quorate e sem sobras de nós antigos. Quando você contratar um novo servidor, instale o Proxmox nele e faça o join no cluster a partir do novo nó:
|
1 |
pvecm add IP_DO_RISE2 |
Ou, se preferir, você também pode executar do nó atual o procedimento padrão de inclusão (o fluxo é o mesmo: um nó entra no cluster existente).
Erros comuns e correção rápida
Erro: cfs lock ... no quorum
Você está em cluster e não tem votos/quorum suficiente para gravar em /etc/pve. Em cluster de 2 nós, quando 1 cai, isso aparece direto. Correção emergencial:
|
1 |
pvecm expected 1 |
Erro: nó não existe (ex.: CS_ERR_NOT_EXIST), mas a GUI ainda mostra
Isso é sobra em /etc/pve/nodes. Remova o diretório do nó antigo (ou mova as VMs/CTs antes):
|
1 |
rm -rf /etc/pve/nodes/NOME_DO_NO |
Conclusão
O fluxo “limpo” para remover um nó do cluster Proxmox é:
- Tirar VMs/CTs do nó (migração, shutdown, backup/restore).
- Executar
pvecm delnodea partir do nó que vai ficar. - Desclusterizar o nó removido (parar/disable corosync e HA, remover configs).
- Se sobrar “nó fantasma” na GUI, limpar
/etc/pve/nodes/<no>. - Se ficou sem quorum, usar
pvecm expected 1para conseguir gravar mudanças.
Referências
Leitura relacionada (interno): https://www.adonai.eti.br/category/sistemasoperacionais/linux-informatica/proxmox/.
