First of all, let's be clear -- storage virtualization is not server virtualization. It seems important to say so because as server virtualization has swept IT departments across the land it sometimes feels there's blurring of the two.
So what is storage virtualization, and what are storage virtualization's benefits? It's an easy thing to define, but the definition is so abstract that it covers a lot of product and technology areas.
The Storage Networking Industry Association (SNIA) technical tutorial document defines storage virtualization as follows:
"The act of hiding, abstracting or isolating the internal functions of a storage (sub)system or service from applications, host computers or general network resources for the purpose of enabling application and network-independent management of storage or data."
It's a reasonable definition, but it's extremely broad in its potential application. Given that it boils down to the hiding of detailed functions at the lowest levels in favour of an abstracted, or virtualised, appearance higher up the stack, it can be applied to numerous storage-related use cases.
So, for example, the translation of physical disk addresses (CHS -- cylinders, heads and sectors -- addresses) into logical block addresses (LBAs) for use by the OS' file system is given as an example of storage virtualization. Likewise, so is RAID, in which many drives are presented as one or several drives to users, but in which the drive letter doesn't correspond to a physical entity. Other examples given in the SNIA document include the virtual tape library and the use of network file systems such as NFS and CIFS.
These types of examples give good illustration of the meaning of storage virtualization at the most general level, but no one actually talks of RAID or NFS as an example of storage virtualization.
Storage virtualization benefits and products
Instead, what most people in the industry mean by storage virtualization is a hardware or software product -- on the host, on the network/fabric as a discrete appliance or as a function of the array or LAN switch -- that allows the aggregation of multiple storage disk systems so they are manageable as a single entity. This allows, for example, many SAN arrays to be handled as a single cluster, enabling them to be provisioned without regard for physical location of disk drives and for greater availability between them than if they were discrete subsystems unconnected to one another.
It also allows for supra-device functions to be enabled, such as automated movement of data for storage tiering and to facilitate data protection functions such as snapshots and continuous data protection (CDP).
Storage virtualization devices that operate on the network/fabric are either classed as in-band or out-of-band depending on whether the data and metadata travel along the same path through the device or not.
Host-based storage virtualization, which relies on software at the server, is not regarded as in-band or out-of-band. Also known as a volume manager, it presents several drives as a single resource that can be divided up as needed.
Array-based storage virtualization also doesn't fit the in-band/out-of-band dichotomy. An example of array-based storage virtualization is that built into the controller of HDS' USP subsystems, which allows clustering of storage whether from HDS or another vendor.
In-band, or shared-path, storage virtualization products route data and metadata through the device. They allow files to be migrated in real time and allow aggregation of many NAS devices or SAN arrays into one pool of storage. The in-band method of operation carries the downside of added latency and a potential single point of failure, which would mean deployment of these products in pairs. In-band storage virtualization products include Avere OS, EMC Rainfinity, F5 ARX, IBM SAN Volume Controller and NetApp V-series.
Out-of-band, or split-path, storage virtualization products separate data and metadata and offer benefits similar to in-band products. They can also be implemented nondisruptively to a network/fabric and will not block access to files should the device fail. They do, however, use agents, and these have to be managed. Out-of-band storage virtualization products include AutoVirt, Avere OS, EMC Invista and LSI Storage Virtualization Manager.
Another product category that can reasonably be included in the core of true storage virtualization products is the virtual storage appliance. These products -- available as hardware and software -- allow users to create SAN-like pools of storage from server disks, white-box disk arrays and multiple-vendor arrays. The product sits above disk resources and aggregates them and allows provisioning and data protection functions. Vendors of virtual storage appliances include HP LeftHand, Pivot3, Seanodes, FalconStor (NSS), Caringo and DataCore.