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. Virtualization allows for centralized management of files, better visibility, increased utilization, and non-disruptive data migration. Virtualization can also abstract spindle count, allowing for faster IO by migrating data and spreading it across additional spindles.
Benefits of Storage Virtualization
With 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 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 technologies 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, 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. However, storage arrays and the switch must be compatible with one another.
· Array-Based Storage Virtualization – With array-based 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, and redundant virtualizing device is a must. Consider using Information Life cycle 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.