Author: Dave Norwood
1) No Stranded Storage
Normally, if you have three or four different servers, each server has its own direct attached storage, literally— drives plugged right into the server, or a shelf hanging off the server. Server A could have all kinds of free space, and server B could be plumb full— it doesn’t matter, they’re independent, they can’t share storage. So we have server A, which everybody predicted was going to need terabytes of data and now doesn’t need it. Then we have server B, which we shorted and didn’t give enough data so now we’re stuck. There’s no way to transfer that storage from A to B, so you end up with stranded storage. A shared storage avoids that by pooling the storage onto a single device and allowing all the different servers to access storage simultaneously. Now, if server B starts growing and needs more space we just allocate more of that pool of storage to server B.
In this day and age, most organizations have virtualized their servers. In other words, they have a single, physical box and they might have two, three, five, or ten virtual machines, or virtual copies of windows server, running on that single physical machine. There are great benefits for that: better utilizing our hardware, save energy in cooling costs, etc. However, the down side is that all our eggs are in one basket. All of those virtual servers are running on one physical box. If that physical box goes down, then all of the virtual servers running on it go down and are unavailable. So you don’t just lose one server, you might lose ten.
One of the ways to minimize that risk is to have shared storage. The virtual machine files are all stored on that shared storage. Then you can bring up servers one, three, and five on one physical box, and spin up servers two, four, and six on another physical box. Both physical servers can see that same shared storage. If that first server goes down, a physical server fails, you could then say, “Ok let’s spin up one, three, and five on that second server.” Now all of them, servers one through six, are running on that one physical server. You may have some performance issues, but at least you’re up and running. Without shared storage, where all virtual servers live and their files live, you can’t do that. You can’t migrate the virtual servers from one physical host to the other physical host.
Another advantage of virtualization are things like live migration in the hyper-V world or VMware. V-motion, where we can migrate it from one physical host to another physical host without taking a virtual server down. The only way that you can usually do that, is if you have shared storage.
3) High Availability
Building on the previous paragraph about virtualization, we have high availability. If we lose a physical box, we can bring up those virtual machines on the second or third box. A “best practices” set up is where we take three physical hosts and a SAN, or shared storage. We then load balance the virtual servers across three physical hosts. If any one of the three hosts go down, one third of the load is lost. However, the one third is spread across the other two hosts, so we have what we call high availability, meaning, that even though we’ve lost a physical host, we can continue to function.
4) Data Protection
A great example of data protection is called snap shots. The SAN is a sophisticated storage device that has the ability to do things like snap shots, which is basically taking a photograph of the data as it looks right now. You can have that automated to take a snap shot every half hour, every hour, every day, or all of the above. It takes a snap shot of what the data looks like. That becomes important if, down the road, we have data corruption. For example, let’s say at three in the afternoon a virus happens. The server freaks out, our data gets corrupt. If you’re only relying on backups, you’ve got to go back to whenever the last backup was run, which could be hours, days or weeks ago. With snap shots, we can actually revert back to the last time a snap shot was taken, which might only have been minutes before the corruption happened. We have much better data protection in a shared storage environment. It is a dedicated device that does storage, so it has special features to protect the data— such as snap shots.
5) Better Performance
This comes because we’re putting all of our storage in one big pool. Performance in storage is based off the number of disks if you have— a single server with three or four disks, and another server with three or four disks, and another server with three or four disks. Each of those servers have their own performance, but they can’t share it across the three servers. It’s stranded in each server, so if one server is twiddling its thumbs and not accessing the storage at all, but another server is getting hit hard, it doesn’t matter. It can’t borrow performance from the other server. In a shared environment we can borrow it. Instead of having a total, say fifteen disks, spread across three or four servers, we have all fifteen disks in a single pool. All of that performance is available for all of the servers. So, if one server is really getting hit hard and needs a lot of IOPs, while the other three or four servers are twiddling their thumbs, that hungry server can utilize all of the disks and the associated performance that comes with a larger pool of disks. You’re able to give better performance when needed because, once again, you have that shared pool of resources.