Cheap NAS Devices Suck

There are some really good Network Attached Storage (NAS) devices on the market. NetApp is one company that is known for making good products [1]. The advantage of a NAS is that you have a device with NVRAM for write-back caching, a filesystem that supports all the necessary features for best performance (NetApp developed their own filesystem WAFL to provide the features they needed), and a set of quality hardware that has been tested and certified to work together.

If you want a cheap NAS then you end up with something running Linux with GPL filesystems. This isn’t a bad thing as such, but some of the best performance and data integrity features are available in ZFS (which isn’t GPL) and BTRFS (which isn’t ready for production use). Not to mention WAFL which has been providing ZFS/BTRFS type features for more than a decade.

A cheap NAS will generally be sold without disks as this is the best way to keep costs down. Selling with disks either means selling lots of different variations (which means it can’t be sold off the shelf) or selling packages that don’t quite suit some customers (thus causing people to buy the device and replace the disks which means extra costs). This means that the vendors can’t provide the guarantees about disk quality and suitability that NetApp can provide.

One major problem with a NAS is that you typically can’t get shell access. Commands such as “rm -rf” and “cp -rl” which are typically rather quick when performed locally can take ages when run over NFS. Also commands such as “grep -R” which can perform reasonably well over NFS will always perform better when run locally. Also tasks such as compiling big programs which require good disk speed as well as some CPU time can be run locally if you have a file server system that also has local accounts (IE a typical multi-user Unix server configuration), but a dedicated NAS will prevent that.

I have never used a NetApp device due to my clients deciding (sometimes correctly and sometimes incorrectly IMHO) that they are too expensive. But when considering what my clients do the down-sides of lacking local code execution on a NetApp would be more than compensated in many cases by the significant performance and reliability advantages that they offer (see my post about the reliability issues in standard RAID implementations [2]).

A server class system (with ECC RAM as a minimum criteria) running RAID-6 can be a fairly decent file server. That requires hardware RAID with NVRAM for the write-back cache for decent write performance, but when write performance isn’t required software RAID does the job quite well. A Dell tower system will typically hold at least 4 disks which means 6TB of RAID-6 storage and is quite cheap – it can be under $2000. also such a system can be easily expanded with extra Ethernet ports etc. NetApp doesn’t sell products directly and doesn’t list prices, but they do have some adverts for products being “under $7500“. That’s not really cheap but not THAT expensive when you consider the features.

A hidden cost in running a NAS is having someone perform sysadmin work on it. For a relatively expensive device that offers significant features such as a NetApp Filer this expense probably isn’t too great. But for a device that does what any PC running Linux can do it’s noteworthy that more training or experimenting time is required.

There are some special cases where small and cheap NAS appliances really make sense, such as the Apple Time Capsule for home network backups. But apart from that I don’t think that cheap NAS appliances make sense. It seems that cheap NAS devices provide the biggest down-sides of expensive NAS devices (in terms of lacking local access and having a different administration interface to servers) while also having the biggest down-sides of PC servers (lacking the advanced features of WAFL and performance of a NetApp).

Earlier today I started a process of reorganising some backups which included backups to a cheap NAS. I have been very unimpressed by the time taken to copy and rm files over NFS. I’m sure that the job would have been completed hours ago if I had local root access to the NAS.

