Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I want to build a NAS that supports hard links (linux based, NFS?) due to the software that will use it. I need some kind of RAID in case of a single drive failure.

I really like FlexRaid, but it does not support hard links.

FreeNAS has a nice RAID option - ZFS / Raid-Z, but it seems like you loose a LOT of space (50% approx?).

UnRAID - not sure? Free version only supports 3 drives.

OpenFiler looks like a decent choice with it's software RAID-5, and you do not seem to loose too much to the RAID overhead.

Any other options or ways to think about this ?

share|improve this question
up vote 3 down vote accepted

This is a very open-ended question, so what works for one person might not work for you. I personally would go with an (Open)Solaris type install using either NexentaStor or OpenIndiana/Solaris Express with Napp-IT web UI management interface. FreeNAS is nice, but it's based on freebsd & it's version of ZFS is several versions behind Solaris. I have also read in the past that it does not perform as optimally on freebsd.

Not sure where you're getting 50% RAIDZ space from? A default RAIDZ pool with no additional features turned on uses the same amount of space as traditional RAID5. You lose one drive to parity for each level RAID you chose, so RAIDZ1 = 1 drive, RAIDZ2 = 2 drives, RAIDZ3 = 3 drives, but each level also adds additional fault tolerance, so depends on what's important to you.

OpenFiler is a nice linux based filer OS, but I wouldn't use it's software RAID capabilities. I'd want a hardware based RAID controller. mdraid is OK if you don't have any other option, but you'd want to use another option if you had it. Since I've learned the simplicity of managing ZFS, the thought of dealing with Linux file systems for storage (RAID + LVM + FS) just seems too complicated now.

Looking back at what you want to do, the hard linking you require is based on the network protocol you choose. NFS itself supports hard links, yes, but you can run NFS on any modern Unix OS, therefore you can satisfy your requirements a lot easier by understanding that.

share|improve this answer
+1 for suggesting hardware RAID. It's the only option I'd ever consider. – John Gardeniers May 23 '11 at 12:28

I run an Ubuntu server on a fake-RAID5 and it works great as NAS.

The RAID5 was configured through Intel Matrix Storage Manager (chipset dependent), but to mount it in Ubuntu, I used mdadm (lvm is a very powerful alternative, dmraid another simpler alternative). This is problematic when initially trying to install the OS, as mdadm/lvm/mdraid don't seem to ship with Ubuntu's standard OS download (only gparted). However, I believe the "alternate installs" work fine at installing onto a RAID. I ended up doing the extra legwork and installing the OS onto the RAID5 partition (dual boot, other partition containing Windows) using the debootstrap / chroot method from a livecd, which is a bit long-winded but I think worth the experience of the exercise. If your NAS box doesn't have a CD drive, then one option is to mount the RAID onto a computer which already has linux up&running, and chroot from there.

In terms of Network visibility, as mentioned above NFS is fine from Unix, and can be configured for Windows clients as well (home editions might not work, and enabling it is one of those things that only techies know how). So for the best windows compatibility I'd set up a samba server, which also works fine from Unix machines too.

Webdav is pretty cool (enables writing over http(s), setup through Apache, and mountable remotely, including through a proxy / firewall), but doesn't allow streaming commands (e.g. play,pause etc.) for video & audio files. (It's great for working with shared documents though.) Instead an RTP-compliant server is best for network-attached media. VLC has an RTP compliant web interface, but I haven't seen that work yet. Other commercial options are available to try / buy.

So I'd recommend installing Ubuntu Server on to the array and using mdadm to manage the RAID. It works great for me, although I haven't needed to do anything technical with the array (e.g. rebuild a drive). If you need remote access and it's behind a firewall, then I'd setup an Apache webdav location, which is totally visible via a proxy. If it's on a corporate network, and you want everyone to have access, you might want to try LDAP authentication. Otherwise Digest authentication is good, although you'll still want to try & enforce https over http, which is done in an Apache VirtualServer directive:-

RewriteRule ^/webdav/?(.*)$ https://%{SERVER_NAME}/webdav/$1 [R=301,NC]

That's my 2cents... Have I gone off topic??

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.