My New Home Server

Screen Shot 2013-06-19 at 7.41.27 PMBack at CES in 2007, I was ecstatic to hear about Microsoft and HP designing a Home Server platform for people who wanted to have a centralized file storage system in their house. I built my first WHS box with two 750GB HDDs, it was good, but I outgrew that storage as I realized that I could rip and encode my DVDs and then store them on the iPhone, then play them on my PS3. I eventually upgraded to a HP MediaSmart Server. It was good, I expanded it to 3.5TB of storage space (about 2TB usable due to data duplication). It was supposed to support Time Machine backup support, but that never worked right. But it served well (no pun intended) up until 2012 when I had to send it in to replace the power supply at a cost of $125. I realized the time was running out on that hardware and I would need to replace it.

I thought about going the NAS route (Synology or something similar) but I wanted the functionality of a full computer in addition to file storage. What I ended up building is a Mac mini-based file server. The core is a 2012 Mac mini base model, upgraded by me to include a 64GB SSD (in addition to the 500GB drive it came with) as well as 16GB of RAM. The extra storage is provided by a CineRAID USB 3.0 external storage array. It has four bays, each one is filled with a 3TB WD Red HDDs designed for home NAS usage. I’m using Zevo ZFS to put the drives together in a RAID-Z2 array. I still haven’t figured out if ashift=9 or =12 is the right configuration. I need to benchmark the array when I find more free time, although one blog post found that when using Mac ZFS, ashift=12 worked better on 4K advanced format drives. I also used Liberate to share folders on the ZFS-formatted file system over AFS (instead of SMB).

The OS itself has been upgraded to OS X Server. This allows it to serve as a VPN endpoint as well as a Time Machine backup target for all the other Macs in the house. The VPN stuff works well, except for when the unsecured WiFi I’m trying to use blocks VPN, defeating the purpose of using their unsecured WiFi in the first place (unsecured WiFi transmits everything in the clear, including cookies necessary to provide security on websites like Facebook and Twitter, unsecured WiFi is always a bad idea).

I’ve installed a few pieces of software on the devices – Plex Server for sharing music and movies over DLNA to supported devices, and I keep iTunes running in the background for sharing to the two AppleTVs in the house, as well as all the iDevices (iPhone, iPad). I also installed Handbrake to let the server handle all the encoding responsibilities, and Subler to attach metadata to ripped movies. The only caveat with iTunes is that you have to manually add new music and movies (which means I have to VNC into the server and add them manually – Plex will auto-scan for new titles).

Viewing the movies is done from my Samsung TV in the office over DLNA (via Plex) or on my main TV or bedroom TV on an AppleTV. I had originally tried to use a PS3 for viewing, however there is some new content copy protection called Cinavia. It is an audio-based copy protection system that survives downcoding, transcoding, conversion to mono, whatever you can throw at it. It takes about 20 minutes to work, and will cut off the audio and display an error message. The browsing experience on the AppleTV looks really good – especially when the metadata and the artwork is added to the movie file.

I’m pretty happy with the result. It was expensive though – the Mac mini is $600, the external array was $160, and the four HDDs are $640. The 16GB of RAM was $80, the iFixit 2nd Drive kit was $50, and a 64GB SSD was $70, for a total of $1600. The upside is that hopefully, I will be able to use this hardware for at least 3-5 years, maybe adding storage space along the way (another USB 3.0 external enclosure and more HDDs). This will likely be my last computer-related purchase for a while, I’ve spent enough money on technology for now.

Leave a Reply

Your email address will not be published. Required fields are marked *