VHD vs. VHDX: Hmm….What’s the Difference

I get asked this all the time….and here is my answer. Microsoft’s virtual hard disk format, VHDX, has some important advantages over the legacy VHD format, as this VHD vs. VHDX comparison shows.

The release of Windows Server 2012 brought many new virtualization improvements, but one that caught the eye of many IT pros was the introduction of the VHDX file format. Windows Server 2012 supports the new format but also lets Hyper-V administrators use the legacy VHD format. With two virtual hard disk formats to choose from, let’s take a minute to talk about VHD vs. VHDX.

A look at VHD vs. VHDX

One of the biggest advantages of VHDX compared with the legacy VHD format is virtual disk storage capacity. Before Windows Server 2012, Hyper-V virtual hard disks had a 2 TB limit. VHDX files have a 64 TB capacity. The advantages of VHDX aren’t limited to improved capacity, however; VHDX files were designed to work with today’s modern hardware and have a 4 KB logical sector size that improves performance compared with VHD files.

The VHDX format also provides protection against file corruption related to power failures by continuously keeping track of updates in the metadata, a feature not available with the VHD format. Larger block sizes for dynamic and differencing disks, as well as the ability to store custom metadata, also give the new format the edge in the VHD vs. VHDX comparison.

Now let’s look at different storage types with VHDVHDX. Hyper-V allows you to create 2 primary hard disk storage types, fixed or dynamic

Fixed-Dynamic-VHD1 VHD vs. VHDX

Dynamic size drives are allocated with the minimum space needed and space is expanded as you write additional drive to the volume. There is performance loss on disk writes that require storage to be expanded. For example, if you create a dynamic volume with 10 GB and as you write data and use up the entire 10GB allocation then the volume needs to be expanded first then your data will be written to the volume. This expansion adds overhead and can slow down data writes by 25% or more.

Fixed drive sizes presets the size for your storage. Since the file is preallocated on the Hyper-V host there is no loss in performance due to the need for expansion of space.

The big difference between VHD and VHDX is the way this expansion is handled. In tests performed by others they have seen negligible difference in overhead with Dynamic VHDX volumes when they expand to accommodate additional data.

You can easily convert your VHD volumes to VHDX and vise visa. As always, make a backup and make sure you have enough time allocated for the conversion. The larger the volume, the longer the conversion will take.

Converting VHD to VHDX with Hyper-V

If you want to convert VHD files in to VHDX file format, Hyper-V Manager console provides an easy way to do it. The way it works is it will create a new VHDX disk and copy the data from the existing VHD to the new disk. After it copies the data, you have two disks such as original VHD disk and new VHDX disk exactly with the same content. Once you confirm the newly generated VHDX disk is fully functional, you can opt for deleting old original VHD disk.

Now lets see how we can convert VHD to VHDX.

  1. You cant convert a disk which is in use, so make sure you dont have any virtual machines accessing the disk.
  2. Next step is to open the Hyper-V VM settings, go to the hard drive you want to convert.After selecting the disk which you want to convert, confirm it again. After confirming press Edit button.
  3. Go to the Locate Disk tab and select or enter the name and location of the existing VHD file.
  4. Then select a Choose Action tab and select Convert option as shown in screenshot below
    .Convert VHD vs. VHDX
  5. 5. In next step as shown in the screenshot below select the VHDX file format and click Next
    .Choose-Disk-Format VHD vs. VHDX
  6. Next step is to choose a disk type the new disk should be fixed size or dynamically expanding. Press Next to select the name and location of the new VHDX file format.
  7. Review the configuration in Summary Tab. And do finish, it will start operation for creating new VHDX file. This makes exact copy of VHD file format as a new VHDX file. Now you can mount the new VHDX disk to the Hyper-V VM.
  8. Once you are satisfied with operation of new VM with new VHDX disk, then you can safely delete old VHD disk.
  9. You can use the same process to convert VHDX to VHD as converting VHD to VHDX disk.

First, it’s important to note that while you can create and use both formats with Windows Server 2012/R2, VHDX files are not compatible with Windows Server 2008. Microsoft recommends that most Windows Server 2012/R2 users upgrade VHD files to VHDX to take advantage of these benefits. However, if you expect you might want to move a VM to a previous version of Windows Server or Azure, it could be easier to keep your VHD files.

It is important to note, that the VHDX format is not supported in Microsoft Azure.  Hopefully that will change soon, ya, you Hyper-V & Azure Team……. because, building Hybrid clouds with VHDX is the way to go   🙂

 

Azure ExpressRoute….Explained….

One of the traditional impediments to businesses adopting public cloud computing is the concern over putting all your eggs in one basket. This is where Hybrid Cloud steps in.

The Hybrid Cloud is a description of utilizing a preexisting on-premises datacenter and a cloud solution such as Microsoft Azure to balance the overall solution. Hybrid Cloud requires the need for a constant reliable connection to your datacenter. Building a Hybrid Cloud and having a customer put this over the shared Public internet connection gives you no SLA or reliability. 

Introducing Azure ExpressRoute

Currently, there are three connection options into Azure as shown below. Scenario 1, is over the Shared Public Internet connection. and the last 2 are the ExpressRoute options.

route Azure ExpressRoute

What is Azure ExpressRoute in simple terms?
ExpressRoute provides a private dedicated connection between Azure and the customer datacenter.  Within this network, you can now choose the network performance you want or need (or can afford). This will allow you to design your Apps better and meet QoS and SLA requirements.

How fast can it go?
Well, up to 10Gbps – is that fast enough! If you have large amounts of data to move between your datacenter and Azure or vice versa then this is a great, fast and economically sound option.

So it is fast but what can I use it for?
ExpressRoute is designed to cater for mission critical workloads such as:

  • Storage (Migration, DR, retention archives)
  • Dev/Test (large VM movements from Dev / Test / Production environments)
  • BI and Big Data (Efficient transfer of large data sets to increase ‘Big Data’ performance)
  • Media (solid and predictable performance for streaming data to or from Azure)
  • Hybrid Apps (the mix of High Bandwidth and Low Latency links create a great environment for Azure to be used as a datacenter extension for multi tier apps – improved I/O and API response times.)
  • Productivity Apps (SharePoint as an example requires high bandwidth and low latency to work at scale)

Two flavors of ExpressRoute

ExpressRoute provides a dedicated private route in one of two flavors,  Exchange provider or Network Service provider route. The former provides a simple point to point solution while the latter exposes Azure as an additional site in the corporate network.

2roots Azure ExpressRoute

Two flavors of ExpressRoute

If you know Powershell, then configuring ExpressRoute is just adding additional commandlets.

pshell Azure ExpressRoute

ExpresRoute PowerShell Commandlets

Microsoft provide ExpressRoute pricing for the access and bandwidth as well as throughput and your network provider will add their charges on top of this.
Below is example pricing:expressroute-pricing Azure ExpressRoute

And finally, setup is very easy. Once you the cross connects are in place, then you just need to go to the Azure portal and request an S key. The customer then gives S-Key to service provider. The S-key provides all the provisioning details to setup ExpressRoute between Customer Environment and Azure. See graphic below:expressroute-cust Azure ExpressRoute

Hopefully, this clear ups up questions around ExpressRoute. If not, please post your comments below.  The only question left for me is why wouldn’t you adopt this economically viable, flexible and fast solution to the your Hybrid Cloud solution!