While technicalities defining which type of storage is which can become problematic, the underlying concepts are pretty well understood. There are four key types of storage that we use in everyday server computing: local disks, DAS, NAS and SAN. Choosing which we want to use, in most cases, can be broken down into a relatively easy formula.
The quick rule of thumb for storage should be: Local before DAS, DAS before NAS, NAS before SAN. Or as I like to write it:
Local Disks -> DAS -> NAS -> SAN
To use this rule you simply start with your storage requirements in hand and begin on the left hand side. If local disks meet your requirements, then almost certainly they are your best choice. If they don’t meet your requirements move to the right and check if DAS will meet your requirements. If so, great, if not continue the process.
That’s the rule of thumb, so if that is all you need, there you go. But we will dive into the “why” of the rule below. The quick overview is that on the left we get speed and reliability at the lowest cost. As we move to the right complexity increases as does price typically. The last two, while very different, are actually the most alike in many ways due to their networked nature.
Local Disks: Local drives inside your server chassis are your best bet for most tasks. Being inside the chassis means the least amount of money spent on extra containers to hold and power the drives, least physical risk, most solid connection technologies, shortest distance and least amount of potential bottlenecks. Being raw disks, local disks are block devices.
Direct Attached Storage: DAS is, more or less, local drives housed outside of the server chassis. The server itself will see them exactly like any other local drives making them very easy to use. DAS is simple but still has extra external containers and extra cables. This adds cost and some complexity. DAS makes it easier to attach multiple servers to the same set of drives as this is almost impossible, and always cumbersome, with local disks. So DAS is effectively our first type of physically sharable storage. Being identical to local disks, DAS is a form of block device.
Network Attached Storage: NAS is unique in that it is the only non-block device from which we have to choose. A NAS, or a traditional file server – they are truly one and the same, is the first of our technologies designed to run over a network. This adds a lot of complication. NAS shares storage out at the filesystem level. A NAS is an intelligent device that allows users over the network to easily and safely share storage because the NAS has the necessary logic on board to handle multiple users at one time. NAS is very easy for anyone to use and is even commonly used by people at home.
Storage Area Network: SAN is an adaptation of DAS with the addition of a network infrastructure allowing the SAN to behave as a remote hard drive (block device) that an operating system sees as no different from any other hard drive attached to it. SANs require advanced networking knowledge, are surrounded by a large amount of myth and rumor, are poorly understood by the average IT professional, are generally complex to use and understand and because they lack the logic of a NAS they effectively expose a hard drive directly to the network making it trivially easy to corrupt and destroy data. It is, in fact, so easy to lose data on a SAN due to misconfiguration that the most commonly expected use of a SAN is a use case for which a SAN cannot be used.
Of course there is much grey area. What is normally considered a DAS can be turned into a SAN. A SAN can be direct connected. NAS can be direct connected. Local storage can act as either NAS or SAN depending on configuration such as with a VSA (Virtual Storage Appliance.) Many devices are simultaneously NAS and SAN and the determination is by configuration, not by the physical device itself. But in generally accepted use, the terms are mostly straightforward.
The point being that as we move from left to right in our list we move from simple and easy to difficult and complex. SAN itself is a rock solid technology; it is the introduction of humans and their tendency to do dangerous things easily with SAN that makes it a dangerous storage technique for the average user. As with everything in IT, keeping our technologies and processes simple brings stability and security and, often, cost savings as well.
There are many times when movement to “the right” is necessary. Local disks do not scale well and can become too expensive to maintain for certain types of larger deployments. DAS, likewise, doesn’t scale well in many cases. NAS scales well but being a non-block protocol is a bit unique and doesn’t always work for our purposes, a good example being HyperV that requires a block device for storage. SAN is the final catchall of storage. If nothing else works, SAN is always there to fall back on – or, as I like to say, SAN is the storage of last resort.
This is a very high level look at the basics of choosing a storage approach. This is a common IT task that must be done with great regularity. I did not intend this post, in any way, to explain any deep knowledge of storage but simply to provide a handy guide to understanding where to start looking at storage options. Exceptions and special cases abound, but it is extremely common to simply skip the best option and go straight to considering something big, expensive and complex and rapidly forget that something much more simple might do the same job in a far superior manner. The underlying concept is the simplest solution that meets the need is usually the best.