The basics of storage virtualization
When properly implemented, storage virtualization eliminates forgotten or partially-used disks, allowing superior storage utilization that can easily exceed 80%. This demands fewer drives, often translating into significant cost savings for the enterprise. Data can easily be transferred and migrated between storage resources without worrying about specific disk locations. Virtualization also permits storage resources to be altered and updated on the fly without disrupting application performance, generally reducing downtime.
While the benefits of virtualization can be compelling, there are downsides to consider. Virtualization adds another layer of complexity to the storage environment to be managed, so it's easy to become bogged-down with patching and updating a myriad of virtualization servers. Virtualization must also be implemented with a consideration of interoperability and compatibility with storage devices currently running in the data center. Once virtualization is implemented, it can be difficult to remove, and may potentially interfere with the special features of some storage arrays such as remote replication -- two issues often overlooked until deployment.
Types of storage virtualization
All storage virtualization relies on software at some level, though the hardware implementation can vary dramatically. The simplest deployment is server-based (also called host-based) where virtualization software is installed on an ordinary server. This is easy to deploy, but does not scale well at all, and a proliferation of virtualization servers can be difficult to maintain. Virtualization can also be implemented by the storage array vendor within the array itself. This can be very convenient, but is generally not heterogeneous.
Virtualization is increasingly deployed in the network fabric. One approach is to connect dedicated virtualization appliances to the network. Appliances are noted for their ability to detect available storage, but can be complicated to setup and manage. Finally, storage virtualization can be accomplished at the network switch -- usually an intelligent switch running virtualization software. Switch-based virtualization promises superior interoperability and heterogeneity, but can have an impact on performance. Check out the Tech Closeup on switch-based storage virtualization here.
Virtualization can be in-band or out-of-band. In-band virtualization involves a device that sits in the data path and performs virtualization tasks on live data on-the-fly. For example, switch-based virtualization is in-band because all data flows through the switch. While this can be a straightforward tactic, there is typically a performance penalty since the virtualization process introduces a bit of latency. Out-of-band virtualization is often found with server-based and appliance-based approaches where the device is not directly in the data path. Instead, agent software on each virtualized storage device shares data with the virtualization engine through the network.
Storage virtualization practices
Virtualization isn't just about improving storage utilization or easing management; the technology can have a positive impact on most critical storage tasks in the enterprise. Virtualization can aid disaster recovery (DR) planning. Traditionally data had to be replicated between identical hardware, but storage virtualization eases that requirement, allowing data to reside on a wide range of disks or systems at a DR site. Virtualization can speed up backups through the use of snapshots, which basically eliminates the backup window. Data migration can also be handled through virtualization rather than vendor-specific tools, supporting greater heterogeneity in the data center.
But storage virtualization has many other uses, including automatic capacity expansion. Most organizations must handle storage allocation and provisioning manually, but virtualization supports the use of policies that can assign additional capacity to applications as needed. Virtualization can easily replicate data sets to serve in lab environments, allowing applications and new hardware to be tested without jeopardizing real production data.
Virtualization supports initiatives like high-availability and resource sharing. For example, if an application is intimately tied to storage, any disruption to the application server may impact the corresponding storage. By adding a virtualization layer, the storage is protected from any failure at the application server. Virtualization can ease the co-existence of SAN servers with different operating systems (such as Windows and Unix), allowing pooling and sharing of storage between heterogeneous servers.
Cost considerations and product/buying advice
As with most storage technologies, virtualization costs are difficult to quantify. Any product has a basic price tag -- with simpler and more established approaches like host-based virtualization often costing less than newer or more exotic products such as virtualization appliances. However, any cost evaluation should involve the total cost of ownership of acquisition, deployment, maintenance for product updates and patches, management time/labor and the cost of any impact on the rest of your storage infrastructure. For example, the cost of a virtualization product may be mitigated if the virtualization is used to speed backups or ease DR equipment needs at a remote site. Simply remember that "cost" involves more than just the purchase.
Purchase decisions are often influenced by existing vendor relationships, but the implications of performance and interoperability demand a thorough consideration of any product prior to deployment. Prospective virtualization products should be demonstrated and benchmarked in an actual working environment, and then tested thoroughly in your own lab before any purchase decision is made. This ensures that the product will operate as intended with your current storage platforms. When considering a virtualization product, take time to examine the vendor's product roadmap and learn how the product should evolve into the future.
Finally, storage virtualization can be difficult to remove once it has been implemented, so product considerations should involve a detailed evaluation of backout (decommissioning) options. This will help in avoiding the prospect of vendor lock-in, and allow an enterprise to adopt alternative virtualization products if the need arises. ***