Homelab Essential Questions

A server is born 7 minute read Published: 2023-07-26

This post is a preview of the upcoming book, The Homelab Almanac, by yours truly.

Why do you want to build a homelab?

"'Cause it seems fun," is a perfectly valid answer on a lot of levels! Unfortunately, it doesn't provide a lot of information about what equipment we need, or how we'll set it up in our home. For that, we need to dive into the nitty gritty of both intention and circumstance for your future lab.

Purpose

Let's get specific about your goals. What sorts of things do you want to spin up in the lab? Single servers to test software? Full on Windows domains? A couple of networked VMs for automation? All of these are possible to varying degrees on different homelab equipment. We want to rightsize the hardware we acquire so we're not burning electricity we don't need and, conversely, so that we're not squeezed by our lab's limitations after we get everything set up.

Some careful thinking can help us figure out what we need in terms of hardware. First, consider the largest lab buildout you would realistically create, and tally up the resources. Below is an example.

VM NamevCPUsRAMStorage
Router1.5 GB12 GB
Jumpbox48 GB50 GB
Docker Host22 GB30 GB
Windows Domain Controller48 GB50 GB
Windows Domain Fileserver24 GB50 GB
Windows Workstation 124 GB50 GB
Windows Workstation 224 GB50 GB
Grand Total1730.5 GB292 GB

So to run a lab of this size, you need enough vCPUs, RAM, and storage for all at once.

Don't worry too much about "vCPUs" or any other hardware terminology just yet. We're going to cover that in the next chapter! For now, let's examine the grand totals here. This might seem like a lot of resources, but in fact is quite modest for a lab buildout. There are some laptops that can pull this off!

What's important is that you have these numbers in mind as you consider equipment options, so you know you're sizing the purchase correctly.

Networking

Odds are you'll want to connect your lab to the internet—at the very least, to your home network. Do you have the necessary cables, cable drops, and Ethernet ports to make this work? Here are a few things to remember:

Figuring out the networking for your lab before making a purchase will safe you a world of agony. You don't want to be stalled in powering on your new machine just because you ran out of network ports.

Power

How much power will your gear use, and do you have it to spare? With a sense of your compute needs, you can start to shop around and determine what power requirements are going to look like. Keep in mind that power supply ratings list maximum power outputs, and will likely not reflect real-world usage.

Still, this is the moment to consider the electricity infrastructure wherever you intend to host your equipment.

Power is about cost, but it's also about current load. You need to make sure your circuit breakers can sustain the additional current you'll be adding to the circuit. Hopefully you are aware of what circuit breakers do what in your home. Most breakers in US homes are 20 amps, with some 40 amps for large appliance circuits. Check what's already on the circuit, using the listed amperage ratings on the devices or their power cords to add up amps. Then you can use a calculator like this one to figure out what your server will add to the mix. Again, this is a maximum number and your gear will rarely hit this. But big servers will hit this number on power-on, so your circuit's total current draw cannot exceed the breaker's capacity.

Watch out for appliances like air conditioners and space heaters, which tend to draw just ridiculous amounts of current and will make it difficult to stay under your amp budget.

Placement and Temperature

Where's this thing going to live? Under your desk? In the garage? A closet? It's essential to determine what space you have available, and whether it's the right space for your gear.

Temperature is also a concern here. Wherever you put the equipment should be a stable temperature with sufficient airflow to circulate hot air generated by the machine. Even small servers generate heat, and will cook themselves in enclosed spaces. I recommend picking up a small air thermometer and leaving it in the intended location for a day to see what the temperature range looks like.

Servers will often have BTU ratings for their heat output at full utilization. Intel and HP Enterprise publish a formula like:

(Power * Efficiency) * 3.4124 = BTUs/hr

(1 Watt is approximately 3.4124 BTU per hour)

The Power comes from the power supply size, (e.g. 750 Watts), and the Efficiency is a listed statistic about the power efficiency rating of the server. This can be replaced with 1 if not known.

Why is this useful? When combined with a BTU calculator for room heating/cooling (or some idea of the heating/cooling you have in the space already), you now understand what it takes to maintain temperature even if the server is running hot.

It will probably be quite rare to operate your equipment at full capacity. Nevertheless, understanding what it takes to keep your lab cool will save you misery and money down the line.

Risk Tolerance

If you break the gear such that you can't fix it without buying parts, what will the impact be? If the lab is going to run household services, what happens when they go down?

The nature of homelabs is instability. Even if you expect everything to be smooth sailing, components break, or you might have a really bad idea that ends up going hilariously, catastrophically wrong. I've rebuilt my own lab more than a few times, and replaced parts that have failed due to age or manufacturing defects.

The initial outlay of funds is likely not going to be last expense for the lab. So you have to ask yourself what you're willing to spend when things go wrong. But beyond monetary impact, you need to consider data and service availability and integrity.

If you plan to run a service like Nextcloud, or a personal Fediverse instance, or anything else with data you care about, your homelab should absolutely involve a backup plan. Whether that's an onsite storage solution like a NAS, or a subscription-based cloud service, or both, is up to you. But don't rely on the lab by itself to save your data indefinitely.

This might seem like a joke, but it absolutely is not. Depending on how large a server you are about to acquire, you'll be asking people you live with to tolerate a bulky, noisy piece of equipment that may not have any value to them. You may even have designs on letting it manipulate network traffic they produce. Consent for that is not optional. But even if you're not planning to use the lab for "production" use at home, I advise discussing your plans with anyone with whom you share space or finances.

Prior Preparation/Measure Twice, etc.

I know this part is no fun at all, but trust me: a little planning and prep can save a lot of headaches once the gear arrives. You'll want everything in place to get your lab up and running.