Virtualization @Home

By Blue2k on Monday 4 February 2013 04:46 - Comments (11)
Category: -, Views: 6.055

Being exposed to cloud-based web application development and server virtualization on a daily basis at work, it made me think about virtualization at home. Even though my spell-check has never heard of virtualization, it's becoming the standard approach to providing IT services within businesses. The idea that you can utilize idling hardware more efficiently by provisioning it with multiple services (or virtual servers) is so straightforward that it's surprising it hasn't caught on earlier.

I've been running some network services on an old Dell XPS M1710 for a while after the graphics card died in it. While it's more than capable of running Gentoo with Apache and some other services, running a virtual stack on it seemed like a bridge too far for the 5 or 6 year old machine. Instead, I decided it was time to upgrade a number of things in our home network, including the 5 port gigabit switch and old WRT54g router. The ultimate goal was to create a home network solution that would allow for a more serious server setup with a full set of virtual servers.

For the network I ended up with this configuration:
  • Netgear WNDR N7500 Router
  • TRENDnet 24-Port Gigabit GREENnet Switch
  • TRENDnet 5-Port Gigabit GREENnet Switc
The 24-port switch is a rack-mountable switch that would fit very well into the cabinet I bought that would house the server:
  • Tripp Lite SRW9U 9U Wall Mount Rack Enclosure Cabinet
  • Cyberpower CPS-1215RMS Rackmount PDU Power/Surge Strip

Being Dutch and all meant I wanted everything at a reasonable price. I spent a long time making sure the final price tag would be very reasonable (and had me split the order between Newegg and Amazon). Because the cabinet is not a full-depth rack (and only has the front posts) I required a half depth server case that would not be too heavy. Just in case though I applied the age old trick of screwing an upside down shelf inside the rack to support the 1U server. The server contains the following hardware:
  • ASUS RS100-E7/PI2 1U Server Barebone LGA 1155 Intel C204 DDR3 1600/1333/1066
  • Intel Xeon E3-1230 V2 Ivy Bridge 3.3GHz
  • Kingston 16GB (4 x 4GB) 240-Pin DDR3 SDRAM ECC Unbuffered DDR3 1333
  • 2x Seagate Barracuda 7200.14 ST3000DM001 3TB 7200 RPM 64MB Cache SATA 6.0Gb/s

With 16GB of memory and 8 virtual cores available it is capable of hosting 10 virtual servers without issue. The server case only has a couple of low noise fans and is therefore very reasonable in noise production (it actually makes less noise than my desktop machine). Even though the case is half depth it can house 2 3.5 inch hard drives and (the included) DVD-ROM drive. The current setup leaves plenty of room for another server and a 1U or 2U NAS in the future.

I'll discuss my choice of hyper-visor software in a separate post, but suffice it to say that I finally landed on VMWare ESXi. The above setup currently hosts 5 virtual servers, including a Windows 2008 domain controller, an Ubuntu-Server Samba file server, an Ubuntu-Server instance providing VPN and SVN services, an Ubuntu-Server instance for torrent downloads and a Solaris instance for experimentation. Memory usage is at 5GB of the 16GB available and it's generally at consuming about 100 Mhz of the 13Ghz available. In the end the CPU appears to be somewhat overkill for home usage... :)

This whole setup is currently used to backup and store data, stream media to wireless devices and TVs around the house and provide DNS, SVN, VPN and Apache services. In the future I intend to segment the network into multiple vlans to ensure certain services and access can be quarantined.

So, was all the effort worth it? Not only is the new functionality being used on a daily basis, the amount of fun I got from building the server, configuring the instances and experimenting with different hyper-visors was more than worth it. Even though it might be overkill for most people, for anyone interested in learning more about virtualization this is the most fun you can have for a reasonable budget. In total I spent about $1600 for the server, cabinet and networking equipment (including patch cables.)

Here are some photos from the completed cabinet: