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!

File Server Operating Systems
POST A COMMENT

150 Comments

View All Comments

  • HMTK - Monday, September 05, 2011 - link

    We don't even use encryption for our enterprise customers. There's just no point. How easy do you think it is recovering useful data from a RAID member? Not talking about a mirror here but RAID 5/6/10 Reply
  • qoonik - Sunday, September 04, 2011 - link

    Hardware:
    motherboard: supermicro X7SPA-H-D525 (
    - Intel® Atom™ D525 (Passive cooling)
    - Intel® ICH9R Express Chipset
    - 6x SATA (3.0Gbps)

    ram: 2 x 4GB DDR3 SO-DIMM Kingston
    case: CFI A7879 Mini-ITX NAS/Server Case - 4 Hot Swap Bays
    psu: FSP120-50GNF (FANLESS)
    fan: BeQuiet SilentWings 120 mm PWM
    hd: 1 x WD green 1.5 TB (completing ... )

    OS:
    Amahi Home Server (Fedora) http://www.amahi.org
    Reply
  • Rick83 - Sunday, September 04, 2011 - link

    Gonna chime in here ;)
    motherboard is a gigabyte P55-UD5
    i5 650
    10xSATA + 2x eSATA + 1xIDE + 2xIDE from PCI card
    2x1 GB some-DDR3
    CM Stacker STC-1 (yes, the original goodness!) with 3 4in3 modules
    psu: seasonic 430W with plenty of power adapters
    fan: stock fans all around (120mm per 4in3, one 120mm exhaust, one 80mm top exhaust, no CPU fan), CPU cooler is a scythe Yasya
    hd: 1x 8GB transcend IDE flash module (SLC), 1x 2.5" transcend IDE ssd (SLC), 1x 40GB seagate IDE, 1x 80 gb WD IDE, 1x 80GB seagate SATA, 3x 400GB Seagate SATA, 5x WD 1TB EARS SATA, 1x Samsung 1TB SATA (12 spinning disks, 2 SSDs)
    an optical drive
    a TV-card (though apparently broken...stream coming out of it is corrupted)
    an IEEE1394 CF Card reader
    Setup is 2x RAID1 (second level back up, and dynamic system files, consisting of the small disks) ad 2x RAID 5 (main and back-up array)
    graphics: nVidia 6200 - looking to replace this with something that idles at lower energy - can't stand the card being as hot as it is, with no screens attached.

    Now having lived with that machine for a few years (previously it was running only 7 disks and a sempron single core on it, before that there was a pre-cursor server that was running on different celerons and as little as 32MB of RAM) I am currently looking at options to make the disks more accessible. Something this article doesn't touch on, is with many disks come many deaths. Which is where a hot-plug cage really comes into its own. So I'm on the look-out for affordable backplanes with 120mm fans which I can replace 1:1 with two of the 4-in-3s (my IDE disks will have less use in a hot swap cage ;) )
    Reply
  • Death666Angel - Sunday, September 04, 2011 - link

    That's a nice coincidence. I just ordered my file server stuff this week and it got here on Friday. So far I just put it together, haven't turned it on, yet (exam stress).
    I haven't read this article, hope my stuff isn't too useless. ;-)
    Just a fyi, here is the system I have:
    - Sharkoon T9, 9 x 5.25"!!
    - AMD Phenom II X4 840 (fake Phenom btw)
    - Asus M4A88TD-V EVO/USB3, which supports ECC memory
    - 2x4GB Kingston DDR3-ECC 1333MHz RAM
    - 2 x IcyDock 5 in 3 Backplane (MB455SPF-B)
    - Intel Gigabit CT Desktop Adapter for PCI-E x1
    - A300 Couger PSU (staggered spin-up ftw! I just hope it works out ;-))
    - Highpoint Rocketraid 2680SGL + 2 MiniSAS to 4xSATA cables

    I'll use 8 2TB HDDs for a RAID5 with Linux Ubuntu, at least that's the plan. I'll also get a UPS soon. I have enough space to upgrade to a second raid adapter (the motherboard has 2 PCI-E slots and I hope the graphics slot will be accepted) and have 15 HDDs in the 9 5.25" trays and I can cram one additional one in there for sure ;-).
    Reply
  • Rick83 - Sunday, September 04, 2011 - link

    That's a big RAID-5.
    Those are pretty risky: Rebuilds take a long time, and are dependant upon all other disks surviving that long.
    If you really want to go the way of 'one big RAID 5', I'd propose to go with 7 disks and keep one as hot spare. That way at least the rebuild will start right as the first disk dies, minimizing somewhat that other disks deteriorate gravely until a replacement disk is there.
    In general I'd stop with level 5 at 6 disks though. Consider Going with two 4-disk level 5's or a level 6 also.
    Ideally of course you'd have two level 5's where one is a regular back-up of the other, but using a different file system.
    Reply
  • qoonik - Sunday, September 04, 2011 - link

    Also consider software protection like flexraid http://wiki.flexraid.com/. Reply
  • Death666Angel - Monday, September 05, 2011 - link

    Yeah, my ideal solution was to go with RAID6 where 2 disks could fail (and of course a real RAID controller with a XOR unit and 16 sata ports) but that would have cost about 4 to 6 times the price of the 2680.
    I haven't heard good things about the spare disks, so I would rather go with 2 4HDD RAID5s. But I will do some testing before setting it up, I have 4 empty 2TB drives and will play around with pulling a disk out, having the array rebuilt etc. and then I'll decide which way to go.
    Luckily, the only sensitive, non-easily recoverable data will be my photos and probably some system images which will be backed up regularly. The music and videos can easily be ripped from my collection again. It will be time lost, but not inrecoverable :-).
    As for software RAID, I haven't heard of flexraid. I looked into FreeNAS and ZFS and that wasn't up my ally. Very powerful filesystem, but FreeNAS is too limited to just providing a NAS. I would like to have the option of going full server with this too, hosting different things. And the linux port of ZFS isn't stable as far as I heard, so that was out of the question.
    With the hardware controller I know that I am not OS dependant and all that I read is that in a case of failure, modern raid controllers can also be switched easily by a model from the same maker and not lose any data (which I heard wasn't the case a few years/decades back). :-)
    Reply
  • alpha754293 - Tuesday, September 06, 2011 - link

    My current system is 10 * 3TB (30 TB raw, 27 TB RAID5). If I go with anything else, I'd have to probably pile LustreFS or some other kind of distributed FS on top of that, which adds to the complexity, and cost, and another system, and power, and complexity in the parity calculations.

    A second server will likely go online and it will run rsync or something akin to that for incremental backups.
    Reply
  • Lonyo - Sunday, September 04, 2011 - link

    You seem to have missed the perfect board for an Atom based file server.
    http://pden.zotac.com/index.php?page=shop.product_...

    6 SATA ports, x16 and x1 PCIe slots (for potentially 2 RAID cards).
    DTX means it should fit in an mATX case (assuming there is one with enough HDD space), or if you are making something custom the footprint shouldn't be too big.
    Reply
  • qoonik - Sunday, September 04, 2011 - link

    also suggest supermicro X7SPA-H-D525 ( Intel® Atom™ D525 (Pineview-D)
    Dual Core, 1.8GHz (13W) processor, 6 sata,2x RJ45 LAN port, Mini ITX)
    Reply

Log in

Don't have an account? Sign up now