When it comes to enterprise class storage solutions you have a lot of choices out there. Not only are there a plethora of storage manufacturers to choose from, but many storage manufacturers offer a plethora of products from their brand that handle storage in a plethora of different ways. If you were to ask any of these manufacturers if their solution is the one that is right for you I guarantee that the answer will always be:
“Of course! Our solution is the best!”
The truth? It depends.
What are you trying to accomplish? Why do you need centralized storage, or different clusters of centralized storage? What kind of data will you be putting on your storage? How is that data read and written? What kind of performance do you require? How much are you willing to spend?
The storage solution that you choose is going to depend on many different factors. And one of those factors is should you acquire a SAN or a NAS?
The Difference Is More Than Just A Reversal Of Letters
A SAN is a Storage Area Network, and a NAS is Network Attached Storage. Those names are deceptively similar, but the major difference between the two technologies is that SANs are designed for block level access to the storage device and a NAS allows access to a filesystem.
So what is the difference between block level access and access to a filesystem?
With block level access the system connected to the storage is using SCSI (Small Computer System Interface) commands to interface with the storage. This means that the system is able to see and interact with the storage as if it were a hard drive that was installed locally. The system is using a protocol like FC (Fibre Channel), FCoE (Fibre Channel over Ethernet), or iSCSI (Internet SCSI) to communicate with the storage controller. All of these protocols encapsulate SCSI commands into packets that travel over the network and eventually interact with the storage device.
This means that a SAN is presenting a storage device to the system’s attached to it. The OS that is accessing the storage sees it as a local device, and interacts with the storage in pretty much the same way that it interacts with any local drives. You an even configure a system to boot from a SAN storage device with the FC and FCoE protocols.
A file system on the other hand grants the operating system access to the files on the storage device. The common protocols used to connect to a NAS are SMB/CIFS (Server Message Block/Common Internet File System) for Windows systems, and NFS (Network File System) for UNIX and Linux systems. These protocols do not encapsulate the SCSI commands but instead break a file down into small chunks that an OS can work with. This puts some layers between the client accessing the storage and the data itself, because instead of interacting directly with the storage device your OS is actually interacting with another OS. The OS that actually hosts the data then interacts with the storage using SCSI commands.
One of the great advantages of a NAS is that it tends to be cheaper than most SAN solutions. Often the total cost of ownership is lower because unlike a SAN solution which usually requires special hardware for both the array and the client a NAS solution can probably use the client system’s existing network connection and hardware.
So Which Is Better?
Guess what? It depends.
To make the decision even more complex more and more solutions can be both a SAN and a NAS depending upon how you configure the solution, what features you purchase, how systems are connected to it, etc. But whether or not you should use a SAN or a NAS will be very dependent upon the data that it will host and your various use cases.
Structured data such as databases are usually stored on a SAN because the performance that such databases require is easier to achieve with a block level solution. Very small files also tend to be delivered better via a SAN solution. Large streaming files on the other hand are better served from a NAS solution, and in many cases the administration of a NAS is much easier (and thus cheaper) than the administration of a SAN.
This is why it is so important to understand what your clients do and what kind of data they are using to do it with. Ask them specific questions, and do not settle for vague answers. Follow-up with more questions that will whittle away the vagueness and reveal the actual need(s) of the client. Then you will not be asking whether a SAN is better than a NAS.
Instead you will be asking which is the better solution for my client? A SAN or a NAS?