Change cluster node IP in Proxmox

To update the present cluster host proxmox following files need to be updated:

/etc/pve/corosync.conf (only on one node necessary)

However, corosync.conf needs special way to edit the file!

Edit corosync.conf

Editing the corosync.conf file is not always very straightforward. There are two on each cluster node, one in /etc/pve/corosync.conf and the other in /etc/corosync/corosync.conf. Editing the one in our cluster file system will propagate the changes to the local one, but not vice versa. The configuration will get updated automatically as soon as the file changes. This means changes which can be integrated in a running corosync will take effect immediately. So you should always make a copy and edit that instead, to avoid triggering some unwanted changes by an in-between safe.

cp /etc/pve/corosync.conf /etc/pve/

Then open the config file with your favorite editor, nano and vim.tiny are preinstalled on any Proxmox VE node for example.

Always increment the config_version number on configuration changes, omitting this can lead to problems. After making the necessary changes create another copy of the current working configuration file. This serves as a backup if the new configuration fails to apply or makes problems in other ways.

cp /etc/pve/corosync.conf /etc/pve/corosync.conf.bak

Then move the new configuration file over the old one:

mv /etc/pve/ /etc/pve/corosync.conf

You may check with the commands

systemctl status corosync
journalctl -b -u corosync

If the change could be applied automatically. If not you may have to restart the corosync service via:

systemctl restart corosync



One thought on “Change cluster node IP in Proxmox

  1. This was so helpful! I unfortunately tried to change a nodes IP, but probably didn’t do it in the right order. Ended up having to change the file on the other nodes config file that were still working, and then on the one that wasn’t shut down the corosync service, change the local service file(the one under the corosync folder). I also matched the version ids after the change not sure if that helped. Then I restarted the corosync service, which seemed to make it compare the local one with the one on the cluster since the pve file didn’t match.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.