Spread the love

I have found that a very valuable asset has been having a homelab. After doing a few Google searches on why to have a homelab, found endless reasons.

In my teen years, I got interested in Linux. Unfortunately, I started with CentOS and did not have a very good first time experience, especially since CentOS is mainly for servers. However, my scout master was able to direct me in the right way towards Ubuntu, which had a good desktop experience. After this, I began to learn a lot about how to administer and configure linux to the point I was modifying the kernel so that certain drivers would work on my laptop.

At some point during the Linux experirence, I began to do web programming. My first site was Space Adventurer, a fictional science fiction wiki, complete with a space background and space themed music. It was written in HTML only. After that, I found that I needed something to keep track of all my electronics. To solve the issue, I created eNventory. It was written from scratch using MySQL as the database. More recently, I have been looking into using Laravel for this system.

All this time, I was mainly using Linux on my computer and my scout master’s server to host my public sites. There was no dedicated server beyond this. After I graduated and got my own house, I determined to get a static IP and a server so that I could host my own stuff. I figured out what companies would give a static IP without having a business account. I bought a server and made a rack, which you will see below.

My Initial Setup

After doing some research, I determined that I wanted to get a rack-mount server that had plenty of memory and 3.5 inch drives. The Dell PowerEdge 710 LFF Server fit this criteria. Memory was cheap ($12 per 4GB stick). My initial configuration had 6 4GB sticks, giving me 56 GB of memory. The 3.5 inch drives were common and therefore cheap as well. I also got a Cisco switch to act as the center of the network. After looking at several options, I found that ProxMox met my needs the most, especially since it had a web interface out of the box and did containers.

For my network, I initially used used a Netgear router with DD-WRT on it, but soon setup a OpnSense (A more open version of PfSense) VM. From there, I was able to setup several VLAN’s to segment my network. I also setup a UniFi AP to give good service – I even put it on the ceiling in the middle of the house.

The original rack
My initial basic rack.

My Current Setup

A newer image of my rack
  • Servers
    • Dell R710
      • 2x Xeon X5670 Hex-Core @ 2.93GHz
      • 72GB Memory
      • 6x 1TB SATA drives in a RAIDZ1 (RAIDZ1)
      • An HBA instead of a RAID controller.
    • Dell R620 (Not in old picture)
      • 2x Xeon E5-2630v2 Hex-Core @ 2.60GHz
      • 96GB Memory
      • 2x 150GB 10k SAS drives for OS (Raid 0 via PERC H310)
      • 6x 60GB 7.2k SAS drives for data (RAIDZ1)
    • Dell OptiPlex 7020
      • i5-4590 @ 3.3GHz
      • 16GB memory
      • 2x 256GB SSD’s in a ZFS MIRROR
  • Networking
    • Cisco 2690X POE+ in closet for powering devices
    • Cisco 4948 for top of rack switch
    • UniFi AC Pro Access Point
    • UniFi AC Mesh Access Point
    • UniFi Flex Camera

Servers are running Proxmox as their hypervisor. At some point, I enclosed the rack and ensured that the airflow was correct and went through a furnace filter on the bottom. I plan on expanding the rack, making it taller to get it at desk height and to do something better with the cables, networking, and noise.

What I Learned

Homelabs can be extremely valuable. They serve two purposes – personal development and private home services.

On the personal development level, you get to test and learn new technologies without having to get permission from work, especially when it is outside your job responsibilities. I personally have enjoyed figuring out new technologies and setting up a virtual enterprise environment. This enables me to test and speak authoritatively that something will or will not work.

On the private home services side, a homelab gives you abilities and services most homes do not have. I personally enjoy having an advanced firewall, file storage, and the ability to host game servers.

I have learned a few recommendations on getting switches. 1 – I highly suggest getting a managed Cisco Catalyst switch, as they are the standard. UniFi switches are nice, but should only be used if you have the money and don’t want to learn networking. When getting any switch make sure you are getting something that is less than 10 years. Anything older will not have enough life in it. When getting a cisco switch, I would highly suggest getting one of the common CCNA switches (2960, 2960S, 2960X, 3960, etc).

Technologies Tested

  • Proxmox – instead of VMWare or Hyper-V which have no web interface out of the box
  • OpnSense – a more open fork of PfSense
  • NextCloud – a more open fork of OwnCloud, an alternative to Google Drive.
  • Samba
  • GitLab
  • Web Servers – nginx and apache
  • Databases – postgresql, mysql, elasticserach, mongodb, redis
  • Languages – PHP, SQL, Python, Ruby, JavaScript
  • Datacenter airflow management
  • Kubernetes

Other Homelabs

https://b3n.org/homelab-ideas/