The storage industry has been constantly
evolving over the past so many years, and is expected to continue doing so in
the future as well. We saw storage technologies evolve from direct attached
storage to network attached storage and eventually into a storage area network.
All this has of course happened because of a heavy market demand for such
storage solutions. This has led to another challenge, that of managing such a
large and disparate storage infrastructure.
Storage virtualization aims to ease the
such a storage infrastructure. It also aims to reduce downtime and improve the
utilization of storage resources. Today, we're seeing various vendors coming
out with their own interpretations and implementations of storage
virtualization. This is a good sign, because it's an indicator that the
technology is being taken seriously. So now it's just a matter of time before
one standard emerges, and the technology becomes widely adopted.
The Benefits |
|
The technology
Storage virtualization presents a logical view of physical
storage by hiding the underlying complexity. It's like putting an abstraction
layer between the physical storage resources and the management interface. By
hiding all the physical storage complexity, the management of this entire pool
of storage resources is simplified. Moreover, all this has to happen without
sacrificing the performance and data integrity. Currently, all vendors have
their own implementations of storage virtualization, meaning you'll find
virtualization solutions for storage arrays, switching fabric, storage software,
and the like.
Storage virtualization is not a completely new technology.
Take for instance, the age-old RAID or Redundant Array of Inexpensive Disks. The
technology combines storage capacity of multiple disks to make the storage more
fault tolerant and better performing. It's doing this by presenting one
logical view of multiple physical disks to the application. It's actually
storage virtualization in action. But life in the storage world has moved far
ahead, so this level of virtualization doesn't help. We're in the era of
high-speed networked storage, or SAN if you will, in which there are a disparate
number of storage resources, possibly all of them with RAID arrays, all
connected together and being accessed over a network. It's been a good move
from the older, dispersed direct attached storage resources in that
everything's centrally administered, but brings in its own administrative
headaches. You still have to manually create logical volumes out of the shared
storage pools for each server. You still have to manage all these volumes,
making it a fairly complex process, and requiring a high degree of knowledge in
storage management. Storage virtualization aims to automate many of these tasks
and yet provide the high performance and data availability needed. It aims to
simplify these challenges by helping automate various tasks, and bring
intelligence into the system such that it can monitor and manage all the storage
space allocated per server.
Current implementations
Every storage vendor, be it for hardware, software, or
storage networking products have products based on their own definition of
storage virtualization. This leads to a lot of confusion in the customer's
mind. There's tremendous variation in the storage virtualization products
and likewise for the way they have to be implemented.
Vendor Speak |
Enterprises IP SAN |
For example, storage array vendors host virtualization on
the storage controller; fabric switch vendors build it into their own products;
the storage software vendors have their own definitions and implementations and
so on and so forth. On top of that, each vendor claims that their implementation
is the best, which makes it difficult for the customer to really decide what to
choose. Add on top of that all the vendor hype that comes along with the
product.
Today, different vendors offer their own proprietary
solutions for storage virtualization, due to which interoperability still
remains a challenge. Another objective is to overcome interoperability issues
amongst different vendor products.
The standards
Currently, SNIA or the Storage Networking Industry
Association has a definition for storage virtualization. It divides the
virtualization process into three parts-what's being virtualized, where's
it being virtualized, and how is it being implemented (see diagram). The first
part of what is being virtualized can include block-level, disk-level, tape,
file system, or file/record level virtualizations. The virtualization can be
done on a host or server, the storage network, or even a storage device such as
the switching fabric. Lastly, the virtualization could be in-band or
out-of-band.
Lastly, while there are various
implementations of storage virtualization, a lot still
needs to be done. Automation of various administrative tasks is one challenge
that needs to be addressed, such as creating volumes or adding a new storage
array. Using a policy-based framework for managing the storage infrastructure is
another challenge that needs to be addressed, such that the storage system can
automatically determine what type of storage is required for which type of host.
All this of course has to happen across a heterogeneous storage environment.
Currently, many of these features might be available, but wouldn't be
interoperable.