No matter which virtualization platform you may be using today to power your Private Cloud, storage is probably one of your biggest costs, and perhaps one of your biggest pain points, too.  Virtualized environments are, by their very nature, dynamic environments where storage requirements from one VM to the next can grow and evolve over time.  Traditional enterprise storage infrastructures, while offering flexibility when initially provisioning storage, are often built from a more static “set-it-and-forget-it” standpoint – provision your storage pools, LUNs, storage processors and SAN connectivity upfront with the expectation that storage needs on a workload-by-workload basis will not vary greatly over time.

Become an "Early Expert" on Windows Server 2012 R2!

When supporting Private Clouds, many administrators require ongoing dynamic control and automation for the storage platforms in use within an enterprise.  In this article, we’ll compare and contrast the dynamic storage capabilities that I regularly use in the latest versions of two common enterprise virtualization platforms: VMware vSphere 5.5 and Microsoft Windows Server 2012 R2 Hyper-V. 

Specifically, we’ll be reviewing the following dynamic storage capabilities for VMs in this article:

  • Hot-adding VM Storage
  • Live Expand and Compact of VM Storage
  • Live Storage Migration
  • Automatically Move VM Storage across Storage Classes

Along the way, we’ll find that Microsoft virtualization solutions can provide substantial cost advantages in this area, as well as provide better storage support for heterogeneous virtualization environments with more than one hypervisor platform …

Do I need to pay extra for these Dynamic VM Storage Capabilities?

In the case of the Microsoft solution stack … absolutely not! The storage features below are included in both Windows Server 2012 R2 Hyper-V and Hyper-V Server 2012 R2. If you're already planning to purchase Windows Server 2012 R2 to license the Windows Server OS for virtual machines in your environment, Hyper-V is included at no additional cost.  If not, you can still leverage the completely FREE Hyper-V Server 2012 R2 enterprise-grade bare-metal hypervisor to provide these dynamic storage management capabilities.

In terms of the VMware offerings … Perhaps.  There is an extra cost involved in licensing the appropriate edition of the VMware vSphere 5.5 hypervisor as well as the vCenter Server management server for some of the dynamic storage management capabilities discussed below, namely Storage vMotion and Storage Distributed Resource Scheduler ( Storage DRS ).

Hot-Add, Live Expand and Compact of VM Storage

From the standpoint of VM storage capacity, I frequently need to grow and shift the capacity of existing virtual hard disks for new application data needs.  Conversely, I also run into situations where I may need to reclaim unused storage space from an existing VM so that I can assign that space to another VM.  Since we’re dealing with changing storage assignments for existing VMs, it would be ideal to be able to make these changes live, without needing to shutdown the VMs involved, so that application availability is maintained.

In the VMware world … the free VMware vSphere hypervisor provides the ability to hot-add new VM storage and expand virtual hard disks on running VMs to assign more capacity to existing VMDKs.  While this works well in many scenarios, vSphere does not provide the ability to compact VMDKs for running VMs – this requires a VM to be shutdown in order to compact a VMDK to reclaim space.

In terms of Hyper-V … Windows Server 2012 and Hyper-V Server 2012 both offer the ability to hot-add new virtual SCSI hard disk storage to running VMs as well. Unlike the VMware solution, the “R2” releases of these products also add the ability to both EXPAND and COMPACT virtual SCSI hard disk storage for running VMs, as shown in the screenshot below – making it easy to not only add more capacity to a running VM, but also reclaim and shift existing storage capacity between VMs.

Live Expand and Compact of Virtual SCSI Hard Disks on Running VMs
Live Expand and Compact of Virtual SCSI Hard Disks on Running VMs

In addition, Windows Server 2012 R2 adds the ability to boot directly from virtual SCSI controllers ( no more virtual IDE controllers needed! ) using the new Generation 2 VM format with Windows 8, Windows Server 2012 or later guest operating systems. This results in improved OS disk performance, which is particularly noticeable during intensive OS disk operations, such as during install and VM startup.

Live Storage Migration

Of course, from time-to-time you may also need to move existing virtual hard disks to completely new storage LUNs or volumes, perhaps to either migrate VM storage to new locations or to redistribute VM storage across multiple locations based on capacity or IOPS requirements.  This is where Live Storage Migration comes in handy!  Live Storage Migration provides the ability to move virtual hard disks between LUNs and volumes for running VMs without needing to shutdown these VMs.

In the VMware world … the combined solution of VMware vSphere 5.x Standard Edition and vCenter Server provide the ability to perform Storage vMotion operations for one or more running VMs – up to 2 concurrent Storage vMotion operations per host and up to 8 concurrent Storage vMotion operations per datastore can be performed.

In terms of Hyper-V … both Windows Server 2012 and the free Hyper-V Server 2012 ( as well as the new “R2” releases of these products ) provide the ability to perform an unlimited number of concurrent Live Storage Migrations between LUNs or volumes.  Unlike the VMware solution, the only Storage Migration limits in the Hyper-V solution are based upon the underlying load capacity of your storage hardware, and not by the Hyper-V software.

