File Server Builder's Guideby Zach Throckmorton on September 4, 2011 3:30 PM EST
What is a file server?
Essentially, a file server is a computer that stores files, is attached to a network, and provides shared access of those files to multiple workstation computers. File servers do not perform computational tasks - that is, they do not run programs for client machines. Furthermore, they do not provide dynamic content like a web server. Still further, file servers are not like database servers in that the former do not provide access to a shared database whereas the latter do. File servers provide access to static files via a local intranet through Windows or Unix protocols as well as over the internet through file transfer or hypertext transfer protocols (FTP and HTTP).
What can you do with a file server?
The primary function of a file server is storage. For the home user, one central storage location can increase overall computing efficiency and reduce overall computing cost. By placing all of your important files in a single location, you do not need to worry about different versions of files you're actively working on, wasting disk space by having multiple copies of less-than-important files scattered on different systems, backing up the right files onto the right backup storage medium from the right computer, making sure every PC in your home has access to the appropriate files, and so on.
From a system builder's perspective, a file server can also liberate your various workstation computers from having to accommodate multiple hard drives, and decrease overall hard drive expenditures. With the rise of SSDs, which offer tremendous performance at a high cost per GB, a file server can free workstations from the performance shackles of platter-based disks - an especially useful consideration for laptops and netbooks, where the small capacity of an SSD is often a deal breaker since these mobile computers usually can house only one drive.
A dedicated file server allows every user in a home - whether they're at home or on the road - to access every file they might need, regardless of which particular device they might be using at any given time. Dedicated file servers also allow you to share your files with friends and coworkers - simply provide them with a URL, a login name and password, and specify what content they can access. For example, maybe you'd like to share your kids' camp photos with the in-laws - but your cloud storage capacity won't fit all of those photos plus all of the other stuff you have stored in your cloud drive locker. Maybe you'd like to share sensitive information with a colleague that you'd rather not upload to a server owned by Amazon or some other third party, but the files are too big to email. Or maybe you'd simply like to access your 200GB library of MP3s while you're holed up in a hotel on business with nothing but your 60GB SSD-based netbook. These few examples are really only the tip of the iceberg when it comes to the utility of a file server.
That said, there are alternatives to a file server for all of these needs. You could dump all of your photos onto a flash drive and give them to the in-laws the next time you see them - but you have to do this every time you want to share more photos - and who knows if you'll get your flash drives back? You could mail a DVD-R to your colleague - but perhaps a DVD-R's ~4GB capacity is insufficient, and snail mail takes days if not weeks to be delivered. If you're on the road, you could just bring along your portable external hard drive - which takes up space, and can be lost or stolen. A file server is a simple, singular solution to all of these problems. Home file servers do not require enterprise-grade hardware and can be very affordable. They can also be made from power-sipping components that won't spike your electrical bill.
What considerations are important in building a file server?
Because the primary role of a file server is storage, this is the most important aspect to think about. How much storage space do you need? Do you want to share 50GB of photos taken on a point and shoot digital camera? 500GB of music? 2TB of movie DVD ISOs? 30TB of mixed media and work-related files? Also, at what rate are your storage demands growing, and how easily do you want to be able to expand your file server?
How easily do you want to be able to administer your files? Many of the more powerful file server operating systems are unfortunately not particularly easy to run for the non-IT professional. However, there are file server OS's that are easy to run. What about being able to recover your files in the event of catastrophe? Placing your files in one computer is tantamount to putting all of your eggs in one basket, which can be risky. What about security? Anything on any sort of network is vulnerable to intrusion. While this guide answers all of these questions, it is aimed at home users and therefore necessarily makes some sacrifices to storage space, administration capabilities, recoverability, and security - simply because home users typically can neither afford nor require professional-grade file server solutions.
Why build a file server instead of using NAS?
Simply put, a NAS (networked attached storage) device is a computer appliance. It is built specifically to provide network-accessible storage. NAS devices typically offer easier administration than file servers (some are a few mouse clicks away from plug and play operability), but are often limited by proprietary software, and are neither as capacious nor as expandable as a dedicated file server. Further, higher-end NAS devices that can house as many hard drives as some of the builds outlined in this guide are more expensive than the file server alternative. Finally, because they are designed with only one purpose in mind, they are not as flexible as a file server, which in a multi-system home, might need to be co-opted into a basic workstation at a later point in time. That said, while NAS devices are outside the scope of this guide, they're worth investigating if you're not already familiar with them.
This guide is laid out differently than my previous builder's guides in that rather than detailing specific systems at specific price points capable of performing specific tasks, it instead discusses options for operating systems and types of components and how these different options are best suited to addressing different needs. That is, maybe you need a lot of storage space but you're not particularly concerned about backups. Or perhaps you don't need much storage space at all but want to use a very straightforward file server operating system. By mixing and matching recommendations to suit your needs, hopefully you'll be able to construct a file server with which you'll be pleased!
Post Your CommentPlease log in or sign up to comment.
View All Comments
Rick83 - Monday, September 5, 2011 - linkI guess it's not open source, and the free version has little in the way of support, as well as little deployment, compared to the standard RAID implementations.
I'd stick with something proven and stable, especially if I trust it with storing all my data.
3DoubleD - Tuesday, September 6, 2011 - linkWhile it is not 100% open source, I would say the meaningful bulk of it is. Unraid is based on a stripped down version of Slackware. Moreover, the abundance of plugin's, are developed by the community and completely free. When compared to WHS, there is really no comparison.
In terms of support for the free version, I received ample support on the Unraid forums while testing out the free version. This included support from both expert users AND Limetech employees. Payment is not a requirement for browsing or posting on the forums.
Finally, you question the stability of the system without any justification. Do you justify this based on the size of the user base? In that case, the original WHS was REALLY stable... oh wait what was that about the file corruption problems?
I've been using Unraid for 2 years and I can attest not only to the stability of the software, but also to the hard work of the Limetech employees and enthusiastic user base. Nothing is released without being heavily tested.
Still, you should never rely on one system to protect all of your data, regardless of the software or hardware you are using. Unraid protects you against hard drive failure. You still need to make backups of critical data. I wouldn't trust any system with the only copy of my data.
arswihart - Sunday, September 4, 2011 - linkI think a survey of the best pre-configured NAS boxes from the likes of QNAP, Synology, and others, would be a nice follow-up to this great article.
Hrel - Sunday, September 4, 2011 - linkKind of surprised you didn't mention UPS or surge protection. Yes choose a good power supply. But plug that power supply into a UPS and since UPS's have inadequate surge protection plug that into a high quality surge protector. How good do you think it is for your hard drives to randomly shut down every time the power goes out?
I personally use a small 60 dollar APC UPS plugged into a Belkin surge protector rated at about 4000 Joules. I have my computer and file server set up to power themselves down properly when being powered by UPS. That was there are never improper shut downs.
Finally, in my experience FreeNAS works fine on 1GB of RAM. (I've never tried less). Only reason I could think to have more than that is if you're streaming HD video.
JohanAnandtech - Monday, September 5, 2011 - link"Only reason I could think to have more than that is if you're streaming HD video. "
Filesystem caching does wonders for the performance of a fileserver. I would definitely use 4 GB.
tiro_uspsss - Monday, September 5, 2011 - linkWhy wasn't ECC RAM mentioned?
Please don't give the excuse 'its too expensive' - it isn't - suck it up.
Given that the file server stays on 24/7(?) & is holding data, ECC is a no-brainer!
Oh & for anyone interested I know a way to get 4 cores, 2GB ECC+REG RAM, 2x GbE Intel server mobo for ~USD$60 & it'll take ~100W from the wall socket @ load. Only downside to this rig config is: 32-bit only, E-ATX mobo & only 2 expansion slots (PCIEx8 & PCI-X). PCIEx8 is enough for a RAID card tho. Mobo has 6 SATA ports.
imaheadcase - Monday, September 5, 2011 - linkECC is not needed is why. Servers don't need error correction since its just for storage and not actually doing work.
HMTK - Monday, September 5, 2011 - linkFor something that runs 24/7 you DO consider ECC. Just in case something happens in memory and gets written to disk in a corrupt state.
WillR - Monday, September 5, 2011 - linkSorry, but the first half of page 3 about CPUs is poorly written.
"My preferred Atom home server motherboard/cpu combo is the ASUS AT5NM10T-I, a passively-cooled, Atom D525 "
Links to a deactivated product. And then it's obviously not preferred when you say
"it is difficult to recommend the Atom-based solution given Zacate's substantial performance advantage."
Even though AnandTech's own Bench charts for the two contradict this claim. http://www.anandtech.com/bench/Product/328?vs=110
The two are nearly identical performance wise. I'd personally reiterate the lack of hardware encryption and suggest more power for the user that likes having the future option of utilizing SW RAID with parity. Neither are quite powerful enough to handle that task while trying to saturate a gbit LAN.
I personally consider purchasing a copy of WHS to perform the function of a simple file server as absurd. For what purpose? To have your XBox 360 work with it out of the box?
To add to the absurdity, I'd suggest:
6 SATA II ports, dual high quality NICs for some redundancy, and IPMI.
Intel Xeon E3-1220
as dual core Xeons are nearly extinct.
$15-40 worth of Kingston or Crucial ECC DDR3. 1 GB is plenty for a file server, but 4 is so cheap these days even with ECC that you might as well buy some OS level cache.
IMHO, if you're going to suggest parts for a server, suggest server parts even if it's for a home user/office. Also, IMHO, for anything less than what's needed by a rig such as this, the user would probably be well served by a NAS unit or even a router with support for sharing an external hard drive on the LAN and FTP to the world via the router's own firewall and port forwarding. Using the Atom or E-350 is quite possibly the overkill scenario for those just needing to share 1 drive between 2-4 PCs 24/7, yet underpowered when trying to accomplish high performance data transfers and data security. As a RAID 0/5 backup server they'd be adequate.
HMTK - Monday, September 5, 2011 - link++