NAS + HTPC – the latest alternative to Drobo and media center set-top boxes

It has been quite a while since I last wrote about my quest on building a NAS (network attached storage) box. The last article generated quite the interest among fellow enthusiasts, and I have had many people sending in suggestions and questions.
So here I am again – writing about my second NAS build that will address most if not all the issues that were brought up.

The purpose of this build is both a NAS and a HTPC. I sat the box right next to my receiver and TV, I want to be able to record live TV, play 1080P HD movies and store my large photo/music collection.

  • RAID engine capable of real time drive upgrade/swap, like the Drobo
  • OS capable of running a media center frontend with live TV support.
  • Efficient hardware that is both powerful and eco-friendly.
  • Finished product must be quiet and easily serviceable.
  • Finished product must be cheaper than the most basic Drobo.

The software

flexRAID engine

Demise of FreeNAS/ZFS
If you read my previous post, you would know that I implemented a real-time RAID-Z system powered by ZFS. In fact it is still the primary RAID engine used in the latest build of FreeNAS release 8. However, ZFS and the latest implementation of it in FreeNAS is an extremely resource intensive piece. The recommended RAM jumped to 8GB or 1GB per TB of storage. If you have less than 4GB of RAM, many of the caching features cannot even be turned on! This hinders performance greatly. As inexpensive as RAM may be, this is still an impractical requirement for many users.  The truth is, ZFS is an incredibly complex system and it supports many features that the average user or even enterprise user will never need. Furthermore, as my research has led me to realize – ZFS is actually LESS flexible in terms of storage expansion. The old freeNAS base has been forked into another project called NAS4Free.
I knew I needed to look elsewhere for a RAID engine that is easy to use and flexible if I am to compete with the mighty Drobo. Out comes – flexRAID. Please note that I am not in any way affiliated with flexRAID and since I have been following the product they have released their 2.0 version under a commercial license. I purchased it a license for $40 which I thought was worth the money, but I will discuss free alternatives.

To those we built a system based on freeNAS, due to the difference in system architecture there is no way to simply upgrade while perserving data. I am ditching ZFS and freeNAS altogether in this build. However, the freeNAS community is still strong and very much alive. Please feel confident to keep using it.

flexRAID & RAID?™
The one thing that caught my eye at first is the implementation of Snapshot RAID vs. traditional real-time RAID. Usually RAID systems write to parity whenever something is changed on the drive. This parity update is an expensive process because it is complex and it needed to happen with every write attempt to disk. The idea behind “snapshot RAID” is to think of parity update as a backup procedure for the array. We run the backup procedure only at specific intervals, and it should only include critical data. Meta data that are changed frequently and can be regenerated should not be included. This concept of creating a schedule snapshot parity is not new, but until the release of the RAID? engine in flexRAID we have struggled to implement it without spending the big bucks.

RAID? works on the basis of DRU and PPU, where DRU (data risk unit) contains user data and PPU (parity protection unit) contains only parity data for the array. Thus concluding that the PPU must be at least the same size as the largest DRU. This is a requirement for all RAID levels and it is true for the Drobo. This is why you can only swap out the smallest drive for upgrade each time, because the largest one is used for parity.
The number of parity drives you have will determine the tolerance of your array.
1PPU = one disk failure, 2 PPUs = 2 disk failures, etc…
This is neat because if you have a Drobo and you want two disk tolerance… you need to get the more expensive Drobo. All of these configurations can be done inside flexRAID!
Furthermore, RAID? can support any number of PPUs! There is no more conversion from RAID 4 to RAID 6, you can add more drives at any time.

Free Snapshot RAID engines
By now you might think I am a salesman for flexRAID, but that’s far from the truth. I have done a lot of research on free alternatives that offer similar Snapshot RAID support. The most promising I have found was an open-source project called SnapRAID, and they have posted a rather detailed comparison of non-standard RAID engines today:

My final decision stood with flexRAID for its easy-to-use GUI and maturity of its RAID engines.

Windows 8
Windows 8 Professional

The OS
I have thought about this one for a while after choosing flexRAID. I had the choice between Ubuntu or Windows based OS. After many months and trials, I have decided on using Windows 8. Here are my reasons:

Next up -> Hardware

  • H3ctor

    Again! Thanks alot for the great guide!

  • Frank Leng
  • Matthew

    Not sure if you’re still monitoring this post, but I found it when looking for a Drobo replacement to make something of a media center, only I don’t need to rip cable TV at all. Forgive my naivety, but would I have to change you instructions much if I didn’t need the tuner?

  • Frank Leng

    sorry for the late reply.
    You can simply skip the tuner if you don’t need it. It won’t affect anything else.

  • cruiseback

    Great guide, I will try this!

    One question though, I’m not quite sure I understand where you install the OS (Windows 8), does that span across the hard drives or is it on a USB or?

    Thanks, cb

  • Frank Leng

    Hey, thanks,
    I actually installed it on a separate SSD I found online for really cheap. it’s only 80GB but works super well.

    I don’t think you can install the OS on the RAID partition.

  • Itl3

    Amazing guide. Just what I’m looking for!
    I’m currently running Mac mini with plex and wondering if it can be used with flexRAID?
    Also I would LOVE to ditch my current cable tv subscription for a digital tv tuner setup that I can record shows with. Can you report your experience with the Hauppage card?
    Thanks again.

  • weston


    Exactly what I was looking for.

  • g.b.

    What cpu cooler did you use?

  • Frank Leng

    sorry didn’t see this until now.
    Support for Mac is coming, but I haven’t seen any work being done as of yet.
    The tuner card is decent. but depends on your local cable provider, you still need a set top box to get their premium channels and even some HD channels. That way they can charge you for the box every month. it’s pretty lame.

  • Frank Leng

    I used a Corsair A50 with this build. since I’m downclocking the chip, I wanted something that’s best bang for the buck and quieter than the Intel garbage it came with.
    I grabbed one off of eBay, brand new for $20 shipped.

    I use this one for my workstation. it has one more heatpipe. I highly recommend it – cheap, quiet and cool.

  • M Ng

    Hi, can you walk through the wake on LAN option? I can never seems to get mine to work properly.

  • Frank Leng

    the WOL part is tricky and it will depend on the network card you have. Most cards, especially ones built-in to motherboards do support it. In that case, go to your BIOS to make sure it’s enabled.

    for more details check out this page:

    If I’m not wrong, you should be able to use the multicast or broadcast address to tell the router to pass the magic packet to every device on the network. (since the target computer is offline and doesn’t have an IP).
    Good luck, if you list your specs I might be able to help more.

  • Pingback: High-end NAS roundup()