What Is A Homelab (SPOILER: It's An Amazing Learning Tool)

While it is fun buying new things and opening boxes of new hardware, it’s important to remember that a homelab is a learning tool. My homelab has helped me prepare and learn for my career more than anything else I’ve done.

A lot of people look at posts/pictures on r/homelab and just dismiss it because they don’t have $3k to drop on a rack and fill it with the basic equipment that they need to get started.

I want to show you how to do it without spending a fortune. The point of a homelab is to teach you what you need to know to get a job. That isn’t hard to do if you are willing to put in the time and work.


Start small

You don’t need to buy everything at once. Before I was a system administrator my setup was something very similar to the pieces of equipment listed below.

I started with the original Raspberry Pi. They were almost impossible to get when they were first released. The majority of people that bought the original Raspberry Pi fell into 1 of 3 categories.

  • Bought Raspberry Pi > Sold on eBay for crazy amount to someone that wanted to install XBMC
  • Bought Raspberry Pi > Put Raspberry Pi in junk drawer
  • Bought Raspberry Pi > Followed tutorial to install XBMC > Something went wrong > Put Raspberry Pi in junk drawer

Raspberry Pi 1 had far less horsepower than newest generation Raspberry Pi 3 B+. It’s amazing how far they have come. In my opinion, the Raspberry Pi in 2012 was too underpowered to run XBMC without a bunch of frustration but that didn’t stop people from doing it.

I took a beginning Linux course at a community college near me when I first started out. With the Raspberry Pi at home, I had pretty much everything I needed to begin my career as a Linux system administrator. I would take what I was taught in my class and just try things with the Raspberry Pi when I got home.

Would learning have been easier and more efficient if I had VMs? Probably, but I didn’t even really know about and/or understand VMs back then.

If I screwed something up on the Pi I either had to figure it out or I had to reinstall Raspbian. Sometimes I figured it out. Other times I got more practice using dd to copy Raspbian to the SD card. Either way, I was learning and that’s the intended purpose of my homelab.

The external drive was obviously used for storage but it also helped teach me about file systems and mount points. I learned that /etc/fstab could mount things for me automatically on boot or manually if I ran mount -a.

My point here is that even without an expensive VMware cluster in your homelab, you can and will learn if you put in the work. You may even learn more in some cases. For example, I wouldn’t have experience with the dd command if it weren’t for using a Pi in the beginning. I am grateful that I did because I’ve used it many times as a system administrator.


Upgrade

When it comes time to upgrade just save for things that are most important to your career path. What will benefit you the most?

After a while my first Pi was a dedicated server that I used to rsync backups from my workstation to the external drive on the Pi. This may sound simple but I was just a beginner with very little experience on the Linux CLI. This project taught me about rsync, ssh, ssh-keygen, ssh-copy-id, gzip and crontab.

That was also my first foray into bash scripting. I really had fun building scripts to that did things for me. I decided that I wanted to learn Python next. I bought another Raspberry Pi, some light sensors and a laser module. I turned a mini basketball hoop that was on the back of a door into an arcade game. It took me a long time to get it working and even had to get some help from someone in my class who was an experienced programmer. I kept at it and it eventually got finished. I would try to build every stupid idea that came to mind. All I needed was the Pi and a few other electronic parts. A lot of sensors and resistors and other parts cost much less than $1 each. It’s easy to get started on a project with little or no money. When you are done with a project you can repurpose everything on your next.

Just be resourceful. Check Craigslist in your area for old enterprise equipment being cleared out. Check local colleges to see if they give away or auction old gear. My first server was an old shitty HP ProLiant DL380 purchased through Craigslist from a guy running Ubuntu on bare metal. Not sure what he was doing but I wiped it and installed VMware ESXi. I learned a lot about over provisioning VM hosts and the consequences pretty quickly in VMware. Later on I found some more RAM on eBay for cheap. I installed it so my VMs had more resources.

All of this helped prepare me for things I would encounter in the real world when I got a job as an actual system administrator.

I use Amazon Web Services(AWS) exclusively at work now so I don’t really have a need for knowing how to rack and stack hardware anymore but it doesn’t hurt. I now use Proxmox for my homelab virtualization instead of VMware.

Either way, there is no reason you shouldn’t be signing up for the Amazon Web Services Free Trial. No, I don’t get any commission from that link. It’s just a great resource. You get 12 months free to play with the same exact tools that large corporations use every day.

If you get to this line and you haven’t signed up for that trial yet, you are the reason you don’t have a job. This field is great because it doesn’t require a degree. You can work in this field just by knowing how to do the job. No pointless piece of paper needed. What a concept…You just have to put in the work.

gif


I guess that is the end of my rant post. The point is that there are a ton of resources out there for learning. You don’t need a trillion dollar data center running in your guest room to learn enough to get a job as a system administrator. Start small and just keep upgrading as needed.

With that said, here is a link to my current homelab setup.

This site doesn’t run in my homelab. It is an S3 static website. Check out this post to see how it all works.


  1. I’m pretty sure I used an old cell phone charger that I had laying around. [return]
  2. Raspberry Pi 1 used regular sized SD cards. SD cards were also more expensive when the original Pi was released. [return]
  3. At the time I couldn’t afford a nice external drive like this. I robbed an old computer of it’s internal hard drive and put it in an external enclosure like this [return]