While servers are at the center of most businesses, there is also one a at the center of our digital lifestyle. A server that can store an ungodly amount of data, automatically backup all the PCs in the house, allow remote access to our files, play any kind of video file, hook up in the television, play video games, stream video files over the web to our mobile devices and make coffee (well, maybe not the latter).
Building and operating such a complex system is an adventure.
I compared solutions such as Drobo (expensive, missing features), Unix-based OS (complicated) and pre-built WHS machines (not scalable). In the end, only a custom WHS PC had the features, ease of use and scalability I wanted in a server.
- Case: Fractal Design Define R3 (a cool, silent and classy-looking case with plenty of room for hard drives and fans)
- Motherboard: ASUS P8H67-M PRO (built-in HDMI output)
- CPU: Intel Core i3 2100 3.1GHZ Sandy Bridge 3MB (enough for 1080p encoding)
- RAM: Corsair 1X4GB DDR3-1333
- Power: Coolermaster Extreme Power Plus 500W
- Additional SATA Controller
I already had 8 hard drives totalling 12 TB worth of storage.
OS: Windows Home Server
WHS is really a file server at its core. The users, folders, permissions, backups and remote access components are all accessible from a nice dashboard that’s available via an application that you install on your laptop or desktop PCs.
That same client will handle the backup process for you. On the server side, you specify when you want the backups to be done, and it’ll turn on, perform a differential backup and turn off the machines every night. If you lose something, you can restore files individually or do a full machine restore. The machine restore is done by booting on a USB stick that you create through the dashboard. I’ve actually done it twice and it worked better than I expected.
The server can be configured to send you email alerts when there’s something wrong or needs your attention. Those alerts can range from “this machine is late on its updates” to “3 of my hard drives are melting” and everything in between. Of course, you can choose to ignore some of the alerts. To know I’ll be notified when something breaks puts my mind at ease.
While the OS already does all the filesharing heavy lifting, there is additional software required in order to transform this file server into a media server.
First and foremost, XBMC. This free, open-source, multi-platform and extensible media center application is the choice of geeks and enthusiasts since 2003. Boxee is based on it. It was the only logical choice.
StableBit DrivePool combines the free space of any number of hard drives into one big virtual pool drive. Additionally, it can duplicate data from one drive to another and integrates in the WHS dashboard much like the now deprecated Drive Bender feature of the previous version of WHS. Thanks to this, I’m not living in constant fear of my data becoming corrupt if I have a hard drive catastrophically failing.
With all those hard drives running constantly all day long, it can get hot in there. That’s why I also use StableBit Scanner to monitor the temperatures and SMART data of the HDDs. It hooks into Bit Flock (a hard drive health analysis tool) to inform you that your drives are unhealthy before they break. I recently installed additional fans in the case because I kept receiving emails telling me the temperature of the hard drives was too damn high. If not for that add-on, things might have gone ugly.
Since I use my iPad a lot, I also found some applications that add iOS “friendliness” to the server:
- XBMC can receive AirPlay content
- AirPrint printing with FingerPrint from Collobos Software
- AirVideo for streaming media files on the iDevices locally and across the Interwebs
- The XBMC Constellation app for iPhone and iPad is a great way to browse files and doubles as a remote.
- Having iTunes installed allows me to backup my phone and tablet wirelessly on the server instead of my PC (those backups can take a considerable amount of space, up to 64 GB in my case)
I bought a Logitech wireless keyboard that proved unreliable because of the 10′ distance between the television (where the receiving dongle is) and the sofa.
After much trial and error, I finally found a Microsoft Media Center Keyboard on eBay which use an IR receiver that works great… with a little bit of tinkering. By default, you can’t use that IR transceiver in Windows Home Server because it’s based on Windows Server 2008 R2 and the drivers are not available for that OS. Fortunately, they are for Windows 7 x64 and the easiest way to make this work is by following the instructions on this site.
Automatic content download
Having a PC to play all kinds of files is nice, but it’s no fun if you have to constantly feed it with new files manually. That’s why I tried to automate the content download process as much as I could.
Most Torrent clients have the ability to use RSS feeds to download files. uTorrent has a great tutorial on how to do this and showRSS is a good place to get the feeds. That way I can watch my TV shows when I want, as soon as they are available.
If you’re more into podcasts, using Juice would be the way to go.
I have installed a SNES emulator and the games can be launched directly from XBMC. I can use my Xbox 360 controllers with the help of the Xbox 360 Wireless Gaming Receiver I have. It’s a bit of a pain to install though because the drivers for this thing are not available for the Servers edition of Windows.
While I’m protected against loss of data in the case of a hard drive crash, the important data to be stored elsewhere if I want protection against fire or natural disasters. CrashPlan is a service that can securely store an unlimited amount of data in the cloud. In my case, unlimited really means 6.5 TB of data but with my 2 Mbps upload bandwidth, it might take some time to do so I’ll be sending the most important data such as my pictures and documents in there first.
That server is still a wonderful ongoing adventure: I try to add a new feature every month or so. For those who are wondering, its name is Spock (you know, because he holds a lot of data and is half file server, half media center) and while it’s not making coffee yet, I’m working on it. 😉