2020 Home Lab

2020 Home Lab

February 15, 2020 1 By Eric Shanks

My home lab has been a critical tool for my ongoing education. The cloud has offset some of the home lab in recent years but the equipment I run in the house gives me a stable environment where I can play around with pre-spent dollars. Learning using all cloud resources may be cheaper, but each thing you try out comes with a cost. My on-prem lab has already been paid for (except power consumption of course) so I can test whatever I want, when I want and I can leave it running if I don’t finish. It also lets me run vSphere which is still near and dear to my heart. Here’s whats in the home lab for 2020.

Networking

Storage

For Storage, I have a tiered system. I have an eight bay Synology array used for virtual machines and file stores. Then I have a secondary Synology used as a backup device. Important information on the large Synology is backed up to the smaller one, and then pushed to Amazon S3 once a month for an offsite.

For machines I’m building over and over and want fast performance, I have a VSAN datastore with linked clones. This lets me spin up linux VMs in about 90 seconds from template.

  • vSphere Storage Array: Synology DS1815+
    • 8 TB available of spinning disks with dual 256 GB SSD for Caching
  • File Storage and Backup Array: Synology DS1513+
    • 3.6 TB available of spinning Disk
  • All Flash Virtual SAN:
    • 2.6 TB VSAN datastore

Compute

The compute section always seems to be changing depending on what I’m working on, but my main cluster is made up of three whitebox nodes. The cluster resources are shown below.

I also have two other machines used intermittently. Maybe I’m simulating a secondary site or something and will rebuild those nodes as I need. They don’t have as much memory though, only about 64GB in total between them so they are used sparingly to save power.

Battery Backup

My battery backup solution isn’t super robust, but gives me enough time to power down my servers if something was to happen. The other benefit of having this is that my lab is on wheels. If I’m willing to disconnect the Internet cable for a bit, I can wheel my lab across the room and plug the power back in.

UPS: CyberPower 1500 AVR

Solutions

In the past, I was running a lot of different solutions. Nowadays, my home lab is a bit smaller and only runs what I need. I typically deploy Kubernetes clusters in my lab but there are a series of tools that are handy to have around for my job.

  • Jenkins: I store all my jobs in Jenkins so I can quickly rebuild my lab. Deploying Kubernetes clusters, setting up apps, etc.
  • Domain Controllers: I’m still running a pair of Microsoft AD Controllers. Everyone loves AD right?
  • Certificate Authority: Every once in a while its nice to have your own Certificate Authority. So I’m hanging on to mine.
  • vCenter: It’s a VMware lab. Must have vCenter.
  • Kemp Load Balancer: Sometimes you need a load balancer to test things out and Kemp provides a free one for vExperts.
  • Sonarqube: Just for some code coverage and analysis testing for one of my apps. Really this is just for fun.
  • ADFS: When I need to federate logins, I have an ADFS server to use
  • Harbor: Its nice to have your own image repository. Harbor is my pick.

The rest of my solutions have been moved to the cloud. I used to have my own bitbucket server, but moved it to hosted options. Jira has been removed from the lab since I wasn’t using it.

I’ll also be adding some new projects later this year when new versions are released from VMware.

Rack

The rack is homemade. I put some time into building my own rack which fit the size of my computer cases. Putting the rack together myself let me add a few features that you won’t get on a normal lab rack.

First, its on wheels. Big deal right, most labs are on wheels, but my lab actually uses the wheels after its been put in place. I can roll the lab around so I can get to the back of the equipment if I’m working on it. This makes the lab fit up against the wall normally and I can pull it out when I need to connect cables or something.

Second, ITS ON WHEELS! Since I have a Batter Backup, I can unplug my lab from the wall, and move it someplace else if I need to. The only tether is my Internet connection so I would have to disconnect that temporarily, but my workloads can keep running even if I do that. This has been a handy feature in the past.

Also, it’s been beautified. 🙂 I’ve painted it (hollow) blue and put up a whiteboard on the side. That whiteboard is really handy when you’re trying to remember addresses, or want to sketch out a config you’re trying out.

Cloud

I’ve decided to use Amazon as my preferred cloud vendor. Mainly because I’ve done much more work here than on Azure. My AWS Accounts are configured in a hub spoke model which mimics a production like environment for customers.

I use the cloud for backup archival, and just about anything you can think of that my homelab either can’t do or doesn’t have capacity for. I like to use solutions like Route53 for DNS so a lot of times my test workloads still end up in the cloud. Most of the accounts below are empty or have resources that don’t cost money, such as VPCs.

My overall monthly spend on AWS is around $35, most of which is spent on the VPN tunnel and some DNS records.