New Year, New Home Technology, Part 1
Hi. It’s a new year, and I have an awful lot of things I want to say about an awful lot of things, but I figured I would start on the relatively non-controversial side and talk about some new home technology I’ve been working to implement, and some updates on house projects. Maybe you’re interested, maybe you aren’t, but you can always easily click away and read something else if this is boring. 🙂
This is Part 1 of a short series on our technology updates.
Part 1: Building a New Home Computing Lab: Introduction
Part 2: Playing with Home Automation
Part 3: ??? More to come!
As most of you who read this probably know by now, this August I returned to work at CMU, doing some really awesome stuff and getting my head back into a bunch of bleeding-edge technology. With this work came a desire to prototype and test things on my own more often. One could say it is like the resurgence of the geek in my brain. I had to get a home computing environment set up that would support this, so I embarked on reimagining and rebuilding my home computing lab.
A bunch of years ago, I had a few servers and some networking gear in the upstairs bedroom that served as my office. This setup allowed me to test and play with software and administration techniques in a non-critical environment, and enabled me to run some minor services from home. This equipment had been aging, though, and I had dismantled most of it prior to leaving CMU back in 2011. My needs after leaving CMU were quite different, and also the funding available to expand and replace some of that was reduced or redirected, so the “home lab” was basically reduced to a single tiny server with some disk that allowed us to do backups of our personal machines and serve our music library in the house. So things sat until a few months ago, when my needs changed again, and suddenly I was in a spot where I didn’t have the resources to do a lot of the personal development I wanted to do. This had to be fixed.
After some discussions with coworkers (all of whom I worked with before I left, which is cool), I developed a new home lab strategy and design, and began implementation. The first phase involved getting new networking equipment to support the lab (10Gb and 1Gb switches), one support server to run some critical internal services, a storage server to be the central location for all disk-based storage, and a cluster of four hypervisor machines designed to run virtual machines (about 6-8 VM’s per hypervisor, depending on resource needs).
The hardest part is bootstrapping a new network like this, especially when it has to be grafted onto an existing in-use network for setup, and later cut-over to operate on its own. Several bad words were used in the course of this activity, but soon I had a new UPS (uninterruptible power supply), 26 ports of 10Gb network for storage server access, 48 ports of 1Gb network for server interconnectivity, a storage server running FreeNAS with 12TB of disk attached, a new router and firewall system running pfSense, and a hypervisor cluster running oVirt. And, of course, lots of new blinky lights to go with everything!
One of the things I focused on when building this new infrastructure was power use. Not all that many years ago, it would be unheard of to have six machines and two network switches on a small UPS behind a small media center in the living room. Older hardware was power-hungry and noisy. For this build, the server running critical service VMs has a maximum draw of 150 Watts, and at idle draws only about 10 Watts. The four hypervisors each have a maximum draw of 200 Watts, and at idle draw about 20 Watts. The storage server needs a little more power, and has a maximum draw of 350 Watts, and at idle draws about 25 Watts. The switches are the larger power users, each drawing about 60 Watts constant. Two of the hypervisors are set to be powered-up all of the time, the other two are set to power-up when load starts to get higher on the cluster. The end result is that, at regular load, the entire system is drawing about as much as a couple of old-style incandescent light bulbs. Seeing as we have converted nearly every bulb in the house now to LED (with a few CFL’s hanging on until they finally die), we use less net power than we did just a few years ago!
The entire home lab setup lives behind our media center, with the switches underneath the media center to help with cable management. Unless you’re really looking for it, you won’t see it. I have plans to eventually replace the media center cabinet (more of an enclosed TV stand) with some base cabinets and shelves for storing books, some optical media we still use, and some dedicated space for the home lab systems and gear. Until then, this works acceptably well, and keeps everything easy to access as I work on fine-tuning the way everything works together.
The “critical services” system is actually a small hypervisor itself, running three important services for the home network. One is a VM running the router and firewall that connects all of the various networks (there are now six networks in our house!), and connects our house to the internet link arriving via a Comcast uplink. A second service it runs is DNS, running in a Docker container. The third is a second VM that runs our new home automation system. And that brings us to end of this post and the beginning of Part 2: Home automation!