Reader's Voice: Building Your Own File Server


So now that your box is assembled, I recommend Knoppix Linux, which is a bootable live system on a CD or DVD, to test it. This will check that Linux recognizes all the hardware. With Windows, almost all drivers are written by the manufacturer and are tested with Windows. However, with Linux, most vendors don’t supply drivers and rely on Linux volunteers to write the software based documentation.

More enlightened manufacturers supply Linux drivers that they support. For example, all Intel 802.11x wireless chips include Intel-supplied drivers. I recommend supporting manufacturers that support Linux on their hardware.

Several-year-old hardware is almost certainly well-supported by the Linux community. If there were any bugs with the drivers, then they stand the best chance of having been fixed.

It is possible that the latest Linux distributions will support your hardware, while the slightly-older Knoppix distribution will not. This should only happen with very new hardware. Just burn a disk, alter the BIOS to boot off the optical drive, and your computer will run Knoppix.

One boot option is to run memtest86+. I like running it for a day or so to be sure the system is stable and there are no memory errors. There is no point in installing software when there are hardware reliability issues.

Operating System

There are several choices for operating systems that support software RAID, such as Microsoft Windows Server operating systems with support for RAID 5. You can even tweak Windows XP to support RAID 5.

However, I don't recommend Windows for several reasons. First, it is expensive. Windows Server 2008 costs start around $999. Another reason is that Windows does not remain as up to date as other operating systems do with respect to RAID support. Finally, Windows is (in this writer's opinion) likely the least secure and reliable operating system, both of which are very important for file servers.

There are many ways of measuring security and reliability, and you can find many biased reports, some of which are even sponsored by the vendors. I have found a good report on security at The Register. Although it is from 2004, the main points remain true today. They found that, for the top 40 security bugs, the average severity was 54.67 for Microsoft and 17.96 for Red Hat Linux. I recommend anyone choosing Windows for their file server to read the report first.

Next are the various versions of BSD Linux: OpenBSD, FreeBSD, and others. They don't cost anything and are reasonably secure and reliable. The biggest limitation is they aren't as modern as Linux with respect to RAID support.

OpenSolaris doesn't cost anything and is also fairly secure and reliable. It does have limited hardware support. On the other hand, it has ZFS, which is currently the most sophisticated, reliable, and robust file system. Plus, it incorporates RAID 5 and RAID 6 functionality. It isn't as popular as Linux, but if you are familiar with it, it is a very good choice for a file server.

Finally, there is Linux, which also doesn't cost anything and is both secure and reliable. It has great hardware support and supports RAID 5, RAID 6, RAID 10, and virtually all other forms of RAID. Linux is evolving quite rapidly, so new hardware will quickly be supported and new software features will be quickly added. When you update a Linux system, you don't have to reboot it, so Linux systems can run continuously for months or even years at a time.

There are many different Linux distributions. Some, like Red Hat, offer better long-term support than other distributions. Others, like Fedora (which Red Hat distributes), are geared for quickly incorporating new software into the distribution. Ubuntu’s main quality is its user-friendliness, while it is the distribution that is the most popular. You can read about the top 10 distributions here.

I picked Mandriva Linux since there are releases twice a year, the support lasts several years, and it has all the features I care about. However, any recent Linux distribution can be made to work. For documentation information, check here. There is a very good introduction to Mandriva guide, which is recommended reading before installing Linux for the first time.

Create a new thread in the UK Article comments forum about this subject
This thread is closed for comments
    Your comment
  • sub mesa
    Next are the various versions of BSD Linux: OpenBSD, FreeBSD, and others. They don't cost anything and are reasonably secure and reliable. The biggest limitation is they aren't as modern as Linux with respect to RAID support.

    This is curious since BSD has the best performing RAID5 drivers i've seen so far. FreeBSD 8.0 also supports the latest ZFS version (13) just like OpenSolaris, and you don't have to use FUSE or any other userland-wrapper, since its a kernel implementation. The only thing i see BSD doesn't offer, is traditional RAID-6 support. But it does offer ZFS with RAID-Z2 which is comparable/superior to RAID-6.

    So you loose RAID-6 support, but you gain alot because FreeBSD has a very sleek storage-framework known as GEOM. Its a framework that allows you to play lego with your disks. You can use GEOM modules like RAID0 or journaling and connect them to eachother in any combination you want. So you can have a chain that goes like: Disks -> RAID0+1 -> Encryption -> Journaling -> Filesystem. Checkout this wikipedia page for a list of available GEOM modules:

    So i would disagree in the statement that FreeBSD is lacking in terms of technology relevant to storage; its more the other way around. Linux is more universal and widespread, with alot of users and information found on the web, while BSD offers access to the latest technologies in part thanks to its license, which allows incorporation of Sun's Dtrace and ZFS technologies. Due to the GPL license GNU/Linux is using, these technologies may not be directly incorporated into the kernel, and a seperate kernel-userland interface has to be maintained so it runs outside the kernel, like the FUSE (Filesystem in USErspace) project did.

    Its also awkward that FreeNAS is not mentioned. This is based on FreeBSD but has a simple web-gui that any Windows user should be comfortable with; a simple way to try something else than Windows. You can even use it in a VM solution like the free Virtualbox, to test its usefulness. FreeNAS 0.7 will also allow use of ZFS, albeit an older version (version 6). This does bring ZFS technology in very close reach of casual computer users without experience beyond Windows.

    Also, a 64-bit CPU is pretty much required for ZFS as well as at least 2GB RAM but preferably 4GB+. Multicore is great if you want to use live compression/encryption. Note that Linux/BSD can do multiprocessing alot better than Windows so you'll want at least a dualcore. AMD cpu's do very well in NAS systems because of their low idle power consumption, low price, good multicore and FPU performance and the available chipsets are low-power and provide 6 full-speed SATA ports. AMD 740G/760G/780G and nVidia GeForce 8200/8300 chipsets are the ones to look for. The motherboards with these chipsets often come in Micro-ATX format, which still allows you two PCI-express ports (the x16 and one x1) for expansion with PCI-express SATA controllers.
  • petur
    Congrats: I can fit at least 4 of my NAS boxes into your one fileserver. Each of those NAS boxes has an 1.6GHz intel cpu and 1GB ram, an fits at least 4 drives.
    Maybe that makes you understand why NAS boxes exist. Anybody can convert an old PC to a server, but it will always be a noisy big box.
  • sub mesa
    Personally i think you should not use too old components as they use too much power. Its better to buy a newer though low-cost system with energy saving components and have a very compact solution that is both silent and consuming very little power.

    The Intel Atom is nice but the Intel chipsets are not, the ION platform is more viable, as it offers PCI-express; something Intel didn't want you to have because its afraid it might hurt their more profitable core2 cpu sales. Future generations of Atom will have PCIe though, and it will allow many additional SATA ports for your NAS at full speed.