File Server Builder's Guide
by Zach Throckmorton on September 4, 2011 3:30 PM ESTWhile the focus of this guide is hardware, it's worth first briefly discussing home file server operating system options.
Windows Home Server 2011
Microsoft launched its latest version of WHS earlier this year. It can regularly be found for $50 or less when it's on sale. Of all the file server operating systems available, WHS2011 is the easiest to both set up and administer for users familiar with the Windows series of desktop operating systems and less familiar with Unix or Linux. If you've installed and configured Windows XP, Vista, or 7, you can install and configure WHS2011 with a minimal (or even no) extra research. The downside to this ease of use for the home file server novice is, of course, cost - WHS2011 is not free.
FreeBSD and FreeNAS
FreeBSD is, of course, free. Because it is a Unix operating system, it requires time and effort to learn how to use. While its installation uses an old text-based system and its interface is command line-based, you can administer it from a Windows PC using a terminal like PuTTY. I generally do not recommend FreeBSD to users unfamiliar with Unix. However, if you are intrigued by the world of Unix and are interested in making your first foray into a non-Windows OS, setting up a file server is a relatively easy learning experience compared to other Unix projects.
FreeNAS is based on FreeBSD but is built specifically to run as a file server. It features an intuitive, easy to use web interface as well as a command line interface. Both FreeBSD and FreeNAS support ZFS, a file system like NTFS and FAT32. ZFS offers many benefits to NTFS such as functionally (for the home user) limitless file and partition size caps, autorepair, and RAID-Z. Though it is aimed more at enterprise and commercial users than consumers, Matt wrote an article that has lots of useful information about ZFS last year.
Ubuntu and Samba
Ubuntu is arguably the easiest Linux distribution for Windows users to learn how to use. Unsurprisingly, then, it has the largest install base of any Linux distro at over 12 million. While there is an Ubuntu Server Edition, one of the easiest ways to turn Ubuntu into a home file server is to install and use Samba. (Samba can be used on not only Ubuntu, but also FreeBSD.) Samba is especially useful if you'll have mixed clients (i.e. Windows, OS X, and Unix/Linux) using your home file server. Though FreeNAS certainly works with Windows clients, Samba sets the standard for seamless integration with Windows and interoperability is one of its foci.
Succinctly, WHS2011 is very easy to use, but costs money. Installing Ubuntu and Samba is not particularly difficult, and even if you've never used any type of Linux before, you can likely have a Samba home file server up and running in a morning or afternoon. FreeNAS is arguably a bit more challenging than Ubuntu with Samba but still within a few hours' grasp of the beginner. FreeBSD is potentially far more capable than WHS, Ubuntu/Samba, and FreeNAS, but many of its features are mostly irrelevant to a home file server and its learning curve is fairly steep. When properly configured, all of the above solutions are sufficiently secure for a typical home user. Most importantly, all of these options just plain work for a home file server. An extensive comparison of each OS's pros and cons in the context of a home file server is beyond the scope of this article, but now that we've covered a few OS options worth your consideration, let's get to the hardware!
152 Comments
View All Comments
mino - Tuesday, September 6, 2011 - link
For a plenty of money :)Basically, a SINGLE decent raid card costs ~200+ for which you have the rest of the system.
And you need at least 2 of them for redundancy.
Also, with a DEDICATED file server and open sourced ZFS, who needs HW RAID? ...
alpha754293 - Tuesday, September 6, 2011 - link
In most cases, the speed of the drives/controller/interface is almost immaterial because you're going to be streaming it over a 1 Gbps network at most.And if you actually HAVE 10GoE or IB or Myrinet or any of the others, I'm pretty sure that if you can afford the $5000 switch, you'd "splurge" on the $1000 "proper" HW RAID card.
Amusing how all these people are like "speed speed speed!!!!" forgetting that the network will likely be the bottleneck. (And wifi is even worse, 0.45 Gbps is the best you can do with wifi-n.)
DigitalFreak - Sunday, September 4, 2011 - link
I've been using Dell PERC-5i cards for years. You can find them relatively cheap on E-bay, and they usually include the battery backup. I believe they're limited to 2TB drives though.JohanAnandtech - Monday, September 5, 2011 - link
"But there's the fact that software RAID (which is what you're getting on your main board) is utterly inferior to those with dedicated RAID cards"hmm. I am not sure those entry-level firmware thingies that have a R in front of them are so superior. They offload most processing tasks to the CPU anyway, and they tend to create problems if they break and you replace them with a new one with a newer firmware. I would be interested to know why you feel that Hardware RAID (except the high end stuff) is superior?
Brutalizer - Monday, September 5, 2011 - link
When you are saying that software raid is inferior to hardware raid, I hope you are aware that hw-raid is not safe against data corruption?You have heard about ECC RAM? Spontaneous bit flips can occur in RAM, which is corrected by ECC memory sticks.
Guess what, the same spontaneous bit flips occur in disks too. And hw-raid does not detect nor correct such bit flips. In other words, hw-raid has no ECC correction functionality. Data might be corrupted by hw-raid!
Neither does NTFS, ext3, XFS, ReiserFS, etc correct bit flips. Read here for more information, there are also research papers on data corruption vs hw-raid, NTFS, JFS, etc:
http://en.wikipedia.org/wiki/ZFS#Data_Integrity
In my opinion, the only reason to use ZFS is because it detects and corrects such bit flips. No other solution does. Read the link for more information.
sor - Monday, September 5, 2011 - link
Many RAID solutions scrub disks, comparing the data on one disk to the other disks in the array. This is not quite as robust as the filesystem being able to checksum, but as your own link points out, the chances of a hard drive flipping bits is something on the order of 1 in 1.6PB, so combined with a RAID that regularly scrubs the data I don't see home users needing to even think about this.Brutalizer - Monday, September 5, 2011 - link
You are neglecting something important here.Say that you repair a raid-5 array. Say that you are using 2TB disks, and you have an error rate of 1 in 10^16 (just as stated in the article). If you repair one disk, then you need to read 2 000 000 000 000 byte, every time you read a bit, an error can occur.
The chances of at LEAST ONE ERROR, can be calculated by this wellknown formula:
1 - (1-P)^n
where P is the probability of an error occuring, and "n" is the number of times the error can occur.
If you insert those numbers, then it turns out that during repair, there is something like 25% of hitting at least one read error. It might you have hit two errors, or three errors, etc. Thus, there are 25% chance of you getting read errors.
If you repair a raid, and then run into read errors - you have lost all your data, if you are using raid-5.
Thus, this silent corruption is a big problem. Say some bits in a video file is flipped - that is no problem. An white pixel might be red instead. Say your rar file has been affected, then you can not open it anymore. Or a database is affected. This is a huge problem for sysadmins:
http://jforonda.blogspot.com/2006/06/silent-data-c...
Brutalizer - Monday, September 5, 2011 - link
PS. There is 1 in 10^16 that the disk will not be able to recover the bit. But there are more factors involved: current spikes (no raid can do this):http://blogs.oracle.com/elowe/entry/zfs_saves_the_...
bugs in firmware, loose cables, etc. Thus, the chance is much higher than 10^ 16.
Also, raid does not scrub disks thoroughly. They only compute parity. That is not checksumming data. See here about raid problems:
http://en.wikipedia.org/wiki/RAID#Problems_with_RA...
alpha754293 - Tuesday, September 6, 2011 - link
@BrutalizerBit flips
I think that CERN was testing that and found that it was like 1 bit in 10^14 bits (read/write) or something like that. That works out (according to the CERN presentation) to be 1 BIT in 11.6 TiB.
If a) you're concerned about silent data corruption on that scale, and b) that you're running ZFS - make sure you have tape backups. Since there ARE no offline data recovery tools available. Not even at Sun/Oracle. (I asked.)
sor - Monday, September 5, 2011 - link
Inferior how? I've been doing storage evaluation for years, and I can say that software raid generally performs better, uses negligible CPU, and is easier to recover from failure (no proprietary hardware). The only reason I'd want a hardware RAID is for ease of use and the battery-backed writeback.