These days, it’s very likely that you’re doing something with virtualization. The most common virtualization use case is what is commonly known as server virtualization. In a server virtualization project, IT administrators take steps to separate the running workloads from physical hardware in an effort to make better use of overall IT resources and provide an organization with additional infrastructure resiliency.
There are, however, others forms of virtualization that can have major benefits to an organization. One such type of virtualization is known as storage virtualization and, like its server-based cousin, aims to provide IT administrators with even more infrastructure flexibility and resiliency.
What is storage virtualization?
Storage virtualization is a somewhat nebulous concept. This situation is exacerbated by the fact that storage and hypervisor vendors are taking similar (and sometimes different) steps to reach the same goal.
To understand what storage virtualization is, let’s start by a looking at how server virtualization works. Server virtualization pools server-side resources into what appears to be one massive host; these resources are then doled out to individual virtual machines. These virtual machines don’t care where the resources (RAM and processor) reside; in fact, it’s likely that the resource location will change over time as machines are migrated between hosts. That is the beauty of the solution, though; since the virtual machine doesn’t care where its resources come from, it can move seamlessly between hosts.
Now, think about what happens when you use vCenter to create a new virtual machine on a VMware ESX-based host cluster: You’re asked to specify how much RAM and how many processors are required by the virtual machine, and then you’re asked to choose which data store will house the virtual machine’s files.
Without storage virtualization, this data store selection simply points to an existing VMFS store, whether it resides on direct-attached or shared storage.
For small and medium size organizations that have, say, a single SAN or storage array, this isn’t a huge problem. But what happens when you start adding storage arrays? Perhaps you are adding a new SAN to expand capacity or are implementing a less expensive storage method in order to tier your storage. As was the case in the old days with servers, every time you add storage, you start to add complexity and inefficiency to the environment.
Enter storage virtualization
In its simplest form, storage virtualization pools all of your storage resources into a single logical entity; this should sound familiar since it’s the same process you went through when you started virtualizing your servers. Storage virtualization adds an abstraction layer between the physical storage devices and the hosts using those devices. This layer becomes the traffic cop for storage, redirecting read and write requests to appropriate locations without the administrator having to worry about the specifics. (This sounds a lot like server virtualization.)
With a fully implemented storage virtualization platform, administrators create virtual disks that the storage abstraction layer then maps to physical devices. Better yet, storage virtualization is a vendor-agnostic tool, allowing you to combine storage from different vendors into that single, logical pool.
Single-array storage virtualization
As I mentioned, storage virtualization really comes into play as you add more storage devices that are then aggregated into a pool and abstracted out to various hosts for slicing and dicing. But what happens if you have just one storage device? Is it possible to virtualize that device?
Think back to your server virtualization experience; is it possible to run all of your virtual machines on a single host? Sure it is, but you lose a ton of the benefit that comes from virtualization, including high availability and the ability to balance workloads. Likewise, with single-array storage virtualization, you might gain some administrative benefits, but you won’t enjoy some of the higher end availability capabilities, and you are working with a single point of failure.
Hypervisor vendors are not sitting on the sidelines when it comes to enhancing the use of storage virtualization in order to achieve higher levels of availability. For instance, VMware has taken some significant steps with regard to storage virtualization though Storage VMotion, which relocates a virtual machine’s physical storage location in a non-disruptive way.
By using VMotion and Storage VMotion along with an appropriately architected infrastructure, you can remove all bottlenecks and points of failure from your environment and increase overall availability of the services that ride on that infrastructure.
Where it shines
Storage virtualization truly shines in a heterogeneous storage environment; in these places, storage virtualization can remove complexity from the infrastructure and provide the benefits described.