As storage requirements spiral upward, storage servers and arrays invariably proliferate throughout an organization. The sprawl of such disparate storage resources eventually becomes difficult to manage, leading to underutilized (even lost) storage. In fact, it's common to see storage utilization at only about 50% -- resulting in wasted capital expenditures on new storage.
One answer to this storage administrative dilemma is storage virtualization. Storage virtualization allows administrators to identify, provision and manage disparate storage as a single aggregated resource. Storage virtualization is an important element of storage consolidation -- it eases management headaches and allows higher levels of storage utilization, which in turn forestalls the expense of added storage. Let's examine some of the key issues involved with storage virtualization.
Storage virtualization adds a layer of abstraction (typically software) between the storage systems and the applications that use storage. Applications no longer need to know which disks, partitions or storage subsystems their data is stored on. When implemented properly, storage virtualization can increase the level of storage utilization to 80% or better.
Storage virtualization can also improve availability. If an application is associated with specific storage resources, any interruption to those resources will reduce the application's availability. With storage virtualization, the application is no longer coupled to the physical implications of storage.
Storage virtualization can help automate storage capacity expansion. Instead of manual provisioning, virtualization can apply policies that assign more capacity to applications as needed. Storage virtualization can also allow storage resources to be altered and updated on the fly without disrupting application performance, reducing storage downtime for repairs and maintenance.
The downside to storage virtualization is added complexity. The virtualization layer is one more element of the storage environment that must be managed and maintained as virtualization products are patched and updated. There is also an impact on interoperability and compatibility between storage devices. In some cases, the virtualization layer may interfere with certain features of storage systems, such as remote replication. For example, a storage array that includes native remote replication may no longer provide that replication when the array is used in a virtualized environment. Only lab testing and evaluation will reveal such potential issues.
Another issue is the difficulty involved with undoing or "backing out" once storage virtualization has been implemented. It's not impossible, but the process of reassociating applications with storage locations can be an error-prone process. Experts suggest implementing storage virtualization in a piecemeal fashion, starting with a limited deployment for one or several applications and then building out across the data center and the entire organization.
Finding the right virtualization point
Storage virtualization can be implemented at the host level, the network level or the storage system level. Host-based virtualization is the most straightforward out-of-band method, but it scales poorly. In addition, maintaining virtualization servers can be troublesome, especially if an agent must be installed and maintained on each virtualized storage device.
Conversely, storage virtualization can be accomplished in the storage array itself (e.g. a TagmaStore system from Hitachi Data Systems). This approach offers convenience, but such vendor-centric deployment is generally not heterogeneous.
Today, the most popular point of implementation for storage virtualization is in the network fabric itself, often through a dedicated virtualization appliance or an intelligent switch from Brocade or Cisco running virtualization software, such as IBM's SVC. Network-based storage virtualization is the most scalable and interoperable point of deployment, making it particularly well-suited to storage consolidation projects. But there may be a slight impact on network performance due to in-band processing in the virtualization layer.
Influence on disaster recovery
Storage virtualization can also affect consolidation in backups and disaster recovery (DR). In many cases, replication, especially remote replication, takes place between two identical storage systems (e.g., Symmetrix to Symmetrix) so that the duplicate data maps exactly to the original storage system(s). In a virtualized storage environment, data can be replicated to almost any storage hardware at the DR site. This is beneficial when older storage hardware is displaced by new systems, since the older hardware can then be redeployed at the DR site.