If you have customers that have virtualized their servers with Hyper-V, you know that provisioning the storage that supports Hyper-V virtual machines (VMs) can be complex. Effectively provisioning the needed capacity to hosts in the timeframe required by the VMs they’re supporting is critical to making the Hyper-V environment efficient. But your customers are faced with two problems. The first involves the typical technical challenges of provisioning storage in a virtual environment: The dynamic nature of a virtual environment and the abstraction of resources from the virtual machines using them complicates the chore. The second problem is that there are far fewer third-party products available to help with Hyper-V storage compared with VMware storage.
But help is available.
Storage provisioning is the act of dividing up -- physically and virtually -- the capacity that a storage system or storage infrastructure has available. It’s especially important in virtual environments because VMs are often created in a short time and moved around between hosts, so the supporting storage system (or systems) must be able to keep up with a dynamic set of users.
Storage provisioning typically starts with allocating capacity to support server applications and then changing that capacity to keep those servers supplied as the storage needs of their applications also change. This most often involves adding capacity, but in virtual server environments also includes reclaiming space after virtual machine have been decommissioned. Provisioning also includes moving capacity to other physical server hosts as VMs are themselves moved for load balancing purposes.
Provisioning is typically accomplished with a virtualization software layer that abstracts physical storage from users. In the traditional SAN or NAS environment, provisioning was usually a part of the disk array software. And, storage capacity was typically limited to what could be put on that storage system, although some manufacturers did enable multiple arrays to be managed with a single interface. There are a few new, platform-independent products for storage provisioning that have advantages over the traditional method. And they’re available for Hyper-V.
The first option is Sanbolic’s Melio 3.5 virtual clustered file system software. Melio 3.5 provides a storage virtualization layer that enables VMs to access files on different storage systems transparently. Installed on each physical host, it allows different storage system platforms on the back end to be consolidated and shared among the virtual machines in the environment, even between different hypervisors if desired. As a provisioning tool, this virtualization layer allows storage capacity to be put behind the physical hosts that need it and then moved to others when the situation changes.
Melio also allows a single storage volume to be accessed by multiple hosts, even running different hypervisors. This enables multiple VMs to point to the same data set in a high-availability configuration and allows capacity to be added to the common storage pool as needed, transparent to the users on the front end. This flexibility is key in a Hyper-V environment, where storage requirements can change quickly and capacity allocation must be as flexible as possible.
Another option is Virsto’s Virsto for VSI, Hyper-V Edition. This product essentially moves most storage management functions into the hypervisor, including capacity provisioning and storage services such as snapshots, clones and thin provisioning. Conceptually, this makes total sense since the hypervisor has virtualized the other resources. As the de facto storage controller, it can consolidate raw capacity from multiple platforms, if desired, and provision that capacity according to the needs of the VMs it is supporting.
What makes this work is the way it’s implemented. Simply adding this storage management overhead to the hypervisor would increase storage system latency, as we have seen with the poor performance of hypervisor-based snapshot and replication technologies. Virsto addresses this issue by capturing write requests before they reach the storage system, similar to the way a database transaction log works. This allows the highly random I/O streams generated by VMs to be sequentialized before being physically sent to the storage system, optimizing the write process. Virsto also sends an acknowledgement to the VM after logging writes but before committing them to storage, releasing VMs from the effects of storage system write latency.
For a lot of companies running a Hyper-V environment, Hyper-V storage management is a problem. Trying to efficiently handle storage provisioning ahead of the requirements of a few dozen virtual machines on several physical hosts can be a challenge. This is especially true for the small and midsized companies that comprise the client bases of many storage VARs. Platform-independent storage management products can be powerful tools for VARs crafting solutions for these companies.
Eric Slack is a senior analyst with Storage Switzerland.