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:
- CPU: 64-bit processor with Intel VT or AMD-V support
- RAM: At least 4GB (more is always better)
- Network: Ethernet port (Gigabit recommended)
- 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.
- Boot from the flash drive
- Select Install Proxmox VE (Graphical)
- Choose your target disk (I recommend SSD)
- Configure country and timezone
- 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)"
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:
- Go to the first node (
pve01) - Select Datacenter -> Cluster -> Create Cluster
- Give it a name (e.g.,
HomeLab-Cluster) - After creation, click Join Information and copy the text
Joining nodes:
- Go to the second node (
pve02) through its web interface - Datacenter -> Cluster -> Join Cluster
- 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.
- Go to storage
local-> CT Templates - Click Templates and download
ubuntu-22.04(or another distribution) - In the top right, click Create CT
- 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
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>
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)