Whether you’re building your first Linux lab or your 100th, the question you may ask yourself is, “Which version of Linux should I use?”
As with many technology questions, the answer is, “It depends.”
Fortunately, most Linux distributions have versions — new and old — that run on just about any hardware you can think of, even ARM devices like the Raspberry Pi and Pine 64. But some distros lend themselves to newcomers better than others. At the same time, some lab options aren’t desktop options at all, but dedicated hypervisor hosts.
If your equipment and resources are limited, you might start out by using a single PC for both your workstation and your lab. If you’ve ever run VirtualBox on a Windows or Mac system, this is essentially what you’ve done. However, since this site is about Linux first, let’s talk about Linux-first solutions.
Here are some goals and requirements:
- The ability to spin up servers and containers at will
- The ability to install tools without corrupting your base workstation
- Linux-first and/or free
- Broad support
KVM and Xen
The Linux kernel lends itself to virtualization particularly well, including native support for resource sharing. KVM and Xen are relatively easy to add on to any system, provide excellent light-weight hypervisor features for running full VMs or Linux containers (LXCs), and offer some basic management tools.
If you’re running a Debian, Fedora, openSUSE, Ubuntu or any other flavor desktop Linux system, you can easily add KVM or Xen and quickly start spinning up virtual machines.
Particularly good Linux OSes for KVM and Xen are Fedora, openSUSE and Ubuntu. OpenSUSE, which shares a codebase with SUSE Linux Enterprise Server and likewise features the YaST package manager, makes it very easy to install and configure KVM and Xen. Ubuntu isn’t as straightforward to set up, but once deployed, it works well.
One of the advantages of VirtualBox is the fact that it works on Mac, Windows and Linux systems and behaves pretty much the same on all three. It’s quite serviceable, but networking can be tricky and it consumes more resources than KVM or Xen. Still, if you’re not looking to do a whole lot, it can be a good option.
Anyone who’s ever used VMware would feel comfortable with VMware Desktop, a virtualization tool that essentially looks and works like the enterprise vSphere tool. Unfortunately, it’s not free, but you (or your company) may be willing to shell out for it if you’re end goal is to transition to a proprietary product like VMware vSphere. If not, use KVM or Xen.
Though technically not a VM hypervisor, Docker is readily available for any Linux system and can be a light-weight option if you’re working on an all-in-one workstation/lab. Docker can be used to spin up a variety of simple or sophisticated applications atop your main system without adding stuff that might hose your system.
If you have a spare machine that you want to dedicate to a VM host — no desktop — then your hypervisor options change dramatically. This approach is the way I like to go because it allows me to commit nearly all a system’s resources to VMs, not the host operating system and window manager.
Here are some goals and requirements:
- Low overhead so you can commit resources to VMs
- Good tooling that supports real-world type deployments
- Advanced features like shared storage and the ability to move running VMs
After years of using VMware at work, I stumbled across ProxMox and never looked back. It’s far and away one of the best hypervisor hosts you can find, and it’s free to use. You can also pay for support. Here are some features:
- Create VMs of any kind quickly and easily
- Support for multiple network interfaces
- Shared storage, including native support for Ceph
- Easy clustering that supports moving VMs from one physical machine to another
- Native LXC support, meaning you can spin up Linux containers with pre-configured OSes and applications.
This last feature is truly a game-changer because it enables you to run containerized applications without having to host them in their own VMs. Turnkey solutions offers everything from LAMP stacks and WordPress to Jenkins and GitLab.
Many don’t realize that you can download and run the VMware ESXi hypervisor on a standalone box for free. You don’t get all the fancy features of vSphere, but you can readily spin up VMs in the same type environment you might be familiar with as a regular VMware user. It’s enterprise-grade, but not as useful for a lab as ProxMox.
So, which is right for you? For all-in-one solutions, you can’t go wrong with KVM on Fedora, openSUSE or Ubuntu. They’re friendly environments, particularly openSUSE with YaST. For stand-alone solutions, ProxMox is your best bet. It installs quickly and provides a wide array of support for whatever your lab needs become.