The Fear of Cloud “Bill Shock” and the Limits of Personal VMs
Anyone new to DevOps or SysAdmin has likely broken out in a cold sweat upon seeing an AWS or Google Cloud bill at the end of the month. Simply forgetting to shut down a test Kubernetes cluster for a few days can result in costs reaching millions of VND. Renting a VPS with a 2 vCPU and 4GB RAM configuration currently costs around 200,000 – 400,000 VND per month—a significant amount for students or junior developers.
Many choose to install VirtualBox or VMware Workstation directly on their laptops. However, the harsh reality is that just running three Ubuntu nodes can push 16GB of RAM into the red, making the laptop run hot and the fans sound like a jet engine. Most importantly, every time you close your laptop to sleep, your entire lab system goes down, making it impossible to maintain 24/7 services like Pi-hole, VPN, or Home Assistant.
The problem lies in running virtualization on top of a heavy operating system like Windows or macOS. For real-world learning, you need a Bare-metal Hypervisor—an operating system that runs directly on the hardware to maximize every MB of RAM and CPU cycle.
Proxmox VE: The Top Choice After the VMware “Scandal”
Since Broadcom acquired VMware and killed off the free version of ESXi, the IT community has shifted en masse to Proxmox VE. This is an open-source platform based on Debian, which is extremely stable and completely free for educational purposes.
In fact, I am currently using an old Mini PC to run 15 Containers and 3 VMs while the CPU usage stays below 10%. Proxmox wins because it supports two technologies side-by-side:
- KVM (Kernel-based Virtual Machine): Used for running heavy OSs like Windows Server or customized Linux distros with absolute resource isolation.
- LXC (Linux Containers): This is the “secret weapon.” A container running Nginx or a Database only consumes about 128MB of RAM, which is much lighter than setting up a full virtual machine.
If you have an old office PC lying around or a laptop with a broken screen, don’t throw it away. It is the perfect foundation for a home server cluster.
Hardware Strategy: Don’t Obsess Over Specs
Don’t feel pressured to have the latest CPU. Older chips like the 4th Gen Core i5 (e.g., i5-4570) or 6th Gen are still more than capable of handling lab tasks. However, you should focus on three key areas:
1. The More RAM, the Better
In virtualization, RAM is the first resource to run out. Prioritize upgrading to at least 16GB or 32GB. Currently, an old 8GB DDR3 RAM stick costs only about 150,000 – 200,000 VND—a bargain for running dozens of services simultaneously.
2. SSD is the Soul of the System
Using an old HDD for virtual machines is a fatal mistake. The low read/write speeds of an HDD will cause I/O Wait to skyrocket, making the entire system lag. Invest in a 256GB SATA SSD (around 400,000 VND) to host the OS and virtual disks. HDDs should only be used for backups or large data storage.
3. Enable Virtualization in BIOS
Before installing, enter the BIOS/UEFI and look for Intel VT-x or AMD-V and set it to Enabled. Without this feature, you won’t be able to start any 64-bit virtual machines on Proxmox.
Practical Configuration for Resource Optimization
Installing Proxmox via USB takes less than 15 minutes. Once installed, there are a few tweaks to make the free version run smoother.
Disable the Subscription Nag Screen
By default, Proxmox shows a paid subscription notice every time you log in. To use the free community software repositories, run the following commands in the Terminal:
# Remove enterprise repository
rm /etc/apt/sources.list.d/pve-enterprise.list
# Add community repository (No-Subscription)
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list
# Update system
apt update && apt dist-upgrade -y
Smart Network Configuration
Proxmox uses Linux Bridge (vmbr0) as a network bridge. Each virtual machine you create will receive its own IP address from your home router (e.g., 192.168.1.50). This makes it incredibly easy to access your lab applications from your phone or other computers in the house.
Prioritize LXC over VMs
If you only need to run a Telegram bot, a personal website, or a VPN, choose CT (Container) instead of VM (Virtual Machine). An Ubuntu Container takes only 2-3 seconds to boot and occupies less than 500MB of disk space.
Fixing the Lid Close Issue on Laptops
If you use a laptop as a server, you need to configure it so it doesn’t shut down when the lid is closed:
# Edit system configuration file
nano /etc/systemd/logind.conf
# Edit or add the following line:
HandleLidSwitch=ignore
# Apply changes
systemctl restart systemd-logind
Conclusion: Mastering Infrastructure from Scratch
Building a Home Lab with Proxmox isn’t just about saving a few hundred thousand VND on cloud costs. It’s an opportunity to get hands-on experience with VLAN tagging, memory management, and hardware troubleshooting—knowledge that using “pre-packaged” cloud services will never provide.
Instead of letting that old PC gather dust, turn it into a mini data center. Once you have your own playground, self-learning Docker Swarm, Kubernetes, or Terraform will become much more intuitive and exciting. Good luck building your own home server cluster!
