HomeLab Part 1 - The Fellowship of the PC
Ever since I was younger, I’ve always liked to make the most out of the electronics and computing devices I’ve had. Why settle for just what the manufacturer or designer intended the device to be for, when the device is capable of so much more? Have a midrange laptop for “coding”? Why not run multiplayer game servers on it? Have a basic wifi router? Why not run a VPN server on it? Have a non-potato phone? Why not use it as SSH client and proxy?
For college, my parents bought me a Dell Inspiron 17R Special Edition, a 17.3” class multimedia laptop with a quad-core Intel i7 3630QM, 8GB of RAM, and a mid range NVIDIA GT650M GPU. This laptop was a great purchase - the 17” class allowed Dell to provide not one but two internal 2.5” SATA3 HDD bays, along with a SATA2 optical disk drive, and an mSATA2 SSD slot. The Skullcandy mini-subwoofer, with a lot of tuning, provided great audio for a laptop, and while I couldn’t get the 1080p screen variant, the 1600x900 screen was a treat over the mainstream 1366x768 laptop screens of the time. Cooling was great, and the touchpad was reliable. The only downside was a 100mbit LAN port instead of a gigabit port, but other than that, the laptop served me well. It’s still in great condition, with an upgrade to 12GB of RAM, a 250GB Samsung 850 Evo SATA SSD, and two more 1TB 2.5” HDDs in the internal SATA ports (who needs DVD drives anymore?).
I spent a lot of time browsing reddit.com/r/homelab/ and the like, in awe of the cool things people put their hardware to use for. Spending 4 years in college with a mainly a laptop and a Raspberry Pi 2B+, meant learning how to do everything I wanted, on just these devices. After graduating, I indulged myself in setting up a good lab at home, to satisfy my interest in tinkering and DIY, and to further my SRE skills. This is a set of long overdue blog posts about the setup and how it developed over the past year. People who know me in real life may notice that a lot of it mirrors my ~partner in crime~ friend illustris’s journey, since we undertook it together.
After years of using admittedly good value, performant laptops, I knew I wanted to build a desktop system, to dabble in things my laptop was falling short for. As soon as I moved home to Mumbai, I set out to build a “future-proof” system - the parts and a bit of reasoning follow. I bought all my parts from a friend-recommended retailer, Computer Selection.
CPU: Ryzen 7 2700X
AMD has been coming up fast on a slumbering Intel, with competitive CPUs providing much of the single-threaded performance of Intel CPUs, and a refreshing move to higher core counts in mainstream desktops. Intel wanted your left kidney for a high end 8 core CPU, with miniscule generation-on-generation IPC and technology improvements. Couple that with the Spectre and Meltdown family of exploits which hit Intel harder than AMD, and I and Illustris decided Team Red was a good option for an upgradable and flexible PC. The AM4 socket was also promised to last a couple of generations further, but I wanted the best CPU possible for it at the time, to not have to think about an upgrade soon.
Specs: 8 Core/16 Thread, 3.7GHz base, 4.3GHz single-core boost, 105W TDP, 16MB L3 cache
Motherboard: Asus Crosshair VII Hero
Intel’s platform had had the upper hand in feature-packed motherboards for a while, but with AMD putting up a good fight, motherboard manufacturers were happy to level the playing field. The Crosshair VII Hero was the mainstream top-end motherboard for AMD’s X470 platform, with a well supported RGB ecosystem - Asus’s AuraSync. Everyone knows RGB makes your PC faster, so this was an important factor ;). The C7H also promised to be great for overclocking, had a great UEFI bios, and ticked all the DIY-friendly boxes (check out the specs sheet!).
Features: ASUS AuraSync, two Addressable RGB headers, two 12V RGB headers, 3 PWM fan headers, AIO Pump header, ASUS QCode LED, USB Bios Flashback, custom watercooling loop support, etc.
The fastest RAM I could find at the time, 3200MHz at CL16-18-18 latency. Since Ryzen’s performance is linked to RAM frequency and latency, this was important, but it’s not easy getting faster RAM modules in India (even 3200MHz - CL16-16-16 was unavailable).
Specs: 3200MHz CL16-18-18 @ 1.35V, Asus/MSI/Gigabyte/ASRock RGB compatible with 5 LEDs per stick
Graphics card: Asus Phoenix 1050Ti 4GB GDDR5
This build was in July 2018, and Nvidia’s 1000 series of graphics cards had been out for about 2 years at this point. Their next generation was likely around the corner, and I wanted to use the upcoming months to gauge what I really needed. My budget was also limited, and so I settled on the midrange 1050Ti to hold me over until the next generation.
Specs: 4GB GDDR5, 768 CUDA cores, GPU Boost Clock: 1392 MHz, Base Clock: 1290 MHz, single fan, no auxiliary power connector.
Case: Gigabyte AC300W r2
This case looks entry/mid level, but I liked it for features rarely seen in this category - front USB C, support for 6 fans, PSU shroud, pretty good RGB, detachable magnetic dust filters.
I’m a bit of a /r/DataHoarder/ at heart, and the X470 platform has a dedicated NVME x4 connection to the CPU. While I intend to have much more media storage down the line, I decided to start with a reasonable 4TB HDD for documents and games, and the well respected Samsung 960 Evo NVME SSD for the boot disk.
PSU: Corsair CX650M
Honestly, I didn’t investigate this choice much, this was the most common semi-modular 650W range PSU, it was at a reasonable price, and it would definitely cover even an overclocked 2700X + top end GPU.
Specs: Semi Modular, 650W, Rating: 80+ Bronze Certified
Network: TPLink TL-SG108E
My home apartment poses quite a bit of complexity in the network department, which is a story for a future blog post. I picked up a couple of TPLink “Easy Smart” 8 port Gigabit switches. At the time, all I needed was basic VLAN support, so this would do the job well.
Specs: 8 10/100/1000Mbps RJ45 Ports, upto 32 VLANs, MTU/Port/Tag VLAN, fanless, metal body, Web configuration GUI, IGMP Snooping V1/V2/V3, 2 2-port Link Aggregation, Port Mirroring, Cable Diagnostics, Loop Prevention