Deciding on a NAS Solution

There are two main categories for NAS devices. Prebuilt devices (think Drobo or a Synology boxes) and custom built hardware (usually a full fledged dedicated computer). The easier option by far is to just shell out the dough for a Drobo FS, but at $700 without any drives it’s a bit pricy. Here I’m going to be talking about the build your own option.

Why you probably don’t want to use RAID for a home NAS

RAID provides increased performance and some redundancy. That’s all well and good, but there are some caveats. RAID requires disks of exactly the same size, so you can’t mix and match drives. RAID also requires all disks to be spinning at all times, not so good. Finally, the RAID array has to be intact to retrieve data. Which is fine until multiple drives fail at once, and even though you still have some good drives you lose all of your data. Really bad. With a non-RAID based solution you only lose what was on the drives that failed.

Unraid

Unraid is a fairly simple to setup NAS solution. My favorite thing about Unraid is that it doesn’t use RAID. Instead, it uses one of the drives as a parity drive. This means that any one drive can fail and you can replace the bad drive and Unraid will automatically rebuild it. Unlike RAID based solutions, if more than one drive fails then you will only lose the data that was on the failed drives. All the data on the other drives will still be intact. It also means that drives can be mixed and matched, they don’t all have to be the same size.

Also, since Unraid is not based on RAID it is not necessary for all the drives to be spinning all the time. Meaning that depending on the number of drives in your machine it can save you a lot on your electricity bill. It also means that your drives should last longer.

The only real issue with Unraid is that since it is constantly recalculating the parity information as data is written to the drives write speeds tend to be on the slow side. This can be remedied by using a “cache” drive. Unraid can use one drive as a temporary cache and automatically move things off and onto the Unraid array nightly. The problem with this is that it changes the system from one with realtime parity to one with daily snapshots. In other words, if a drive were to fail before data is moved over to the array from the cache drive then that data would be lost.

Bottom line, Want an easy setup that reliably stores your data and don’t mind spending $69 for software? Go with Unraid.

FreeNAS

Lot’s of people recommend FreeNAS and depending on your use case it may be great, but it doesn’t fit the bill for me. It’s got a lot, I mean a lot, of features and it uses ZFS. That being said the interface can feel a bit bloated and it’s overkill for most home purposes. You have to setup storage pools in advance so it’s more difficult to just add drives willy nilly and ZFS is pretty resource intensive. Bottom line, it’s fancy NAS built on a nicer implementation of RAID.

If you want good performance, you’re planning on running it on decent hardware, and you don’t expect the drive configuration to change then you can’t really do better than FreeNAS. If that’s not you than look elsewhere.

Linux + mhddfs + SnapRAID

This is currently what I use. I felt a little too limited my Unraid and since I’m a tinkerer by nature this way suits me pretty well. Basically, pick any flavor of Linux and then setup mhddfs for spanning your drives. All the drives in the machine can be viewed as one volume. When new files are written to the mhddfs volume they are placed on the drive with the most available space. With mhddfs taking care of combining the storage into one pool, now we need to take a look at the redundancy part. For that we’ll use SnapRAID. SnapRAID let’s you use one drive as a parity drive for the rest, similar to how Unraid works. Therefore, if you have 3 2TB drives then you will have 4TB of usable storage. And any one drive can fail without losing any data. If more than one drive fails then you will just lose the data on those drives. The snap in SnapRAID is for snapshots. This is not a real time parity. The nice thing about this is your write speeds are still good. Parity can be calculated as often or as seldom as you want. Might calculates daily. At the very worst, I only lose a day’s worth of data. From there you can set up SMB, NFS, AFP, FTP, and whatever other file protocols you like. Want it to do something else? Great, it’s completely custom so you can easily bend it to your will.

If you like to geek out, don’t care about real time parity, and want to have a NAS that has all the features you need and none you don’t this may be the way to go.

comments powered by Disqus