
How to Set Up a Proxmox Cluster for Free â Virtualization Basics
How to Set Up a Proxmox Cluster for Free â Virtualization Basics êŽë š
Virtualization is a game-changer for developers, hobbyists, and IT enthusiasts. It lets you run multiple operating systems on one machine, which is perfect for testing apps, hosting servers, or learning new tech. If you want to take it further, clustering ties multiple machines together for more power and flexibility. And you can use Proxmox Virtual Environment (VE) to build a cluster for free â no expensive licenses required.
In this tutorial, youâll set up a 3-node Proxmox cluster using three computers (or virtual machines for practice). By the end, youâll have a working cluster ready to host virtual machines (VMs) and experiment with cool features like guest migration and VM replication etc.
Letâs dive in!
Prerequisites: What Youâll Need to Know
This guide is beginner-friendly for clustering, but youâll need some basic skills to follow along. You should be comfortable with:
- Installing an OS from a USB drive (donât worry, Iâll walk you through the steps).
- Using a terminal for simple commands like
ping
ornano
. - Setting up a home network with static IPs (for example, knowing your routerâs IP range). No advanced virtualization or clustering experience is requiredâIâll explain the key concepts as we go.
What Youâll Need
- Three computers (or VMs): Start with at least 8GB RAM and 100GB storage per machine, plus a virtualization-capable CPU (most modern ones work). These specs are a baselineâactual RAM and storage depend on how many VMs you want to host (e.g., more VMs need more resources).
- Proxmox VE: Free and open-source. Grab the ISO from proxmox.com.
- Network connection: All three must be on the same network and be able to ping each other.
- A web browser: For Proxmoxâs web interface.
- 30â60 minutes: Depending on your setup pace.
Why Proxmox and Clustering?
Proxmox VE is a free, open-source virtualization platform built on Debian Linux. It uses KVM for VMs (fully virtualized systems) and LXC for containers (lightweight app environments), all managed via a slick web interface.
Clustering means linking multiple Proxmox machinesâcalled nodesâso they act as one system. Think of it like a team: each node shares the workload, and you control them from a single dashboard. This setup lets you move (migrate) VMs between nodes, boost reliability, and experiment with high availability (HA)âwhere VMs auto-restart (on healthy node) if a node fails.
Plus, Proxmox offers a handy replication feature: it can sync VM data between nodes automatically, keeping backups ready if something goes wrong.
Itâs a must-have skill for DevOps, app testing, or IT tinkering.
2 Nodes vs. 3 Nodes: Which Should You Choose?
Before we build your 3-node cluster, letâs explore your options. Clustering can start with 2 nodes or go to 3 (or more). Hereâs why you might pick one over the other:
2-Node Cluster
- Pros: Easier setup with just two machines. Great for learning basics or small projects. Uses less hardware.
- Cons: No quorumâa voting majority to keep the cluster running if a node failsâso HA isnât reliable. Youâd need an extra trick (like a quorum device) to avoid stalling.
- Best For: Learning, Testing clustering, or limited resources.
3-Node Cluster
- Pros: Built-in quorumâtwo out of three nodes keep things going if one crashes. Ideal for HA practice. More stable and scalable.
- Cons: Needs an extra machine and a bit more setup time.
- Best For: Serious learners or small production setups.
Weâll go with 3 nodesâitâs the sweet spot for stability and real-world skills.
Step 1: Install Proxmox VE on All Three Machines
First, download the Proxmox VE ISO from proxmox.com. Make a bootable USB with Rufus (Windows), dd
(Linux/macOS), or Raspberry Pi Imager (available for all platforms).
For dd
, use this command (replace placeholders with your ISO and USB device):
sudo dd if=proxmox-ve.iso of=/dev/sdX bs=1M status=progress oflag=sync

