DEV Community

Cover image for From Zero to Proxmox Cluster: Building a Homelab on Old Hardware
ITpraktika.com
ITpraktika.com

Posted on • Originally published at itpraktika.com

From Zero to Proxmox Cluster: Building a Homelab on Old Hardware

Have old computers gathering dust in your basement? Before you recycle them, consider this: those "relics" can become the foundation of a powerful homelab. In this guide, I'll walk you through the process of building a Proxmox cluster from scratch, transforming old hardware into modern infrastructure for virtual machines and containers.

🌐 Read the full article in Bulgarian: От нула до Proxmox клъстер: Изграждане на домашна лаборатория върху стар хардуер


Why Proxmox VE?

Proxmox Virtual Environment (VE) is open-source virtualization software that combines two powerful technologies: KVM for virtual machines and LXC for lightweight containers.

Benefits for homelabs:

  • Free: Full functionality without licensing fees
  • Web Interface: Manage everything through your browser
  • Clustering: Easily connect multiple machines into a unified network
  • Backup Tools: Built-in backup and replication features

Step 1: Hardware Selection and Preparation

You don't need enterprise-grade server hardware. Old laptops, desktops, or Intel NUCs work perfectly.

Minimum requirements:

  1. CPU: 64-bit processor with Intel VT or AMD-V support
  2. RAM: At least 4GB (more is always better)
  3. Network: Ethernet port (Gigabit recommended)
  4. Storage: SSD for the operating system and virtual machines

BIOS/UEFI preparation:

Before starting, enter each machine's BIOS. Enable Virtualization Technology and VT-d. Disable Secure Boot if it causes installation issues.


Step 2: Installing Proxmox VE

Download the latest ISO from the official Proxmox website. Use tools like BalenaEtcher or Rufus to write it to a USB flash drive.

  1. Boot from the flash drive
  2. Select Install Proxmox VE (Graphical)
  3. Choose your target disk (I recommend SSD)
  4. Configure country and timezone
  5. Enter a strong password and valid email address

Network configuration:

It's crucial to set a static IP address here. For example:

  • Hostname: pve01.home.lan
  • IP Address: 192.168.1.100
  • Gateway: 192.168.1.1
  • DNS Server: 192.168.1.1 (or 1.1.1.1)

After reboot, you'll get console access. Open your browser and navigate to: https://192.168.1.100:8006.


Step 3: Post-Installation Configuration

Proxmox comes with the "Enterprise" repository enabled, which requires a subscription. For homelabs, we need to switch to "No-Subscription."

Removing the Enterprise repository:

Navigate to your node menu -> Repositories. Disable pve-enterprise and add No-Subscription.

Post-installation script (optional):

You can use popular scripts to automate initial configuration. Open Shell and execute:

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/post-install.sh)"
Enter fullscreen mode Exit fullscreen mode

This script will remove license warnings and optimize the system.


Step 4: Building the Cluster

Now for the magic. Repeat the installation on your second and third computers (pve02, pve03).

Creating a cluster:

  1. Go to the first node (pve01)
  2. Select Datacenter -> Cluster -> Create Cluster
  3. Give it a name (e.g., HomeLab-Cluster)
  4. After creation, click Join Information and copy the text

Joining nodes:

  1. Go to the second node (pve02) through its web interface
  2. Datacenter -> Cluster -> Join Cluster
  3. Paste the information from the first node and enter its password

You now have a unified interface for managing all your physical machines!


Step 5: Storage Configuration

In a cluster, shared storage is essential for seamless VM migration.

Storage options:

  • Local-LVM: Fast but local to a single node only
  • ZFS: Excellent for software RAID if you have multiple disks
  • NFS/SMB: If you have a NAS (like TrueNAS), this is the best approach for shared storage

If you don't have a NAS, you can use Ceph – Proxmox's built-in distributed storage solution. However, it requires at least 3 nodes and a fast network (10GbE is highly recommended).


Step 6: Creating Your First Container (LXC)

Containers are ideal for lightweight services like Pi-hole, Home Assistant, or Plex.

  1. Go to storage local -> CT Templates
  2. Click Templates and download ubuntu-22.04 (or another distribution)
  3. In the top right, click Create CT
  4. Follow the steps to allocate CPU and RAM (512MB RAM is often sufficient)

Step 7: Automation and Virtual Machines (VM)

For heavier applications or a Docker host, you'll need a full virtual machine.

Installing Docker in Proxmox:

Instead of installing Docker directly on Proxmox (not recommended), create a VM with Ubuntu Server.

# Example script for Docker installation in VM
sudo apt-get update
sudo apt-get install docker.io -y
sudo systemctl enable --now docker
Enter fullscreen mode Exit fullscreen mode

Step 8: High Availability (HA)

One of the biggest advantages of clustering is HA. If one computer fails, services automatically start on another.

The Quorum rule:

For HA to work properly, you need at least 3 votes in the cluster. If you only have 2 machines, you can use a QDevice (for example, on a Raspberry Pi) to provide the third vote.

# Installing QDevice on external device (Debian/Ubuntu)
apt install corosync-qnetd

# On Proxmox nodes:
apt install corosync-qdevice
pvecm qdevice setup <device-IP>
Enter fullscreen mode Exit fullscreen mode

Maintenance and Monitoring

Homelabs require care. Proxmox makes this easier with built-in load graphs.

  • Monitoring: Integrate InfluxDB and Grafana for beautiful data dashboards
  • Backup: Use Proxmox Backup Server (PBS). Even an old machine with a large HDD can serve this purpose
  • Updates: Always update one node at a time to avoid service interruptions

Common Mistakes (and How to Avoid Them)

Even the most experienced among us have encountered "red messages" in the console. Here are things to watch out for:

1. Using Wi-Fi for cluster network

Proxmox requires extremely low latency for inter-node communication (Corosync). Wi-Fi is unstable and can lead to cluster "split-brain." Always use LAN cables.

2. Filling the system disk to 100%

If the disk where Proxmox is installed fills up, the web interface will stop working and containers will "freeze." Monitor free space and always leave at least 10-20% buffer.

3. Wrong CPU type selection for virtual machines

When creating a VM, Proxmox offers a default processor type. If you plan to migrate the machine between different hardware generations, choose type "Host" or "x86-64-v2-AES" for maximum compatibility.

4. Skipping backups

"Homelab" doesn't mean data isn't important. Set up an automatic backup schedule to an external disk or NAS at least once weekly.

5. Installing packages directly on the Hypervisor

Proxmox is based on Debian, but don't treat it like a regular desktop machine. Avoid installing software (like Docker or Samba) directly on the base system. Use virtual machines or containers for everything – this keeps your host "clean" and stable.


Conclusion: Your Personal Cloud is Ready

We've traveled from old computers in boxes to a working Proxmox cluster. You now have a platform where you can test software, host your own websites, or automate your home.

This project doesn't just give new life to old hardware. It gives you invaluable knowledge about networking, virtualization, and system administration.


💬 Join the Discussion

What do you use for your homelab? Do you have favorite services you're hosting, or are you just starting your journey? Share your setup in the comments below!


📚 More Resources

🌐 Original article in Bulgarian: От нула до Proxmox клъстер

🔧 Want more hands-on IT guides, scripts, and tutorials?

Visit ITpraktika.com for:

  • Proxmox automation scripts
  • Docker and DevOps tutorials
  • Linux administration guides
  • Windows optimization tips
  • And much more!

If you found this helpful, check out more practical IT content at itpraktika.com 🚀

Top comments (0)