Hyper-V, the Windows Server 2008 R2 hypervisor, is a versatile product that can be used to virtualize data centers and desktops, and everything in-between. If you use Hyper-V heavily, you might find yourself scratching your head, wondering why your virtual machines (VMs) don't seem snappier, especially with the powerful multiprocessor systems you use and the extra RAM and fast disk subsystems you installed. To be fair, this isn't a problem experienced by Hyper-V alone. It's experienced by most software hypervisors because they use the underlying OS's disk I/O subsystems, which is where most performance problems lie. Most OSs' disk I/O subsystems aren't optimized for virtualization and force the hypervisor to wait while outstanding read and write operations are completed.
Enter Virsto Software and its solutions for Hyper-V: Virsto for VDI, Hyper-V Edition, and Virsto for VSI, Hyper-V Edition. The difference between the two is that Virsto for VDI is designed for Hyper-V virtualized desktops, whereas Virsto for VSI is designed for Hyper-V virtualized servers. The underlying technology and features are basically identical. The two products also share a common architecture, which promises to massively speed up Hyper-V by creating a virtualized storage layer that's optimized for virtualization. In this layer, each Hyper-V host has a dedicated virtual storage layer that logs all disk I/O transactions to a log disk called the Virsto Log Space, which is typically stored on a RAM-based disk or solid state disk (SSD). Another process then optimizes and writes the transactions to a primary storage pool called the Virsto Live Space.
Although the architecture is different, Hyper-V administrators don't need to make any changes to their VMs or the way in which they work with Virtual Hard Disks (VHDs), although by leveraging vDisks (which I'll discuss shortly), they'll improve the VMs' performance. In this review, I'll focus on Virsto for VDI.
Installing and Configuring Virsto for VDI
Installing Virsto for VDI is a breeze-you simply run the executable file that contains the installer. The software can be installed on both Full and Core installations of Windows Server 2008 R2. The installer adds a new Microsoft Management Console (MMC) snap-in named Virsto VDI to your system and adds a Virsto folder containing a link to that snap-in to your Start menu. When you click this link, the MMC opens, displaying the Hyper-V Manager snap-in. Under it you'll find the name of your Hyper-V server and the Virsto VDI snap-in.
The next step is to configure the Virsto VDI snap-in by right-clicking it and selecting Configure, or by selecting Virsto VDI and choosing Configure on the Actions menu. A wizard then guides you through the configuration process, which includes setting up the product for either a single Hyper-V server or an environment with multiple Hyper-V servers, entering the location of the database that keeps track of configurations, selecting the Live Space and Log Space volumes, and entering your licensing key. The documentation is thorough and clear, although a quick setup guide for standalone server deployments would help tremendously.
Creating and Using vDisks
Hyper-V administrators create and use vDisks to take advantage of Virsto for VDI's storage architecture. You create VHDs for VMs on vDisks rather than directly on the underlying physical disks or VHD files. These VHDs can be bootable disks containing the actual VMs, or they can be additional volumes mounted onto existing VMs. You can also copy existing VHDs to vDisks and reconfigure the VMs to use the copied VHD on the vDisk to speed up existing VMs.
Managing VMs and vDisks
As Figure 1 shows, the MMC Virsto VDI snap-in is populated with nodes that can be used to manage your VMs and vDisks. This is where Virsto for VDI can get a little confusing, as many of the Actions can also be performed using the Hyper-V Manager snap-in, as long as you remember that you're working with virtualized storage. For example, you can use the Hyper-V Manager snap-in to attach a vDisk to a VM, as long as you specify the location of the vDisk. However, you can attach a vDisk to a VM much more quickly and with less information to enter by using the Attach To Hyper-V wizard, which can be launched from Actions in the Disks node of the Virsto VDI snap-in.
Another example is when you work with snapshots. A Hyper-V snapshot is a point-in-time copy of the entire state of a running VM, including its configuration, state, and VHD files. It can take some time to create a Hyper-V snapshot. A Virsto for VDI snapshot is a copy of a vDisk, which is created using the unique layered storage technology featured in the product. The Virsto for VDI snapshot is created almost instantly.
The intent behind providing the actions under the Virsto VDI node is to help you make fewer menu selections and mouse clicks and reduce the likelihood that you'll make a mistake, but it's likely to confuse novice or occasional users. For this reason, I recommend that you practice with test systems before allowing operators anywhere near your production servers. Even experienced operators will find themselves flipping between the Hyper-V Manager and Virsto VDI snap-ins, but this is unavoidable.
Realizing the Benefits
On my test systems, there was a notable improvement in speed using Virsto for VDI, even when I deliberately threw some oddball configurations (including iSCSI) at it. Virsto for VDI performs best when you properly architect the solution (i.e., find the best way to use the RAM disks, SSDs, and multiple layers of storage). I suspect that even basic virtualized desktop environments with simple Log Space and Live Space storage configurations will see an improvement in performance.
Where Virsto for VDI really comes into its own is when you want to make copies of a VHD multiple times-a common scenario when you're deploying virtual desktops. The simplest way to accomplish this task is to take a snapshot of a disk that's a "golden master" and clone the snapshot as many times as needed using the Virsto VDI snap-in, as shown in Figure 2. Due to the way that the storage virtualization works, each clone is ready for use almost immediately because you don't need to completely copy the golden master image bit-for-bit to the cloned disks. Each cloned disk is also smaller than the snapshot it's cloned from, as only changes made since the cloned disk was created are stored. This tremendously reduces the amount of disk space required for VMs, even when using fixed size virtual disks. This also allows for extremely rapid deployment of a golden master across many Hyper-V servers if you configure Virsto for VDI for multiple servers, with Live Space storage configured so that each server can access it.
Best of all, enterprises using Virsto for VDI aren't restricted to using the Virsto VDI snap-in to manage their virtual environment. Virsto for VDI supports Windows PowerShell, so administrators can write scripts to automate tasks, including cloning VHDs. Sample scripts come with the product and integrate with the popular PowerShell Management Library for Hyper-V, which is available from CodePlex (pshyperv.codeplex.com). If you want to learn how to write scripts, you can view the actions performed through the Virsto VDI snap-in as PowerShell scripts by clicking the View Script button at the end of each wizard that guides you through a task. (You click the View Script button before clicking the Finish button.)
A Useful Hyper-V Tool
If you're looking for an agile way to deploy many Hyper-V desktops or if you want to squeeze more performance out of an existing Hyper-V desktop environment, I recommend that you take a long, serious look at Virsto for VDI. Once you understand the concepts behind this product, you'll quickly learn how to maximize its effectiveness.
Virsto for VDI, Hyper-V Edition