radon: The "low-power" server build

Deep in the bowels of my basement is a 42U rack, which formerly housed the fully operational battle station that was my office's online presence at the University of Minnesota. Alas, we were all told we couldn't have our own server rooms anymore and our server rack and its contents were sent to the Reuse Center to find a new loving home. I was able to snag the rack and it is now sitting mostly empty, except for one nice little 2U server that powers most of the important pieces of my network—including this blog.

Following my usual network naming scheme (elements of the periodic table), it received the apt name of radon.

Specifications

Component Item
CPU Intel Core i7-4790S 3.2GHz Quad-Core Processor
Motherboard ASRock H97M PRO4 Micro ATX LGA1150 Motherboard
RAM Crucial Ballistix Tactical 32GB (4 x 8GB) DDR3-1600 Memory
Storage Samsung 850 Pro Series 256GB 2.5" Solid State Drive
SABRENT 2.​5" to 3.5"​ Internal ​Hard Disk ​Drive Moun​ting Kit (​BK-HDDH)
Case Rosewill R​SV-Z2600 2​U Rackmoun​t Server C​hassis
3x Cooler Master Blade Master 40.8 CFM 80mm Fans
Power Supply Corsair RM 450W 80+ Gold Certified Fully-Modular ATX Power Supply
Operating System Ubuntu 16.​04.1 LTS S​erver

Performance

The biggest part of building this server was finding something that would be somewhat power efficient since it's on 24/7 and usually idle, but still able to function adequately for some moderately heavy loads. Thus, I landed on the S variant of the i7-4790, which provides a 65W TDP. (There is the T variant which has a 45W TDP, but its clock speed maxes out at 2.7GHz where as the S is normally at 3.2 with a turbo to 4.)

Measured with a Kill-a-Watt, the power usage of the entire system at idle was hovering around 20W. Using the stock cooler combined with a motherboard that supports PWM case fans, this makes the machine fairly silent even while sitting next to you in the room. Between this and a surprisingly efficient Synology 1U NAS device (which provides most of the bulk storage to my network via iSCSI) and a few other network devices, the smallish 1000VA UPS in the rack will last over two hours off of mains power.

My usual means of configuring servers is installing Ubuntu Server LTS and running some well-formed shell scripts from my configuration Git repository. However, I'm finding it nicer to move more and more things over to Docker as I'm getting more comfortable with it. That handles both the software installation and configuration and I can be at least somewhat assured that things will "just work" assuming network configuration was properly done up front.

Other than ensuring that data has a permanent home outside of the ephemeral Docker containers, moving the network services (DNS resolution, site hosting, monitoring, etc.) into containers has been a lot of fun. It also allows me to try out more stuff than I would normally be inclined to because of onerous installation requirements (i.e., install this awesome thing that requires a fully operational Ruby on Rails installation, or NodeJS installation, etc.).