Individual hard drives are becoming ridiculously cheap, but as they pile up to create massive…
Read more Read more

If you don't remember the exact criteria we were aiming for, here's a refresher:

6TB of usable storage (i.e. 4x2TB hard drives in a RAID 5 array)

Connectivity must be faster than USB 2.0

Bonus points for network connectivity

As cheap as possible

Now, for the solutions.

Advertisement

Repurpose an Old Tower

While the general consensus was that it would cost about a grand for a storage device of this capacity, reader Dave Barboza suggested repurposing an old tower to keep costs down:

If a grand is out of budget, and you have a spare tower, you can build a network file server fairly easily. Windows Home Server may be the easiest, but has limitations that you will need to investigate. If you're a little more adept, anything from a default linux install to one of the customized distros will serve you well and will run well enough on years old hardware.

Note: Dave also had some other great suggestions, so be sure to check out the full comment.

Just Plug in Some Drives and Back Up Online

Personally, I've got an old desktop sitting around somewhere, and at least 2 TB of storage space between all my old hard drives. What I would do is buy 3 2TB drives ($100 each on a good day) and just plug 'em in one by one to transfer data, then label each one with the stuff that's on it.

Storage, cost, setup: You can actually use all 8 TB of your raw storage because none of it is used for parity, making this the cheapest option, especially if you already have an old computer and hard drive. Setup is minimal...just fire it up, plug in your drive, and you're good to go.

Speed: SATA + time to manually switch drives is going to be faster than USB 2.0.

Redundancy/security: No redundancy, but a failure of 1 drive is only going to affect 1 drive's worth of data.

Many people suggested using an online backup service like Mozy for backup. You're going to need a fast upload speed and a lot of patience to get several terabytes of data into any online backup service, but it's a good way to have an offsite backup of your data and keep costs down by just using single drives to get the job done locally.

Use Twin PCs

This option may be a little rough on your electric bill and your wallet, but it alleviates some of the problems with trusting data security to a RAID array. Reader Christopher Randel prefers having two identical PCs, one for the main storage and one for backup:

I'd go for the simplest solution you can manage.

But everyone's saying a single RAID array, I think this seems like a terrible idea.

I'd go for a full blown computer with multiple ports and then a drive letter or mount for each drive.

And then build a second computer exactly like the first computer.

And then do backups between the two machines at the file level.

You can get a full computer for next to nothing, and often you might have an old P3 or something sitting around.

Otherwise you can pick up a dual-core atom motherboard for less than $100, case and PSU for ~$50, and then your HDD.

Use ZFS

Reader Raharazod suggests forgoing a RAID array and using ZFS—a file system and logical volume manager—instead:

To be honest, after doing a lot of research into RAID arrays, I decided it was too scary. If a hardware RAID card dies, you lose all your data. If your motherboard in a software RAID array dies... you lose all your data.

Not to mention, as disk sizes grow to 2TB, there is a relatively high chance of unrecoverable failure for sectors. This can again cause you to lose all your data. Upwards of 30% chance of complete data loss. Too high of a risk for me.

Solution? Well, it's not the best option now, but I ended up using a linux distro with ZFS (alternatively BTRFS is now included in the linux kernel and individually you can evaluate its stability for your use).

The reasoning? ZFS is entirely software based... and if one drive in a ZFS pool dies, you can recover your data. It also does checksumming, so while you're writing your data, it checks to make sure it's valid, and if it's not, repairs it from the data parity. Plus, because it's software, it can be (and I have) transported in its entirety to a different machine. To boot ZFS also allows you to dynamically add and remove disks from an array. It's really working out well for me. Once I set it up, I haven't had to mess with it since. Granted, it's not as fast as a native filesystem (it's running through FUSE), but for media storage, it's plenty fast enough.

Make an UnRAID Server

Finally, we had quite a few suggestions for unRAID, but nightwalker_12 sums it up pretty well:

Unraid is a software based RAID 4-5-ish system, using 1 parity drive to keep track of an array of up to 20 (I have a max of 16) drives.

Drives can be any size equal to or smaller than the parity, so you can mix and match some leftover but still functional drives you have around, and drives can be added as required (or replaced with larger ones) without having to trash and rebuild the array. No special controllers required, but it does take a dedicated machine. Only special hardware requirement there is that it's bootable off a USB flash drive, so again, any older or unused hardware can be used for the server.

It's a NAS, so connects over the network; works with ethernet up to gigabit, theoretically wireless also (though, why?). Server can be headless (usually is) as the primary control system is web based and thus OS independent.

Best part, if there is a multi drive failure, since the data is not striped over the array in the manner of a traditional RAID controller but is written as is in the ReiserFS file system, what's left on the remaining drives is still intact and salvageable. System can be set with a cache drive for quicker data writes during the day, allowing for slower array integration and parity at night/during downtime.

There is a large host of plugins you can get for it as well to facilitate streaming to 360s, remote access, setting up web, file, and email servers. Really, anything you can run on a Linux system, it can run.