14 comments to Cheap NAS Devices Suck

  • dodgers

    Fully agree with your position , but in fact some company like mine does not believe in GPL storage solution for they data. They prefer to spent money on real solution like Netapp and EMC.
    I’m a debian user and a great defender of opensource, also a storage administrator on EMC product. And i admit that These companies provide storage solution to perform IO for further kind of application.
    what is missing is a good GPL solution in term of storage that can provide new features available on expensive SAN or NAS arrays (thin provisioning, SSD cache, VAAI, replication and tiering). I can understand that all of this features are not so easy to provide under GPL license.
    Hope too that btrfs can solve this issue soon.
    I’ve found Nexentastor does someone has any feedback ?

  • Julien G

    I used netapp’s a lot at my last job, they are wonderful, although certainly priced at “enterprise” levels.

    Debian kFreeBSD (at least Wheezy) + ZFS is a fairly decent alternative and even allows SSD caching.

  • Chris

    You can get a root shell on some cheap Linux based NAS devices. I use one as an NFS/CIFS/upnp/audio/video server and backup server and for shared files where performance is not important. Has the advantage of low power usage compared to running a desktop machine all the time and some resilience with a RAID setup.

  • Wayne

    BTRFS is GPL licensed.

  • etbe

    dodgers: GPL software can work really well for data storage. It just isn’t part of a well supported NAS package at this time – and it seems to me that it can’t be until BTRFS matures.

    Julien: Good point about KfreeBSD and ZFS. But paying someone to learn that would probably cost more than getting a Linux/Ext4 system and bigger hardware.

    Chris: Of course you could just buy a low power PC to run as a Linux NAS.

    Wayne: Yes BTRFS is GPL licensed, but IMHO it’s not nearly ready for me to recommend that my clients put their important data on it.

  • dodgers

    etbe : GPL software can work really well for data storage. It just isn’t part of a well supported NAS package at this time – and it seems to me that it can’t be until BTRFS matures.

    I’m fully agree !

  • Chris

    etbe – a cheap linux based NAS box can be as cheap or cheaper than many of the lower powered linux boxes around (raspberry pi aside). Probably because they can strip out the parts that a general purpose linux based machine needs but a NAS box doesn’t. For example my NAS cost ~$200 without disk but slots for 4 disks.

  • etbe

    Chris: I expect that the prices have more to do with manufacturing volumes than anything else. A typical PC nowadays doesn’t give much scope for stripping things out, it has everything including the video controller on the motherboard chipset.

    Yes, $200 is quite cheap and if the alternative is buying a low-power system then it’s going to seem like a good option. But if you compare the $200 NAS with using an old system that has been decommissioned from it’s original task then the PC starts looking better. Also if you have a bunch of application server systems then using a cheap NAS instead of just putting the disks in one of the servers isn’t a good idea.

    If you have a real requirement for a low power server then IMHO that is a special case for a NAS, not something that many people encounter.

  • John Slee

    Netapp offer a “simulator” version of their filer software in the form of a downloadable virtual machine image. They had an older version that you installed in a Linux system, also. They use it to run Netapp training sessions, among other things.

    AFAIK it is actually the exact same software as they run on the real filers, as they are the same architecture. The last version I used had artificial limits on the the number and sizes of virtual “disks” you could attach to it – it is a simulator after all, not a real filer – but in all other respects it behaves as a proper Netapp filer, including cluster failover if you setup two instances of it.

    Could be useful for testing things like the compatibility of their CIFS implementation, if your customers had particularly baroque environments.

    I don’t know if it’s freely available to non-customers, but I’m sure you could convince a sales droid to give you a copy if you had a potential sale.

  • Felix Braun

    I’m running debian stable on a QNAP NAS and I must say that for the 7W power usage (claimed by marketing, I didn’t measure myself) , I am more than impressed with the performance.

  • Antony Brooke-Wood

    There are cheaper options that do most of what you want and would allow you to get the benefits of ZFS. HP sell a small NAS with ECC RAM that runs OpenIndiana/Nexenta etc etc just fine .. throw in a remote access card (which HP also offer) and 4 x 2TB drives and you have the makings of a very good NAS.

  • Antony Brooke-Wood

    Ahh … I meant to say a small server that can be used as a NAS: HP MicroServer N40L

  • etbe

    Felix: In my measurements adding an IDE disk to a system adds about 7W to the power consumption. Either that device uses an extremely small amount of power or they are only counting the device not the disks.

    Antony: That device looks nice, but it’s not the same thing as a dedicated NAS, it’s just a server that can be used as a file server. It’s also probably a bit expensive as it’s from HP.

    If I was going to use a HP server (which are generally quite good) for a small file server I’d buy a refurbished one at auction. The prices are good for refurbished gear and I haven’t yet had a problem with HP stuff bought that way.

  • Antony Brooke-Wood

    It depends what you want. If you want to buy something new, including the three year warranty (etc etc), the N40L is really cheap. Plus, you don’t need to rack the whole thing, which can be handy for a small/medium business. Sure, it isn’t at the same level as a dedicated NAS, but it is about 1/5 the price and includes many of the features that you pay tens of thousands for on a commercial NAS (‘remote replication’, ‘local backup’, ‘cloned drives’ etc). ZFS has all of this built in and more. BTW the actual N40L costs about AUD$300 … which … well … its peanuts ;)