Windows Server 2012 Hyper-V – Configuration Maximum # of concurrent Live Storage Migrations
Windows Server 2012 Hyper-V – Configuration Maximum # of concurrent Live Storage Migrations

To perform a Live Storage Migration with Hyper-V, you have several choices …

If using one or more standalone Hyper-V hosts, you can initiate a Live Storage Migration from within the Hyper-V Manager console:

Windows Server 2012 Hyper-V Manager: Performing Live Storage Migration
Windows Server 2012 Hyper-V Manager: Performing Live Storage Migration

If using multiple clustered Windows Server 2012 Hyper-V hosts, you can initiate a Live Storage Migration for multiple VMs in a single operation from within the Failover Cluster Manager tool:

Windows Server 2012 Failover Cluster Manager: Performing Live Storage Migration of multiple VMs
Windows Server 2012 Failover Cluster Manager: Performing Live Storage Migration of multiple VMs

In addition, if you’re in need of performing a Live Storage Migration of many VMs at once as part of a batch storage migration process, this can also be easily accomplished with just a single line of PowerShell code, as follows:

Get-VM | Out-GridView -Title "Select one or more VMs to migrate storage ..." -PassThru | ForEach-Object { Move-VMStorage -VMName $_.VMName -DestinationStoragePath E:\VMNew }

This single PowerShell command line displays a selectable list of VMs currently provisioned on a Hyper-V host.  For each VM selected from the list, a live storage migration operation is then performed.  This can be ideal when needing to live migrate the storage associated with several VMs to a new location!

Note when performing Live Storage Migrations with Hyper-V in each of the examples above, you also have the added flexibility of specifying alternate storage destinations for moving virtual hard disks, snapshots, smart paging files and VM configuration files for the VMs being migrated, if desired.

Automatically Move VM Storage across Storage Classes

Live Storage Migration is great, but in a large dynamic Private Cloud environment being able to automatically move virtual hard disks across classes of storage, such as fast SSD and slower HDD locations, based on IO requirements is really much more ideal.  This approach allows the storage infrastructure to be leveraged in a manner that more immediately aligns to continually evolving storage IO needs for VMs throughout their regular work cycle.

In the VMware world … automated live storage migration of this nature is typically handled via the Storage Dynamic Resource Scheduler ( Storage DRS ) feature that is available in the combined solution of VMware vSphere 5.x Enterprise Plus and vCenter Server.  Storage DRS can be configured with an automated schedule, by default set to every 8 hours, to evaluate storage IO load and then potentially use Storage vMotion to automatically move and redistribute virtual hard disks across VMware datastores mapped to different storage classes.

In the Hyper-V world … Windows Server 2012 R2 and Hyper-V Server 2012 R2 include an enhancement to the Storage Spaces feature introduced in  Windows Server 2012 that provides automated storage tiering at a block-level between SSD and HDD storage using commodity disks.  This automated storage tiering analyzes disk IO on-the-fly and identifies frequently-accessed “hot” storage blocks, which are kept in SSD for speedy access, vs less frequently accessed blocks of data, or cold data, which are stored on the slower HDD tier.  Since automated storage tiering is continuously working to optimize disk IO patterns, it can respond much more quickly to changing storage requirements than a scheduled approach, such as the approach used by Storage DRS.

Configuring automated storage tiers in the “R2” releases can be easily completed using the Server Manager GUI tool.

Windows Server 2012 R2 Server Manager: Configuring Automated Storage Tiers
Windows Server 2012 R2 Server Manager: Configuring Automated Storage Tiers

For more details on building this configuration for evaluation purposes in a lab environment, be sure to check-out the following resource:

Can Automated Storage Tiers be used in a Heterogeneous Private Cloud?

Absolutely! In multi-vendor hypervisor environments, Storage Spaces and automated storage tiers can be combined with continuously available Windows Server 2012 R2 file server clusters to provide a high-performance shared storage solution to Hyper-V hosts via the SMB 3.0 network protocol.  This same storage solution can also provide shared storage to VMware vSphere 5.x hosts via the NFS network protocol.  See the following article for more details on this configuration:

Note that VMware is also in the process of developing an automated storage tiering solution in the separate VMware Virtual SAN product, which is currently in Beta.  However, VMware Virtual SAN is intended for use only within a homogeneous set of VMware vSphere 5.x hypervisor hosts.

Summary

Dynamic management of virtual machine storage is an important requirement in many Private Clouds to be able to gain optimal utilization of storage capacity and performance for evolving VM workloads.  In this article, we compared the dynamic storage management capabilities that I frequently use in the latest versions of VMware vSphere 5.5 to Microsoft Windows Server 2012 R2 Hyper-V and the free Hyper-V Server 2012 R2 hypervisor.  As we saw in this article, it is not necessary to purchase a separate hypervisor product to gain access to this combined feature set when leveraging the latest Microsoft virtualization solutions.

Additional resources you may also be interested in ...