Joining a cluster with already created guests VM

I have a work-around that *might* work for you, but has not been thoroughly tested.
There is a firm requirement however that there must not be any conflicts with the guest ID, or the node name.

On node1 (with guests)
Create a new cluster or get join information.

On node2 (with guests)
scp -r /etc/pve/nodes/* to node1:/etc/pve/nodes
rm -r /etc/pve/nodes/*
Join cluster.

Please realize there is potential for things to go sideways!
I've done this to re-assemble a cluster I've recently had to pick apart, and can't provide any details on long-term issues or risk.
I cannot suggest this work-around at the moment for nodes that have never been in a cluster with each other.
I've done this with online VMs! and they remain operational through the process. The join cluster process will overwrite the contents of /etc/pve/nodes with copies from the cluster... so copying your new node directory to the cluster with scp will indirectly restore it on cluster join.

Good luck.
Thanks, it worked just fine!
I also backed up storage.cfg on joining node and appended the contents to the cluster storage.cfg.
 
  • Like
Reactions: Finale3333
Golden solution

If there are conflicting ID's you can temporarily rename files in /etc/pve/nodes/<node-name>/qemu-server/[ID].conf

Coming from ESXI this limitation is a bit strange. There are many many use cases where a user would need to join a node with existing guests. Also like another user said, in a sane world pve would be tracking these with GUIDs in the background and the VM ID number would be user facing only
 
Last edited:
Hi folks,

I tried the SCP way like above up comments said it but didn't work me. so I tried this on my own and it worked for me!

on the new node take a backup of /etc/pve/nodes/YOURNEWNODENAME/qemu-server and delete all the files in it and try to join the server once done restore the file to original location, it worked for me!

1. NewNode: cp -rpf /etc/pve/nodes/YOURNEWNODENAME/qemu-server /root/
2. NewNode: rm -rf /etc/pve/nodes/YOURNEWNODENAME/qemu-server/*
3. OldNode: get the "Join Information" from your main
4. NewNode: click on "Join Cluster" and add the info copied earlier and join the cluster
5. NewNode: cp -rpf /root/qemu-server /etc/pve/nodes/YOURNEWNODENAME/

and you are done! just Make sure you have no conflicting VM / LXC IDs.

Good Luck!
 
Last edited: