Virtualization is a broad technical term that applies to desktops, servers, and storage. It involves abstraction where aspects of a system, whether it's a desktop, server, or hard disk, are no longer needed when the system has been virtualized. Various layers are added to handle transactions rather than the previously important components. Storage virtualization involves virtualizing storage, obviously. This doesn't mean that physical storage is no longer required; rather, it's a process that migrates data to a host, network, or array. Storage virtualization allows for centralized management of files, better visibility, increased utilization, and non-disruptive data migration. Storage virtualization can also abstract spindle count, allowing for faster IO by migrating data and spreading it across additional spindles.

Benefits of Storage Virtualization

With storage virtualization, you do not need to worry about where the data is physically allocated. To the user, retrieving a virtually stored file is much like retrieving a file on the local computer. Some storage virtualization technologies optimize performance by migrating data strategically based on utilization. For example, a frequently used file might be stored on a high performance flash storage system while rarely used files will be placed on a slower array. The end-user is unaware of the actual location, but may notice a performance boost when working with virtualized storage due to this optimization.

Thin provision is often used with storage virtualization. This is where less space is allocated, allowing you to better manage capacity to meet real utilization needs rather than providing excess storage that goes unused.

Centralized management using a single central virtualizing controller allows you to manage, allocate, and view storage from a single interface. In addition, downtime is minimized, and oftentimes eliminated. In fact, it's possible to migrate data without downtime using software RAID mirrors and automation.

Types of Storage Virtualization

In general, two types of storage virtualization exist, file-level and block-level, and three methods are used, host-based, network-based, and array-based.

· File-Level – The server that uses the storage must have software installed on it in order to enable file-level usage.

· Block-Level – This type of virtualization works before the file system exists. It replaces controllers and takes over at the disk level.

· Host-Based Storage Virtualization – The host operating system must have a driver installed to intercept and redirect IO requests.

· Network-Based Storage Virtualization – With network-based storage virtualization, a fiber channel switch is placed between the host and storage. This switch virtualizes and redirects all IO requests. Operating systems are not a factor with network-based storage virtualization. However, storage arrays and the switch must be compatible with one another.

· Array-Based Storage Virtualization – With array-based storage virtualization, a single master array handles all IO requests for all arrays in the system. This type of storage virtualization allows for seamless data migration and centralized management.

In order for storage virtualization to run efficiently, take care not to overburden the virtualizing controller. Investing in a reliable high performance, high memory, redundant virtualizing device is a must. Consider using Information Lifecycle Management tools to create policies that trigger automatic data migration to slower, less expensive storage devices when data has not been used within a predetermined time period.

Author's Bio: 

Stephanie Rose is the author of this article on storage virtualization technology. Having been in this industry for quite awhile, she enjoys sharing tips with her readers about the storage world. In her free time she enjoys taking trips to the beach and spending time with her family.