If you plan to reinstall everything in any case I would strongly suggest to NOT add the third to the cluster because if the cluster gets somehow broken in the process you won't have a running system at all. Instead I would proceed like this:
Some other things to consider:
- Backup everything to a medium which is NOT on one of your nodes, e.G. your NAS or a external disc drive. If you have a ProxmoxBackupServer that's the best option (because with it you have live-restore) otherwise just use the regular vzdump/vma-archiv Backup integrated in ProxmoxVE. So in case something goes wrong you can restore your vms and containers and have your services running again. I would also test the restore before proceeding:
All existing configuration in /etc/pve is overwritten when joining a cluster. In particular, a joining node cannot hold any guests, since guest IDs could otherwise conflict, and the node will inherit the cluster’s storage configuration. To join a node with existing guest, as a workaround, you can create a backup of each guest (using vzdump) and restore it under a different ID after joining. If the node’s storage layout differs, you will need to re-add the node’s storages, and adapt each storage’s node restriction to reflect on which nodes the storage is actually available
https://pve.proxmox.com/wiki/Cluster_Manager#pvecm_join_node_to_cluster - Install the third node as single-node, afterwards install the Proxmox Datacenter Manager as a VM (alternatively use the qm remote-migrate and ct remote-migrate command line tools) to migrate all workloads to the new single-node.
- Afterwards wipe your two nodes, migrate/restore your workloads to one of them (NOT both! If you add a node with vms or containers to a cluster you will loose their config!).
- Build a cluster by adding an empty node to the node with the guests like described in the doc: https://pve.proxmox.com/wiki/Cluster_Manager#pvecm_join_node_to_cluster
- Afterwards wipe your third node (you migrate all the stuff from it to your new cluster right?), reinstall it and add it to the cluster. Or alternatively (if you didn't had a ProxmoxBackupServer before): Install a ProxmoxBackupServer on it and use it as a qdevice: https://pve.proxmox.com/wiki/Cluster_Manager#_corosync_external_vote_support
Please note that adding the PBS as a qdevice will also allow anyone with root access to one of your cluster nodes to access the PBS. This might not be what you want e.g. in case somebody hacks your cluster you don't want to give him access to your backups. One way around this is a setup like one described by Proxmox developer @aaron here: https://forum.proxmox.com/threads/planning-advice.169434/post-791732
Basically you install ProxmoxVE and ProxmoxBackupServer on the same host without adding it to the cluster. Afterwards you create small Debian container or VM (whatever you prefer) to act as qdevice so somebody with root access on the Promox cluster will only be able to connect to the qdevice container/vm.
Some other things to consider:
- Since you mentioned that you are using LVM as storage at the moment, for what do you actually need a cluster? Usually one would use a cluster if one want high-availability together with a shared storage (e.G. NFS on a NAS or a FC attached SAN) or ZFS for storage replication. If you don't need this you propably doesn't need a cluster with it's added complexity and failure possibilities.
- One example: A cluster needs a dedicated network link for cluster communication due to corosyncs low-latency requirements ( see https://pve.proxmox.com/wiki/Cluster_Manager#pvecm_cluster_requirements ). So if you don't have this dedicated link I wouldn't run anything serious on the cluster (for this reason in my homelab I have a single-node for my always-on-services and a two-node+qdevice-cluster as "playground". None of my machines has a dedicated link for corosync so I don't run anything important on the cluster, for playing with stuff it's ok (because nothing important will be lost if it breaks)). So if you don't need high-availabiltiy you propably don't need a cluster. For having a single-glass-of-managment or migrating nodes between different single-nodes/cluster you can also use (as already mentioned) the Datacenter Manager:
- LVM is (as you discovered) quite unflexible in terms of allocating directory/block level storage. ZFS is way more flexible in this regard and has some other nice features too (e.g. filesystem level compression, storage replication, "cheap" snapshots):
- https://pve.proxmox.com/wiki/Storage:_ZFS
- https://forum.proxmox.com/threads/f...y-a-few-disks-should-i-use-zfs-at-all.160037/
- So if you are planning to reinstall everything in any case you could also use this as a reason to resetup everything with ZFS. Another benefit is that you could setup anything (OS plus vms plus containers) on a two-disc mirror. Since micro-pcs often just have limited storage slots this is what I'm doing myself on my Lenovo ThinkCentre ProxmoxVE nodes. The mirror has also the advantage that in case of one failing disc the system should continue to run and even heal some errors for themselves (thanks to ZFS bitrot-detection plus autohealing magic)
Last edited: