Can’t decide what OS to use in your home lab? Why not all of them?
Proxmox might be the greatest option for you Home lab
With a world full of home labs and personal servers of all shapes and sizes, pursuing knowledge, skill, and control can become an exciting experience. Whether you have 15 years of IT experience under your belt or are just starting, the Proxmox Virtual Environment (Proxmox VE) can be a game changer for your home lab. But why?
Firstly, what even is Proxmox?
Despite the name, Proxmox is not some kind of disease you might get in grade school. Proxmox is an open-source Type 1 hypervisor. It provides a huge suite of tools for managing and orchestrating Virtual Machines (VMs) and containers.
What is a Type 1 hypervisor? Also called a bare-metal hypervisor, it runs directly on top of the physical server and its underlying hardware. There is no middleman operating system that it needs to run on like a Type 2 hypervisor (Virtualbox is an example of a Type 2 hypervisor). Instead a Type 1 hypervisor acts as a lightweight OS designed specifically to run and manage virtual machines.
As a Type 1 hypervisor, Proxmox has direct access to the host hardware and runs extremely efficiently.
Proxmox VE (PVE) supports two different types of virtualization: container-based LXC and full virtualization KVM.
A LXC is simply a Linux Container, similar to the Docker Engine. They aren’t nearly as extensible as Docker but can be used for applications that don’t need a ton of power (like a web dashboard). Since they borrow the host kernel, there is less virtualization happening, making them faster.
On the other hand, a KVM (Kernal-based Virtual Machine) is a full virtualization. Everything from the base operating system kernel to the hardware. It runs with near-native performance on systems with x86 hardware that has virtualization support.
How do you work with it?
PVE is a pretty simple installation. You will need an ethernet connection to your router, mouse, keyboard, and monitor. After installation, you won’t need the peripherals. Just the ethernet connection. When I first tried to install PVE 8 I would get errors. The fix was just to install the previous version instead and update it later.
The reason you don’t need any peripherals is that it provides a web interface after installation that can be accessed on any standard web browser. This interface is where you can create, configure, monitor, and maintain all your VMs and containers.
If you have multiple servers running Proxmox, you can turn them into a cluster and manage them from the same interface!
So what can I do with it?
The biggest advantage is obviously the ability to run any operating system in PVE. This can be anything from a Windows OS to a MacOS to any Linux distro. Want to run the first Windows version ever? You can do that! Want to tell your friends that you use Arch BTW? You can do that too, on the same physical host.
Or maybe you want to want to learn Terraform? PVE provides easy access using an API.
Using Cloud-init, it's really easy to make VM templates to quickly spin up a new virtual machine with pre-configured settings such as specific programs and ssh keys.
PVE is a great way to learn VM concepts like the installation steps for operating systems and live migrations, or for learning storage management with a RAID configuration or ZFS integration.
There are also a ton of Networking rabbit holes that you can go down with VLANs, bridges, and Firewalls. Then with the API, you can automate backups and restoration when a VM fails.
A PVE installation can also teach you cybersecurity. After all, you have any operating system or container at your disposal. Build a secure virtual network topography or do the opposite and break in.
By using Proxmox VE, you will develop a well-rounded set of skills in virtualization, system administration, networking, and many other fields related to IT. With an easy-to-use interface and a complex set of capabilities, it can be a fun project for new homelabbers or for the experienced.
If you do get started with Proxmox, I recommend looking around this site for useful helper scripts that can save you some time.