Changing Proxmox cluster nodes' IPs, without rebooting

Since I'm taking my network infrastructure on a diet, part of it meant moving stuff around, including my Proxmox nodes' IPs. This is based on this post, modified for my use case, and so that I didn't have to reboot them.

First, do some prep work on each node:

# Stop services
systemctl stop pve-cluster corosync

# Mount the cluster filesystem locally
pmxcfs -l

Modify the following files accordingly with the new IPs (and gateway if applicable):

  • /etc/network/interfaces
  • /etc/hosts
  • /etc/resolv.conf

Reload your network config using ifreload -a. You might need to login again using the new IP if you're using SSH to access the nodes.

Then modify /etc/pve/corosync.conf such that all nodes listed on that file reflect the new IPs. Make this file identical across all nodes.

⚠️
Make sure to increment config_version: x by one!

Finally, start the services on each node:

# Kill the local cluster filesystem
killall pmxcfs

# Time to put the cluster service back up
systemctl start pve-cluster

To confirm that the cluster is running and is quorate, run pvecm status.