Building A Kick A** Home Lab - Part 1 Hardware

Building A Kick A** Home Lab - Part 1 Hardware

For years now one of my hobbies has been my home lab, it is a hobby I have been doing since I was 13 years old or so. I have many fond memories of hosting Counter Strike Source, Minecraft, and other game servers for my friends and I to play on. Not only was it beneficial but it was also educational. It provided a playground for me to truly learn without worrying about breaking something.

Like many others, I started out with a computer under my desk. This grew into an obsession that would later become a half-rack in my basement with several servers and enterprise networking gear. If you are new to the tech industry or a long time veteran I encourage you to give it a try. It doesn't have to be anything extensive and can be a lot of fun.

Today, I will go through the first part of a series of blog posts on how my home lab was created and is managed. This is an enjoyable blog post for me and I hope you get something enjoyable from it as well!

Now, before diving into the blog series I will break out into three categories. "Entry Level", "Mid Level", "Advanced Level". I will try my best to provide information regarding each category as I go through the blog.

Entry Level

To me entry level is comprised of the following.

  • Not looking to spend much if any money.
  • Have a few services you want to create and run while testing or learning, and shut them down after use.
  • Learning and or getting a hang of infrastructure and software.

Mid Level

  • Okay with spending some money $0-200 range.
  • Have a handful of services you would like to be constantly running.
  • Would like a playground you can experiment in and destroy resources when done.
  • Don't want an exuberant power bill.

Advanced Level

  • You want to spend more than $200.
  • Want to run multiple services constantly.
  • Want a playground to experiment, destroy, and recreate at will.
  • Okay with having an uptick in your power bill.

Compute Hardware

For the past 8 years I have been working in the public cloud almost exclusively. I would be lying if I said I didn't miss the smell of a data center, arrival of new hardware, racking of a server, the very tangible element of computing that I began my career in. It maybe the reason why I continue the fools errand of managing my own infrastructure and private cloud at my house.

When looking for what hardware to purchase it is important to know your budget. I would advise not spending more than ~$300-$400 per host unless you really want to go all out. The "poor-mans lab" used to be using Raspberry Pi's, however I think that is no longer the case. With the average price of a usable Raspberry Pi being ~$71, you have much better options with some research.

Entry Level

In the entry level space I would recommend using a computer you already have. Chances are what you want to do can be done by hosting virtualization software like Virtual Box and Vagrant. If you start to learn more and enjoy what you are doing I would consider moving into the mid level category.

Mid Level

  • Used Dell Optiplex 5040 - Desktop (~$130)
  • Used Dell Optiplex 7050 - Ultra Slim Desktop (~$78)

Use Ebay to find used business computers. The specific models above are decent at the time of this blog post. Often the ultra slim desktops are the most economical. They are nice if you are concerned with space and power usage.

Advanced Level

I always start with LabGopher, as it polls from Ebay. LabGopher provides you a value rating known as the "Gopher Grade" for the piece of hardware you are looking to buy. When utilizing the tool, make sure to select the appropriate "Ship-To Region" before filtering for something suitable.

If you can't find what you are looking for on LabGopher try checking Ebay directly. Something like a Dell R720 or 630 will be a pretty good entry level rack server. I casually peruse Facebook Marketplace and Craigslist, these often don't have many great deals but every once in a while you may find something. Especially if you live near a city.


Virtualization & Hypervisor

To get the most out of your money it should be obvious that you would want to use virtualization to your advantage. If you are an entry level user there is absolutely nothing wrong with using Virtual Box, Docker Compose, Vagrant, etc. to host and learn on. If you are looking for some more stability it is probably worth looking into utilizing something such as Proxmox (https://www.proxmox.com/en/) .

This applies to both the mid & advanced levels. For me Proxmox has taken the cake. The community is large and the software is open source. Think of Proxmox as the "free" version of VMWare ESXi. If you are looking for a solid hypervisor definitely check it out.


Network Hardware

Entry Level

There isn't really anything that is required for entry level network hardware. The best advice that I can give is to learn what you have. This means understand how networking works, learn TCP/IP, subnetting, and generalized networking.

Mid Level

Start to configure your network in a more advanced capacity. This might be segmenting your home lab from your private network. Or segmenting your private network from IoT devices. Another great way to learn is to utilize firmware such as DD-WRT. This is an OpenSource firmware that can work on a variety of routers. By flashing your router with this firmware you unlock much more capability than standard consumer grade offerings.

Advanced Level

Consider buying enterprise networking equipment. Like everything else you can likely get away with a generation or two older than what is out there. This can be Cisco, Netgear, Ubiquiti Etc.

Personally I have been utilizing Ubiquiti heavily for the past several years. This has offered the advanced capabilities of Small-Medium Business enterprise networking equipment without the large price tag.

Something like the UDM (Unifi Dream Machine) can offer an all-in-one solution for you to setup advanced features of your network for your home lab.


Next: Part 2 Software

In part two of the blog series I will be going over the software that I have deployed in my home lab. I hope that you enjoyed this short part 1 blog post. I often take for granted information I have gathered over the years so doing write ups such as this is cathartic to me as much as it is informational.

In the next blog some of the topics I will be are:

  • Kubernetes
  • ArgoCD w/ Helm
  • Grafana
  • Prometheus
  • Authentik Identity Provider



要查看或添加评论,请登录

Spencer Conklin的更多文章

社区洞察

其他会员也浏览了