When some people set out to build a network-attached storage server (NAS), they feel that they need a “NAS operating system” to match.
Why does this happen? After all, a NAS is nothing more than a file server with a dedicated storage interface. Or, in other words, a file server with limited exposed functionality.
The main appeal of a NAS appliance is that they include an integrated support stream along with specialized functionality (NetApp’s SMB/NFS integration and unique RAID and filesystem options come to mind).
Moving to a NAS to replace a traditional file server is mostly a recent phenomenon, and one that’s often driven by misconceptions.
Know Your Needs
Somehow, people get the impression that managing a file server, one of the most basic IT workloads, is a unique or difficult application.
What they forget is that file servers are usually considered the most basic form of server, and traditionally what users mean when using the term. It remains the only form of server commonly integrated into desktops, and is supported by Mac, Windows and Linux.
There’s nothing wrong with turning to a NAS instead of a traditional file server to meet your storage needs. Some modern NAS options, like Exablox, offer scale out and storage options that are not available in most operating systems along with perks like RAIN style protection.
But the trend to use a NAS instead of a file server has led to some odd behavior when IT professionals turn back to considering file servers again. There’s a clear cascade effect at work, where the reasons for getting a NAS gradually turn into “I should have a NAS,” whether or not it is actually necessary.
Why a NAS?
The general concept of a NAS is simple. Take a traditional file server, remove all the options, package it with all of the necessary hardware to make a simplified appliance, and include support for everything from the interface down to the spinning drives.
A NAS simplifies storage and hardware concerns by integrating them into the platform. This makes things easier for the end user but can add risk due to fewer support options and less flexibility for fixing or replacing hardware yourself.
A move from a file server to a NAS appliance is almost always related to support and a strong commitment to a single vendor. You usually choose the NAS approach because you want to rely on that vendor for everything.
Back to the File Server
When we move to a file server, we go in the opposite direction.
A file server is a traditional enterprise server like any other – you buy your server hardware from one vendor (HP, Dell, IBM, etc.) and your operating system from another (Microsoft, Red Hat, SUSE, etc.). You specify the parts and the configuration that you need and you have the most common computing model for all of IT.
With this model you generally are using standard, commodity parts, which allows you to easily migrate between hardware vendors and software vendors. You have “vendor redundancy” options and generally everything is done using open, standard protocols.
You get great flexibility and can manage and monitor your file server just like any other member of your server fleet, including keeping it completely virtualized. This approach sacrifices the vertical integration of the NAS in exchange for horizontal flexibility and standardization.
Under the Hood
This brings us to an interesting aspect of this commodity model: the so-called “NAS OS.”
Some of the better known examples include NAS4Free, FreeNAS and OpenFiler, but they all follow a similar formula: take a standard operating system (often FreeBSD as it has ideal licensing, or Linux because it is well known), add a storage interface, and include some additional functionality that would not exist with the normal operating system.
In theory, these are “single function” operating systems that do only one thing. But this is not how they work in reality. They are general purpose operating systems with an extra GUI management layer added on top.
One could say the same thing about most physical NAS products as well, but they typically include custom engineering down to the storage level, special features and, most importantly, an integrated support stack and true isolation of the “generalness” of the underlying OS.
A NAS OS is not a simpler version of a general purpose OS. It is a more complex, yet less functional version of one.
Messing with the Formula
What is additionally odd is that general OSes, with rare exception, already come with very simple, extremely well-known and fully supported storage interfaces. Nearly every variety of Windows or Linux servers, for example, are bundled with simple graphical interfaces for these functions for a very long time.
GUIs included with an operating system are often shunned by administrators as being too bloated or considered unnecessary for a simple file server. So it is even more unusual that adding a third party GUI, one that is not patched and tested by the OS team and not standardly known and supported, would be considered a viable alternative.
And this is where the Jurassic Park effect comes in—the OS vendors (Red Hat, Microsoft, Oracle, FreeBSD, SUSE, Canonical, et al.) are giants with amazing engineering teams and code review, testing, oversight and enterprise support ecosystems while the “NAS OS” vendors are generally very small companies, some with just one part-time person, who stand on the shoulders of these giants and build something that they knew that they could but never stopped to ask if they should.
As a result, these operating systems are wholly inferior to their pure counterparts. They do not make system management easier, nor do they fill a gap in the market’s service offerings.
Things are about to get even scarier. Keep reading in part 2.