Building a Homelab

From Project Homelab
Revision as of 17:00, 31 July 2020 by Travis (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Introduction

This section of the site deals with the multitude of options you have available to you when you come to design, procure and build your homelab.

Once you have gathered your requirements, the next step wil most likely to be decide on which category of homelab suits you best, and subsequently you can follow the links below to find out information about your different infrastructure options.

Compute

Assuming you don't go for a Cloud Lab, then for your compute layer, you have two very simple options; build or buy.

Much like when procuring a PC, if you choose to buy from a known (or unknown!) vendor, you may be able to get a decent price for the overall solution, though the level of flexibility after you have unwrapped it may be limited. The biggest advantage to building your own is that you can choose every single component which goes into your hosts, individually. This can of course be a pain if you want to make sure you have every component fully supported by your favourite hypervisor and version, but then again with great power comes great complexity! :)

Vendor Style

Here you have three very simple options. Rack mount, Tower, or Small form factor. There is one other bonus option which is Laptop/Notebook, and if you need this, you will most definitely know it (for example SEs and Road Warriors love to carry a demo lab with them at all times!

Popular / Recommended Vendor Servers
Small Form Factor & Barebones PCs Vendor Towers Vendor Rack Servers

Whitebox Servers

AKA Roll your own!

Popular / Recommended Cases
Whitebox Desktop/Tower Cases Small Form Factor Servers Whitebox Rack Cases
  • Supermicro SC505-203B

Lastly, once you know what case size you like, you need to decide what kind of motherboard will fit into it! Here are a few examples which have been tried and tested by the community:

A full list of tested Whitebox Homelab Motherboards is available here:

Processors

When choosing a processor, the use case for your homelab will determine if the processor is a good fit. Make a list of functional requirements and choose the processor that handles these. Since memory will be the most likely bottleneck when running multiple virtual machines, don't get to carried away finding the most powerful processor.

General rules of thumb Newer processors are build using a smaller etching method. This means the processor will use less power. Newer processors contain newer instruction sets. AES, memory table virtualization and h264 video processing are a clear example of instructions that speed up some of the workloads. Since using an instruction set requires the right drivers and software, your mileage may vary. If your workload benefits from an instruction set, you'll see both power savings and increased performance.

For convenience sake, we'll split up processors into three groups:

  • Small - maximum of ~16GB RAM
  • Medium - Maximum of 32GB or 64GB RAM
  • Large - everything over 64GB RAM

Small processors

Are usually designed for low-power devices such as NAS appliances, TVs and mini-notebooks. Newer versions of these kinds of processors (such as the Intel Braswell and AMD AM1 Kabini) are quite capable, but no speed devils. If you're going to build a machine that will be on 24/7 and perform relatively easy tasks (router, NAS, containers, home automation and/or home security) these are the best fit for the job. The power usage of the small processors group is pint-sized. The cheapest versions of these will be soldered to the motherboard and generally do not support more than two memory slots with a limited amount of memory.

Medium processors

Contain your average desktop PC processors and derivatives. Great performance when you just want to build a fast homelab to test or use a moderate amount of workloads. Think Intel socket 1150 and AMD socket AM3+. A general maximum for these kind of processors is four to six cores and 32GB or 64GB RAM. They come with the most up-to-date instruction sets and can have high core clock speeds (up to 4GHz). Motherboards for this type have one socket to place your processor and two to four memory slots. While these are perfectly capable and, with some care during your build, reasonably power efficient, they have an upper limit to the amount of workloads that they can handle simultaneously.

Large processors

These usually fall into the enthusiast, workstation or server grade processors. Think Intel socket 2011-3 and AMD Opteron. While these processors don't use a lot of power in idle mode, the amount of cores and addressable memory can handle much more workloads than the medium processors and can draw a significant amount of power out of a wall socket. Most of the processors in this category can be placed onto a multi-socket motherboard. This type of motherboard houses two or four processors. While all this raw processing power is awesome, don't forget your functional requirements. Burning lots of Watts might not be such a good idea when the money could buy you faster/bigger storage, more networking or more memory.

Storage

The main storage category can be found here. Articles include:

Networking

Power, Cooling and Noise

Hypervisors

Licensing

The Cloud