Problem
I need to get a NAS. A small one, due to physical space constraints. Yet it still needs to hold 3 or 4 drives. Cheap, too. Ideally I'd spend $150, but I can do more if need be. Total cost must be less than $400.
The single media storage drive in my desktop workstation has run out of room, and the box itself has become increasingly unreliable due to overheating and flaky parts. So before the thing dies and takes my drive with it, I should stick it in a separate box, along with two other drives, and thus put all my home media needs in one easily accessible place. I need to get a NAS that can hold at least 3-4 drives.
Options
There are two ways of doing that:
1. Buying a NAS device.
Synology, Buffalo, QNAP, and others make 2-to-4 drive NAS boxes with decent firmware and web interfaces, and are guaranteed Linux/Mac compatible, which is good for all my machines. The downside is that they typically cost $300 - $500 new, which is more than I want to pay. I've checked eBay, but NASes from these vendors and others are purchased very quickly, as there's a thriving resale market. Even used, the devices command a very high price. QNAP, which seems to have the best NAS devices (according to Small Net Builder, would be my first choice based on firmware features and reputation, but the few 4-bay NASes on eBay are still too expensive, and they're sold within just a couple of hours or days.
2. Building my own NAS device.
In theory, this could be much cheaper than purchasing a NAS from a vendor. The downside is that I have to buy the components, assemble them, hope they all work, find a decent NAS operating system, hope it installs, configure it, and hope it works, and then carefully administer updates and other things I don't want to be bothered with.
That's why I was so set on getting a small QNAP or DiskStation -- the firmware and web UI are already in place, and easy-to-use. I just want to put in the drives and set my sharing services. Paying a slightly higher price in exchange for less hair pulling seemed like a worthy trade. On the other hand, choosing my own NAS OS means support for certain things all the vendor-supplied NAS OSes lack, like better filesystem support, or running all kinds of sharing services without being limited to what's in the firmware, for example UPnP/DLNA.
That brings me to the next part:
Requirements
These things will determine what kind of NAS I purchase or assemble, and what operating system I install.
Media serving
1. UPnP: The UPnP server needs to support streaming to normal UPnP clients and an Xbox 360. There's an ION-based HTPC (Zotac MAG) and an Xbox 360 in the living room, attached to the home network.
Right now the HTPC has XBMC installed, but it's so frustrating to configure I may switch to Boxee or some other more user-friendly HTPC OS. Still, at least it does UPnP, which the easiest way to stream something from the desktop workstation, without having to setup Samba or NFS.
Currently, I run uShare from my desktop workstation whenever we want to watch something in the living room. The workstation has all the media files. However, to access them from the HTPC or the Xbox 360, I have to close all networked programs, turn off iptables, and then start the uShare service on the desktop. Not ideal.
2. MPD: Once the NAS is set up, I figure it's a smart idea to just use streaming players, since there won't be any local playback, except for audio CDs on the workstation. All other music will be on the NAS hard drives.
3. iTunes: We do have a Mac on the network, so I probably need iTunes server support via something like Firefly. That way no matter what's connected, it can still receive media streams.
File serving
1. Samba: The universal file sharing protocol. NFS is too unreliable. Samba can be used by anything and everything. The HTPC needs always-on access to the NAS. Same for the workstation and laptops -- they need to transfer content to and from the NAS.
The downside in Linux, at least, is needing to setup transparent Samba mounts for Xfce. It took me quite awhile to figure out how to setup Thunar, FuseSMB, FUSE, gvfs, and Gigolo. That's far, far too much effort, but at least it works when I needed to send stuff to the HTPC's hard drive over the network. Thunar is not a network-aware file manager, nor are there any plans to make it that way.
2. rsync: Useful for backups, as well as other things, I'm sure.
Filesytems
Right now, all my media is on ReiserFS, ext3, and vfat drives. I have two spare drives formatted with ReiserFS but nothing's on 'em, so I can always reformat if necessary. Whatever NAS or NAS OS I choose, it needs to support these filesystems, preferably read and write. I really don't want to have to swap files around when installing, simply because the OS doesn't support a certain filesystem.
Interface
1. Web GUI: The most important: an easy-to-use, preinstalled web user interface. I don't have the first clue on how to install and configure one myself, and I don't want to learn. It needs to already be there. Setting up a NAS should be mostly painless, so it should already provide easy configuration for Samba, access controls, media serving protocols, scheduled backups, and other bits.
2. SSH: I've discovered that with my HTPC and routers, SSH access is sometimes a lot quicker than going through a web GUI. In the case of the XBMC HTPC, sometimes it's ,em>required for upgrades and troubleshooting. There probably aren't many NAS OSes that don't offer SSH access, but it is something to check.
Which one?
If I buy a NAS, I'm at the mercy of the manufacturer for firmware updates, bug fixes, and new features. If I build my own, then the problem is which OS do I choose?
I probably won't choose Gentoo, given that nothing is ready ahead of time. Plus compiling on a low-power NAS box isn't fun. Stock Debian is right out: again, nothing's setup for serving or the web UI.
FreeNAS is often mentioned, but it has subpar filesystem support, and as a BSD, its nomenclature is quite different from Linux. Hardware support is another issue: it doesn't support as much common hardware (such as NICs) as Linux does, based on a survey of low-power Atom and ARM platforms.
Full-on server operating systems, like Ubuntu Server, seem rather bloated, and most of them aren't setup for the NAS role; they're made to be web servers, not media servers for small home networks.
The rest of the server OSes I've come across are designed as firewalls, gateways, or domain controllers, and only offer FTP access -- there's no real file sharing.
* * *
So, what are your thoughts on cheap home NAS devices? Have you built your own? Which OS did you use? What'd you pay for it? Did you buy a vendor-made NAS? Which one and why?
Lemme know!