Boot each machine from the USB and follow the installer. Stick with the default partitioning scheme (it uses EXT4 filesystem) and set static IPs and hostnames as follows (or you can use your own IPs knowing your routerâs IP range):
- Node 1:
172.20.1.101
[hostname:node01.local
] - Node 2:
172.20.1.102
[hostname:node02.local
] - Node 3:
172.20.1.103
[hostname:node03.local
]

After installation, each node displays its IP on the console (for example, https://172.20.1.101:8006
). Test it by opening a browser, visiting each IP, and logging in with root and your password. Youâll see the Proxmox dashboard.
Step 2: Prepare Your Nodes
Now, letâs get your nodes ready to talk to each otherâa crucial step for clustering. Without this, they wonât recognize each other properly.
Update /etc/
hosts
on all three nodes to map IPs to hostnames (since weâre not using a DNS server). Open the file with:
nano /etc/hosts
Add these lines (IPs and hostnames) on each node:
172.20.1.101 node01.local node01
172.20.1.102 node02.local node02
172.20.1.103 node03.local node03

Save and exit (Ctrl+O, Enter, Ctrl+X). This ensures nodes can resolve each otherâs names (for example, node01 pings node02.local).
Next, check connectivity. From Node 1âs console (or SSH), ping the others:
ping 172.20.1.102
ping 172.20.1.103
Repeat from Node 2 and Node 3. If pings fail, check your network or firewall.
Finally, sync their clocksâclusters need precise time to coordinate. On each node, run:
ntpdate pool.ntp.org
All three nodes are now primed for clustering.
Step 3: Create the Cluster on Node 1
Letâs set up the cluster starting with Node 1. Log into its web interface at https://172.20.1.101:8006
. On the left sidebar, click Datacenter, then Cluster. Hit the Create Cluster button, and a dialog pops up. Name your clusterâletâs call it MyCluster and click Create. A task window will appear, showing the process. Wait a few seconds until you see âTASK OKââthat means your cluster is live and Node 1 is its first member. Now we can add the other nodes!

Step 4: Join Node 2 and Node 3 to the Cluster
With the cluster created, letâs bring in Node 2 and Node 3. On Node 1âs cluster page, click Join Information, then Copy Informationâthis copies a key youâll need.
Open Node 2âs web interface (https://172.20.1.102:8006
), go to Datacenter > Cluster > Join Cluster, paste the key into the Information field, enter Node 1âs root password, and click Join MyCluster.

Repeat this process on Node 3âs interface (https://172.20.1.103:8006
). Refresh Node 1âs dashboardâunder Datacenter, youâll see all three nodes with green checkmarks.

Your 3-node cluster is up!
Step 5: Test Your Cluster
Letâs verify it works by creating and moving a test VM. On Node 1, click Create VM, name it TestVM, skip the ISO, and finish with defaults (no disk content needed). Hit the Start button to boot it up.
Now, letâs migrate it aroundâmigration means moving the VM from one node to another to test your clusterâs flexibility. Right-click TestVM, select Migrate, choose Node 2, and click Migrate. The VM stops briefly, copies to Node 2, and restarts (normal without shared storage).
Repeat this, migrating it from Node 2 to Node 3. If it hops between nodes successfully, your clusterâs rocking! With three nodes, youâve got quorumâtry shutting down Node 3 to see the others stay active.
Whatâs Next?
Youâve built a 3-node Proxmox cluster for freeâcongrats! Take it further with:
- Shared storage: Add NFS or a spare drive for live VM migration (no stopping/shutdown needed).
- High Availability: Enable HAâVMs auto-restart on a healthy node if one fails.
- VM Replication: Configure ReplicationâSync VM data between nodes automatically, keeping backups ready if something goes wrong.
- Scale up: Add more nodes or try LXC containers.
Check your clusterâs health anytime (from console) with:
pvecm status
Wrapping Up
Youâve just set up a 3-node Proxmox cluster at no cost. Itâs a playground for virtualization, DevOps practice, or even hosting small projects. Share your thoughts with me â Iâd love to hear how you liked it.