A storage virtualization primer

Storage is perhaps the least optimized component of the virtualized organization, but all of that can change with storage virtualization. Although the concept can be difficult to grasp, the benefits of storage virtualization are clear.

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 features

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.

Want to keep up with Scott Lowe's posts on TechRepublic?


Since 1994, Scott Lowe has been providing technology solutions to a variety of organizations. After spending 10 years in multiple CIO roles, Scott is now an independent consultant, blogger, author, owner of The 1610 Group, and a Senior IT Executive w...


When it comes to storage virtualization, the choice of technology and/or solution is very important. Choosing a solution that combines both storage and server virtualization would remove complexity and reduce cost. Virtual Storage Appliances installed in production have not been very successful due mainly to their poor performance and interlaced dependency on physical shared storage and the hypervisor. There are new technologies and solutions today that go a even further in addressing storage virtualization challenges by combining bare metal storage virtualization, server virtualization, clustering technology and an integrated management/monitoring console, which provides enterprise class performance that is fully integrated to remove any form of complexity or dependency. Claude Goudreault, Founder and CEO of VM6 Software (


This is a good introduction. I would recommend to expand to enterprise level.


Stacking complexity on complexity rarely yields increased reliability. The theoretical ability to have storage servers swishing from one virtual existence to another on demand does not imbue me with confidence in the long-term viability of the bytes. Simplicity in design and implementation are usually better approaches to storage.


Interesting article....however, how would databases (Larry's (Oracle), Evil Empire's (SQL Server), Incredibly Big Machine's (DB2) function in such an environment? I'm most familiar with Oracle on Network Appliance, NFS-mounted to UNIX servers.....

Scott Lowe
Scott Lowe

I can see storage virtualization providing a similar level of availability as that afforded by server virtualization availability techniques. Although it's another layer of abstraction that does add some under-the-cover complexity, it can - again, if done right - make a system easier to manage and provide an additional level of fault tolerance. Think Vmotion - it's a wonderful thing. Now, take that to storage. Although the storage side is certainly dicier - you definitely don't want to make a mistake with it - there are benefits to be had.


Virtualization sits between the dbms (or any io request, for that matter) and the physical (actual) i/o itself. What the virtualization people don't tell you About is the 20-25% overhead you incur by adopting it (from the extra layer of abstraction. So those apps that have tight performance Needs should not be virtualized

Editor's Picks