Manage Virtual Storage in Hyper-V
Bolster provisioning and management with Virsto One.
Most IT managers will agree that Microsoft Hyper-V has some catching up to do with the VMware hypervisor when it comes to the management and flexibility of handling large virtual machine (VM) collections. And while the latest improvements -- such as live migration and dynamic storage allocation -- in the Windows Server 2008 R2 edition are welcome, they are but baby steps toward where VMware Inc. is today, particularly when it comes to provisioning storage.
That may change with a new software product from Virsto Software Corp. called Virsto One.
One of the problems with virtualized storage is that you can provision a lot of empty space on your physical hard drives that never gets touched by your VMs. In a typical scenario, a terabyte of storage would be allocated to a virtual network, but only a few hundred gigabytes would be actually used for the applications after you partition the drive with logical and physical volumes and add in operating system requirements. The issue is that you want to provision your virtual drive so it has room to grow, but you don't want to deal with adjusting the size of your virtual disks when the demand arises. This is where dynamic thin provisioning comes into play -- and where Virsto can help.
Virsto to the Rescue
Dynamic provisioning means you can adjust the size of a storage volume while a VM is running and using the storage. Thin provisioning means commonly used OS and application files don't have to be stored in multiple virtual hard drives and can share one physical repository, so you reduce the copious space needed for these files.
Virsto One only works with the Windows Server 2008 R2 version of Microsoft Hyper-V, and must be installed on every Hyper-V physical server in order to manage its storage pools. The management software comes in the form of a snap-in module that resides in the same Microsoft Management Console (MMC) that runs Hyper-V, so the learning curve is shortened (see Figure 1). The idea is to make this dynamic provisioning easier while providing the best-possible performance. No matter how your storage is attached -- Fibre Channel, network-attached, iSCSI, direct-attached or Ethernet -- you only have to configure a new storage device once, when it's first hooked up to your storage network. From then on, Virsto One manages the storage pools and parcels storage out to the appropriate VMs. The software manages how much storage is allocated to each VM instance, and where it's placed on the physical hard drives.
[Click on image for larger view.]
|Figure 1. Virsto One has a short learning curve because it comes in a snap-in module that resides in the same Microsoft Management Console that runs Hyper-V.|
How does it do this? Think of Virsto One as a big database that keeps track of all file requests for all VMs -- running, stopped or about to be created -- on each physical host. It has its own storage driver that tricks Hyper-V into thinking its entire storage pool is one big virtual hard drive (VHD). Inside this VHD, Virsto One works its magic and does the thin provisioning and dynamic storage allocation, so you don't have to worry about the mechanics.
Begin with Basics
Getting started with Virsto One, there are three ways to create virtual disks. You can import or copy existing VHD images that were created by ordinary Hyper-V or Virtual PC hypervisors, or you can create one from scratch. Once you have your virtual disk, you mount it under Virsto One, attach it to the appropriate Hyper-V server and then start the VM. The entire process takes longer to describe here than it does to actually happen. As you can see from my description, this also makes it easy to do live migration of running VMs, essential if you're running a highly available VM network. All you have to do is click on the clone button, and a few clicks later you're done.
Once you set up the software -- which also only takes a few minutes -- there's no additional VM configuration, and Virsto One presents each VM with a virtual disk image on which to run and save its files. It's almost too slick and easy. You just start and stop VMs in the Hyper-V control panels as you normally would.
Because of the way Virsto One quickly handles cloned images, you realize some benefits of clustered systems without the pain of installing the Microsoft Cluster Server. If you arrange your cloned images properly across the network and don't require host machines to be in sync, you can create a poor man's (or perhaps a lazy one's) clustering feature, wherein a host that has stopped running a VM is replaced by another that picks it up.
When you examine the MMC Virsto One console, you see exactly how large your VM is and how much disk storage you're consuming at any given time. Looking at the "Disks" entry on the console, you'll see two columns: one that has the total size of the VM image, and one that has the "size on disk," or the amount of actual storage consumed. The difference in the two figures is the thin-provisioning savings that Virsto produces.
Because Virsto is so tightly coupled with MMC, you can also create scripts in Windows PowerShell to automate cloning and other tasks. I didn't try this but can see the power of this integration.
Also nice is the package's ability to take persistent snapshots of each disk image, for which Virsto claims there's no performance penalty or limit on iterations. This is because the snapshots don't consume any disk storage -- they're a logical pointer to the state of your disk. This is different and slightly confusing from the context that the word "snapshot" is used in within the traditional Hyper-V world, where the physical bits are being copied as part of the snapshot. You can continue to take Hyper-V-style snapshots of your VMs, but why would you want to if Virsto One is operating properly?
Like any software in its early stages, Virsto One has some drawbacks.
The biggest issue is how it works with backup software. In order to ensure your VMs are being properly backed up, you'll need to spend some time understanding how to make Virsto One snapshots, clone them, and then present these clones to another host machine that can be accessed by the backup software that's a provider of Microsoft Volume Shadow Copy Service (VSS). The company has not yet explicitly certified any backup vendor with its software, but it's in the process of testing Symantec Backup Exec. If you aren't running a VSS-aware backup infrastructure, this could be a big issue.
Virsto One also lacks continuous data protection as defined by other virtual storage vendors. While making its snapshots takes almost no time, you still have to click a button to kick it off. I'd steer away from situations requiring very high availability for the time being, although I think this will become less of an issue as the virtualization pieces of VSS and Virsto both mature.
Virsto claims it's unique with a Hyper-V MMC storage management snap-in, but that isn't entirely true: DataCore Software Corp. has long had an MMC snap-in for its SANmelody product, which offers similar features. Virsto says it's also working on versions for other hypervisors.
One other issue: Because Virsto One is an MMC snap-in, anyone who has rights to the Hyper-V role can -- perhaps unintentionally -- make adjustments to your storage pool. You might want to carefully audit your permissions for this role and make sure all of the users who have access are expected and trusted. It would be nice if HyTrust offered a security appliance for Hyper-V -- this is one of the more interesting products to allow for more granular control over your virtual images -- but, alas, it only supports VMware for the time being.
A Virsto One perpetual license for a server with one or two CPU sockets is $1,250; a license for an unlimited number of sockets is $5,000. There's also a free 30-day downloadable, fully functional evaluation version.
I tested Virsto One on Windows Server 2008 R2 with two SATA drives attached. I didn't look at performance claims or larger storage networks.