Get the right components for your home lab VM
Home lab VM setups are helpful to test technology and build VM management skills. Be sure to evaluate RAM, CPU, network speeds and management software for a successful deployment.
Home lab VMs are beneficial for testing new technologies for both work and personal use. Even so, building a virtualization host for home use is something of an art form; you must select just the right hardware and software components to get excellent VM performance.
The first step to build a home lab VM is to decide which hypervisor you should use and get an idea of what type and how many VMs you would like to run. This step is crucial to finding hardware that will support your virtual machines.
Essential components of a home lab VM
There are two common mistakes to avoid when you select hardware.
First, make sure the hardware you consider supports your hypervisor. Some hypervisors work with almost any product if the CPU allows for hardware virtualization; others are extremely picky about hardware.
Second, don't skimp on memory and storage. Memory (capacity) and storage (performance) have a greater effect on VM performance than any other hardware resources.
When admins deploy virtualization hosts in the data center, they almost always use true server-grade hardware. In the case of a home lab, however, you can often use PC hardware or professional workstation equipment. Both options can save up to thousands of dollars.
PC hardware is the least expensive option and PCs are now sufficiently powerful to allow you to build a decent virtualization host.
Workstation-class hardware gives you server-like configuration options such as multiple physical CPUs and error-code correcting memory, but without incurring server-level pricing.
When you build a virtualization host, the host's CPU resources are shared among the VMs that run on the host. As a best practice, look for fast CPUs with lots of cores.
When you select a CPU, pay attention to the CPU's generation. A 10th-generation Intel CPU is typically faster than a 7th-generation processor, for example. This is because each generation incorporates new architectures, memory cache technology and possible functions.
Whichever CPU you choose, make sure that it supports hardware-level virtualization.
RAM is one of the most important considerations when you choose hardware for home lab VM. A server's RAM is ultimately one of the factors that limits how many VMs your virtualization hosts can run.
There are two main criteria to consider when picking out RAM: speed and quantity. For a home lab virtualization host, quantity is usually more important than speed.
The server's system board dictates your memory options. You must check the documentation to see what RAM speeds and quantities the system board supports. If your budget allows, it's a good idea to install as much RAM as your system board supports. Even if you don't need it all immediately, you will likely use it in the future.
Storage is the most important consideration when you choose virtualization host hardware. While it is true that you require sufficient storage capacity to accommodate all of your VMs, the storage must perform at a level that allows it to handle all of the VMs' requests for IOPS.
SSDs have a reputation for being fast, but a single SATA SSD typically only supports two or three VMs before performance begins to noticeably diminish. But this does heavily depend on your VM workloads.
Consider storing your VMs on RAID arrays that consist of multiple SSDs. As an alternative, you might evaluate NVMe storage because it outperforms SATA storage.
Base your choice of hypervisor on what you are comfortable with and what your budget allows. For example, if you are well-versed in Microsoft Hyper-V but know relatively little about VMware vSphere, then it makes more sense to deploy Hyper-V.
Keep in mind that there are multiple Hyper-V deployment options. You can deploy Hyper-V as a Windows Server role, or use Hyper-V Server, which is the free version of Hyper-V. Another option is to deploy Hyper-V as a part of Windows 10, but this version of Hyper-V lacks a few of the options found in Windows Server.
Hyper-V and vSphere are not the only options; another popular option is Linux KVM, an open source hypervisor.
Your home server requires network connectivity for VMs to access the internet and other resources on your home network. When you evaluate your network requirements, remember that not all hypervisors work with Wi-Fi.
At the very least, equip your virtualization host with a wired Gigabit Ethernet (GbE) connection. Most home Wi-Fi routers include four or more wired Ethernet ports, so you probably won't have to invest in a network switch unless you need more ports than what your router provides.
The virtualization hosts that businesses use are typically equipped with multiple network connections. One network connection might be reserved for management traffic, while another handles VM traffic. If you build a failover cluster, then also reserve a network adapter for cluster traffic.
GbE is usually the go-to networking option for home VM labs, but it isn't the only option. Prices have dropped on 10 GbE hardware. Ten gigabits is probably more than enough for most home labs, but you can futureproof your lab if you deploy it at the outset.
VM management software
Be sure to consider VM management software. VMware vSphere and Microsoft Hyper-V come with everything that's necessary to create and manage VMs, so you won't need to invest in any additional software if all you need is basic management capabilities.
The major hypervisor vendors do offer supplementary management tools designed to simplify managing large-scale deployments. For example, VMware offers a management tool called vCenter Server. Microsoft offers System Center VM Manager. There are also third-party options available.
You might decide to invest in such software if you build a large-scale lab with multiple VM servers or multiple virtualization host clusters. You might also purchase management software if you decide to use the lab as a setup to become proficient in server virtualization.