Step 1 : Migrate all VMs to another active node
Migrate all VMs to another active node. You can use the live migration feature if you have a shared storage or offline migration if you only have local storage.
Step 2 : Display all active nodes
Display all active nodes in order identify the name of the node you want to remove
root@proxmox-node2:~# pvecm nodes Membership information ---------------------- Nodeid Votes Name 1 1 proxmox-node1 (local) 2 1 proxmox-node2 3 1 proxmox-node3 4 1 proxmox-node4
Step 3: Shutdown (permanently) the node that you want to remove
Please be carefull, it a permanently remove !!!
- Never restart the removed node
- Don’t assign the local ip address of the removed node to a new node
- Never assign the name of the removed node to a new node
Step 4 : Remove the node from the proxmox cluster
Connect to an active node, for example proxmox-node2.
root@proxmox:~# pvecm delnode NodeName
For Example :
root@proxmox-node2:~# pvecm delnode proxmox-node3
Step 5 : Remove the removed node from the proxmox GUI
Log in to an active node, for example proxmox-node2.
root@proxmox-node2:~# ls -l /etc/pve/nodes/ proxmox-node1 proxmox-node2 proxmox-node3 proxmox-node4
All nodes have is own directory (VM’s inventory, for example), the directory /etc/pve/nodes/ is synced between all cluster nodes.
The removed node is still visible in GUI until the node directory exists in the directory /etc/pve/nodes/.
If you want to remove from Proxmox GUI the node previously deleted , you just need to delete the directory /etc/pve/nodes/NodeName.
root@proxmox-node2:~# mv /etc/pve/nodes/NodeName /root/NodeName
Src: https://sysadmin-community.com/remove-node-from-cluster-proxmox/
Thank you very much
tnxs for the “remove from GUI”, was looking for this. One remark: when you remove a node and add it again under the same name it is wise to remove it first from ~/.ssh/authorized_keys and remove it first from /etc/ssh/ssh_known_hosts to save yourself a lot off vnc connection errors, also you might want to remove this access anyway.
IMHO, you should not add the deleted node back again! It will create anomalies in corosync services and eventually you might ended up a broken/non-funcitonal cluster
I looked into this. This is because you did not logically detach the node from the cluster. Before step 2 you should detach the node you want to remove as follows:
systemctl stop pve-cluster
systemctl stop corosync
pmxcfs -l
rm /etc/pve/corosync.conf
rm -r /etc/corosync/*
killall pmxcfs
systemctl start pve-cluster
poweroff
Your poweroff advise solves a lot of issues in detaching. After shutdown you should execute
pvecm expected X
where X is the number of remaining nodes in the cluster and THEN you excute on a remaining node
pvecm delnode oldnode
ls -l /etc/pve/nodes/
mv /etc/pve/nodes/oldnode /root/oldnode
followed by the SSH corrections I mentioned above
regards from Holland, Rick
Greate tip when cluster consist of only 2 node and we need delete one of them.