While organizing all of my family’s 31,000+ digital photos, I came across a few pictures of my lab in different configurations. This post is a detail (as much as I can remember) of the evolution of my homelab.
I guess version one was probably the row of three Dell Optiplex GX180s that I had on the shelf in my room in fifth and sixth grade. I was not able to find any pictures of that, but I will be sure to post it if one does turn up.
This started in the corner of my parents’ bedroom, as that was the only place where the DSL modem was, and I didn’t want to use WiFi. This setup moved to the basement (as shown) when I did some rewiring and moved the DSL modem to the basement. I don’t remember everything I was hosting here, but I do remember that one of the Dells was hosting an asterisk PBX, and theother was hosting DNS/DHCP, and the Sony Vaio (center, grey) was hosting my VPN. That LaCIE disk array never worked. I found it at the recycling center. The Intel hub was a bit shit, but it was free from the recycling center, and got the job done.
I had a nice shelf upgrade between version two and three. The laptop (found at the recycling center) became my asterisk host, the Sony Vaio became my MySQL server, one of the Dells on the upper shelf to the right remained DNS and DHCP, but took on the role of VPN. On the lower shelf, the dell Dimension E310 (far right) was the backup server with two WD 3TB Red drives in RAID1, and I don’t remember what the others did. I think I used them to learn about Proxmox clustering. The only issue was that the CPUs were only powerful enough to run one KVM VM at a time, but I started to learn about containers around here, and started using those a lot. Everything was connected with that 3com 12 port gigabit switch.
Obviously some major improvement here. These are three Dell PowerEdge 2950s and one PowerVault MD1000. Not much has changed hardware wise since now, mostly just software. Here I only actively used two of the machines at any given time. The middle 2950 is my file server, and has a direct connection to the MD1000 for storage. The MD1000 holds six two terabyte Hitachi drives in RAID5 for a total of 9.1 TB usable. The top 2950 handles any miscellaneous virtualization tasks that I need, like Asterisk, a SoftEther VPN server, MySQL, and a few others. The third 2950 was a dedicated Tekkit server, and was only powered on when it was needed. (Never ran out of RAM!) The file and Tekkit servers had 8gb of RAM, and two dual core 2.33 GHz Intel Xeon 5140s (they were identical) machines. The virtualization server rocked 16gb of RAM and two dual core 3.0GHz Intel Xeon 5160s. Everything was connected with that 3com 12 port gigabit switch.
Like I said, little has changed in terms of the hardware configuration since version four. The big difference is just how everything is stored. I built this wooden rack myself out of some spare 2x4s that I had from another project. The top 2950 is no longer used, and the RAM has been removed. (Added to the file server). The bottom server is the origional file server, hosting Samba, Netatalk (for time machine backups), and NFS, but it also hosts all of my Docker containers, along with my WeeWX powered weather station and Plex server. My Docker containers host: MySQL, this website, http://millsconnor.com, Piwik analytics, LDAP, a password manager, an API I wrote for accounting, a script that keeps checking my external IP, and a couple of other miscellaneous things. This machine can get quite busy! The bottom 2950 is my KVM server. It hosts an Asset Management web app that I wrote, FreePBX, GitLab, LibreNMS, OnlyOffice Document Server, Turnkey Torrent, my webapp server, ToDo list app server, and all of my development VMs. This machine is also generally very busy… I have plans to consolidate all of this into one R710, and better separate services with KVM and Docker. Certain things are disorganized and are eating up too much system resources as a result. Things like the password manager, Piwik, ToDo lists, OnlyOffice Document server, and Asset Management Systems are all web apps, and should be a part of the webapp server. I plan on using FreeIPA to manage SSO, fixing my LibreNMS, among other things… Much change is on the horizon!