Learn What IT Pros Need to Know About Windows 11 - August 26th at 1 PM ET! Learn What IT Pros Need to Know About Windows 11 - August 26th at 1 PM ET!
Hyper-V

Improvements I Want to See in the Next Version of Hyper-V

I have been working with the current release of Hyper-V since the first preview for Windows Server 2012 R2 was released. My job is unusual because I don’t work with production systems very often. Instead, I spend most of my time diving deep into technology features, experimenting, learning, and then evangelizing or teaching possible solutions to Microsoft partners. 

In my line of work, I inevitably come across Hyper-V features and functionality that I would like to see improved (or added) to the next version of Hyper-V. I also get feedback from customers who are at the coalface every day. As a result, I’ve built up a list of things that I would like to see in the next version of Hyper-V. Some of these are Hyper-V features, some are Windows features that affect Hyper-V, and others are bolt-on solutions.

Is there anything not on this list that you’d like to see added or changed? If so, why don’t you post below?

Although it’s too late to affect the vNext release of Windows Server, we might be able to impact the next release.

Sponsored Content

Read the Best Personal and Business Tech without Ads

Staying updated on what is happening in the technology sector is important to your career and your personal life but ads can make reading news, distracting. With Thurrott Premium, you can enjoy the best coverage in tech without the annoying ads.

A New Hyper-V Management Console

We have been using two MMC utilities to manage Hyper-V since the release of Windows Server 2008. The Hyper-V Manager is used to directly manage host configurations, and it is also used to manage virtual machines on non-clustered hosts. The Failover Cluster Manager is used to manage virtual machines on clustered hosts and, it’s obviously used to manage host clusters. I work with Hyper-V quite a bit so I understand the clear divide, but most people honestly just don’t get it, despite Microsoft making some changes in Windows Server 2012 that guides you to the correct place to work.

The official Microsoft answer for a central place to manage hosts is to use System Center. The System Center Virtual Machine Manager (SCVMM) used to be Microsoft’s answer to vSphere’s vCenter. But Microsoft left virtualization management behind with the release of System Center 2012. SCVMM is a bad name for the product now, as the tool is more of a cloud fabric management solution now, where the virtualization element is only a small piece of the puzzle. And to this day, those of us who like full control are still returning to Hyper-V Manager and Failover Cluster Manager despite the growth of SCVMM to get our Hyper-V, clustering, and storage work done.

And there is one other issue with SCVMM: Since the licensing changes of System Center 2012, small to medium enterprises can no longer afford SCVMM. So these businesses that have between one and five hosts don’t have a good centralized management solution.

As a result, I have a request for Microsoft. Continue to develop SCVMM because the target market for that solution is public and private cloud deployment and infrastructure management. But for the other 90 percent of customers (that only an ivory tower resident thinks will move completely to the cloud), why not give them a new Hyper-V management solution that is made up of one console and one set of PowerShell cmdlets? Give us all the elements for setting up Hyper-V hosts and clusters under one roof.

I know that SMEs will appreciate a new central console that is a part of Windows Server. I believe that large hosting companies that go with Hyper-V but opt for OpenStack or other cloud solutions would like this. And to be honest, I think it would simplify development for Microsoft by enabling easier integration from Microsoft cloud-based services.

Storage Spaces Management

I am a huge fan of Storage Spaces and the Scale-Out File Server architecture. Storage Spaces is still relatively new with Windows Server 2012 R2, but some elements of the solutions are still a little crude. Some of these more difficult tasks include updating disk BIOs, replacing faulty disks, and alerting.

Storage Spaces administration needs more work, and I do not want to hear the advice to “use System Center” because the person uttering that sentence clearly wants to sell some licensing. We need an administrative center for Storage Spaces, with clear health and performance information that we would expect to see in a SAN administration utility. Functions in this console should also include the ability to manage disk BIOS: This directly impacts performance and stability and an option for sending warning and critical alerts to an email address.

The other element that must change are the repair and recovery processes. There should be no human involvement in performing replacement or repairs other than extracting and replacing a disk. The idea of a Scale-Out File Server is that we can have many terabytes or even petabytes of storage. That’s lots of disks, and you can expect lots of failures when you scale out. Do we really want our low paid and inexperienced ‘disk monkey’ to be running PowerShell cmdlets on a daily basis?

Virtual Machine Change Synchronization in Hyper-V Replica

One of the most popular features, and deservedly so, of Hyper-V is Hyper-V Replica (HVR), a built-in asynchronous replication system for virtual machines. Some key scenarios for HVR include:

  • Large enterprise: Replicating hundreds or thousands of virtual machines to a dedicated disaster recovery (DR) site.
  • Disaster Recovery-as-a-Service (DRaaS): A hosted solution that offers virtual DR in the cloud for SMEs that cannot otherwise afford DR.

There is a flaw in HVR. Say you configure a virtual machine, put it in production and start to replicate it. You monitor the virtual machine and see that you need to increase Maximum RAM. You do that in the production site but HVR does not replicate that change to the DR site. That’s not a big deal? Wrong. What if you have thousands of virtual machines in a private cloud, replicating away? I bet it’s a big deal to manually change those virtual machines. And I guarantee it would be a mess in the SME DRaaS scenario, either with it not being done (assumption is the mother of chaos) or it would create a hailstorm of hell-desk tickets.

I want Hyper-V Replica to synchronize virtual machine changes to the secondary site. This would resolve the above issues and bring HVR further along in terms of maturity.

Hyper-V Replica Branch Cache

Two of the core scenarios when HVR was introduced was replicating branch office virtual machines to a central data center or introducing DR to SMEs. Both of these sites have a common obstacle to DR replication: bandwidth.

My idea is that a proxy would operate in front of the secondary site hosts and offer an optimization or deduplication service, much in the way that the expensive Riverbed appliances offer. Before any block of data is sent over the wire from the primary site, a check is done to see if that block already exists in the secondary site. If it does, then the block is simply copied in the secondary site and less data traverses the latent, bandwidth-limited network. Microsoft already has a solution that does this kind of work: BranchCache. Maybe there’s a way that BranchCache can be used to work with Hyper-V Replica and could save us a lot of bandwidth headaches?

Upgraded Shared VHDX

A feature that got a lot of nods of approval when introduced was Shared VHDX. We can use Shared VHDX to create guest clusters without crossing the boundary between virtual machine and the fabric. Unfortunately, Microsoft didn’t have time to give us a complete VHDX solution before the release of Windows Server 2012 R2. So that means we cannot backup, replicate or live migrate very valuable Shared VHDX files.

What I would like to see, in this order is the ability to do the following with Shared VHDX:

  • Backup from the host
  • Replicate
  • Perform Storage Live Migration

Hyper-V Clusters Rolling Upgrades

Since the days of Wolfpack, we haven’t had the ability to upgrade the members of a Windows Server cluster. This makes upgrading a Hyper-V cluster a slow, cumbersome, and possibly even an expensive process.

Windows Server has changed development cycles substantially. It is believed that sprint development for Azure is driving the feature development of Windows Server. We have and will see releases 12 to 18 months apart, instead of every three years. Sprint development might even lead to out-of-band releases in the future. So that leads to me wonder, can we continue to perform lengthy or outage-inducing migration projects as frequently as Microsoft is releasing changes?

My biggest request for the failover cluster group is the ability to perform an in-place or rolling upgrade of a Hyper-V Cluster. This might be possible by duplicating the Active Directory’s versioning. In other words, limiting Version A+1 hosts to functionality in Version A until all hosts are running A+1, and there is a sign-off to complete the upgrade by switching the version. This would facilitate small and large customers alike in upgrading their hosts and availing on-premises and hybrid cloud solutions as quickly as possible – and that’s a win-win for customers and Microsoft.

vRSS for Management OS vNICs

We can use virtual NICs in the management OS to converge networks or fabrics. For example, a host with 2 x 10 GbE or faster NICs would team those NICs and split the bandwidth into different networks.

A commonly employed design sees hosts having just two physical NICs and all traffic, including SMB 3.0, traversing the converged networks implementation. There’s one problem with this: Without vRSS, we have seen that management OS virtual NICs can only reach around 2.5 Gbps over 20 Gbps of physical networking. This is because the virtual NICs do not support vRSS.

The lack of vRSS in the management OS constricts bandwidth utilization

The lack of vRSS in the management OS constricts bandwidth utilization
(Image: Aidan Finn)

Microsoft added vRSS to Windows Server 2012 R2 Hyper-V, but it is limited to virtual machines. Because of this, Microsoft has suggested having four, six, or even more virtual NICs in the management OS for SMB 3.0 traffic. This really complicates the design. I would like to see vRSS being enabled in the management OS so we can go back to a simpler design.

RDMA for Virtual NICs

If we’re going to push huge amounts of traffic through virtual NICs in the management OS or in virtual machines, then it would be good to have virtual RDMA (vRDMA). We can reduce latency, but we can also reduce the impact on host processors.

Component Upgrade Integration Enhancements

Every version of Hyper-V comes with a new version of the Hyper-V integration components (ICs). Microsoft expects you to upgrade these components in your virtual machines’ guest OS to improve stability and performance, as well as gaining access to new Hyper-V features.

If only Hyper-V ICs were released every 12-18 months, and even then that’s a pain! From time to time, an update to Hyper-V upgrades the host’s copy of the integration components. As a result, we have to perform yet another upgrade.

In an ideal world, there would be no guest reboot for a new version of the Hyper-V ICs. However, Microsoft has been promising us fewer reboots since I first started working with Windows NT 3.51, without any improvement.

What I want is a better installation process. Maybe the little-known out-of-band file copy feature could be leveraged to perform a copy and install of the MSI file. This would be another step toward improving the upgrade process of Hyper-V, especially in these era of frequent upgrades. The gain here is less time spent on upgrade projects and hopefully less impact on customer uptime.

Azure Site Recovery without a VMM Requirement

When I presented on HVR in the past, one of the guaranteed questions from the SME market was, “Will Microsoft give us the ability to replicate to Azure?” Microsoft partners and customers alike wanted a cheap way to implement disaster recovery. Eventually Hyper-V Recovery Manager (HRM) was released as an orchestration solution between production and DR clouds, both managed by SCVMM. The requirement of SCVMM made HRM a solution just for medium to large businesses. Unfortunately, 90 percent of companies out there were left in the cold.

Microsoft then upgraded the Azure-based HRM to become Azure Site Recovery. The orchestration functionality was joined by the ability to replicate virtual machines into Azure – Microsoft was selling DRaaS, exactly what the SME market wanted. Or was it? The answer is: no, and that’s because ASR still requires you to run SCVMM in the production site to replicate into Azure.

There is a huge customer base out there that would love to replicate their workloads into Azure, but they can’t. Microsoft also tells hosting companies to sell DRaaS based on their own public clouds using ASR, but the same requirements and market size limitations exist. If Microsoft removed the ASR requirement for SCVMM, then I think ASR would become the hot on ramp into the hybrid cloud that Microsoft strategists dream of.

What do you want in a future version of Hyper-V?

Leave a comment below to tell us what you think of my ideas. Do you agree or disagree? Is there something else you want added or changed in Hyper-V?

Related Topics:

BECOME A PETRI MEMBER:

Don't have a login but want to join the conversation? Sign up for a Petri Account

Register
Comments (16)

16 responses to “Improvements I Want to See in the Next Version of Hyper-V”

  1. Bjorn Houben

    Great article. I'd also love to see Shared VHDX to support more than just failover clustering.
  2. Bjorn Houben

    Great article. I'd also love to see Shared VHDX to support more than just failover clustering.
  3. Ethan Wang

    Thin provisioning on tiered storage spaces.
  4. Ethan Wang

    Thin provisioning on tiered storage spaces.
  5. JPatIT

    I can't agree more about the upgrading of Failover Cluster Nodes. I managed to upgrade our physical nodes with no outages. However, I couldn't get around not having an outage when upgrading our Guest Clustered SQL instances. My co-worker and I are just starting to look at Storage Spaces. One thing that I notice is you can't directly present storage from the SOFS to a VM, such as you can with Virtual FC. I think this is where the shared VHDX comes into play, but we haven't looked at this that closely yet.
  6. JPatIT

    I can't agree more about the upgrading of Failover Cluster Nodes. I managed to upgrade our physical nodes with no outages. However, I couldn't get around not having an outage when upgrading our Guest Clustered SQL instances. My co-worker and I are just starting to look at Storage Spaces. One thing that I notice is you can't directly present storage from the SOFS to a VM, such as you can with Virtual FC. I think this is where the shared VHDX comes into play, but we haven't looked at this that closely yet.
  7. Cincinnerdi

    Dynamic memory that actually works without dragging down performance?
  8. Cincinnerdi

    Dynamic memory that actually works without dragging down performance?
  9. Ryan

    Re: SOFS--I agree, it currently shows lots of promise, but there are also many gotchas and difficulties in setting it up. While it beautifully simplifies storage in some ways, it creates inexplicable complications elsewhere. "Crude" is a charitable way to put it. For example, the SAS requirement not a problem for HDDs, but good luck locating a reliable, cost-effective source for SAS SSDs (which are also absurdly expensive compared to their SATA counterparts). Once you do have SSDs in the mix, it's tricky to use them effectively: you can't resize the Write Back Cache, the column requirements force you to use more SSDs than you want and fewer HDDs than you want, you can't add SSDs to an existing HDD-only virtual disk, enclosure redundancy requires at least 3 JBODs--but the number of SAS ports required and the amount provided on most JBODs makes it difficult to do correctly, etc. etc. I hope they make major investments in resolving problems and growing the capabilities of this very exciting platform.
  10. Ryan

    Re: SOFS--I agree, it currently shows lots of promise, but there are also many gotchas and difficulties in setting it up. While it beautifully simplifies storage in some ways, it creates inexplicable complications elsewhere. "Crude" is a charitable way to put it. For example, the SAS requirement not a problem for HDDs, but good luck locating a reliable, cost-effective source for SAS SSDs (which are also absurdly expensive compared to their SATA counterparts). Once you do have SSDs in the mix, it's tricky to use them effectively: you can't resize the Write Back Cache, the column requirements force you to use more SSDs than you want and fewer HDDs than you want, you can't add SSDs to an existing HDD-only virtual disk, enclosure redundancy requires at least 3 JBODs--but the number of SAS ports required and the amount provided on most JBODs makes it difficult to do correctly, etc. etc. I hope they make major investments in resolving problems and growing the capabilities of this very exciting platform.
  11. AkiraX

    All excellent ideas, as far as syncing replica changes, give me the option. Currently, when I made changes to the primary I am aware that the replica won't get the changes and that is fine with me as DR H/W is usually a generation or two behind your primary site. 1. I'd like to see the ability to select more than one replica destination. Currently, you can only select one replica destination. If my replica storage has limits, say I need 10TB but my storage luns max at 5TB, I have to create 2 5TB luns but can only point the broker at one at a time. 2. Cluster manager and Hyper-V manager need to be combined OR Cluster Manager needs to be beefed up. A unified console is needed. 3. SCVMM needs to provide all functions of Cluster Manager and Hyper-V. Currently, I cannot enable and manage Hyper-V replica from VMM 2012R2. 4. Expanding a vhd(x) on a the primary doesn't expand the replica vhd(x). If there is a valid reason for this then fine, if not make it so. 5. I'd like to see some type of alerting for Hyper-V replica or some sort of API to monitor replica from other monitoring solutions and Im not only talking about SCOM, I can currently do this through powershell but the easier you make it, the faster potential Hyper-V admins will adopt it. With just a little more polish, Hyper-V Next would have it all
  12. AkiraX

    All excellent ideas, as far as syncing replica changes, give me the option. Currently, when I made changes to the primary I am aware that the replica won't get the changes and that is fine with me as DR H/W is usually a generation or two behind your primary site. 1. I'd like to see the ability to select more than one replica destination. Currently, you can only select one replica destination. If my replica storage has limits, say I need 10TB but my storage luns max at 5TB, I have to create 2 5TB luns but can only point the broker at one at a time. 2. Cluster manager and Hyper-V manager need to be combined OR Cluster Manager needs to be beefed up. A unified console is needed. 3. SCVMM needs to provide all functions of Cluster Manager and Hyper-V. Currently, I cannot enable and manage Hyper-V replica from VMM 2012R2. 4. Expanding a vhd(x) on a the primary doesn't expand the replica vhd(x). If there is a valid reason for this then fine, if not make it so. 5. I'd like to see some type of alerting for Hyper-V replica or some sort of API to monitor replica from other monitoring solutions and Im not only talking about SCOM, I can currently do this through powershell but the easier you make it, the faster potential Hyper-V admins will adopt it. With just a little more polish, Hyper-V Next would have it all
  13. AkiraX

    "Component Upgrade Integration Enhancements" "What I want is a better installation process" I recently started doing this with psexec and it works very well, I no longer even use system center to update ICs in VMs nor do it manually log into each VM to do it, unless there is a problem. Copy the latest ICs, I am on .20873(for WS2012), to a file share, create bat file with the VMs you want to upgrade, it can look like the below or combine this method with some powershell or you can selectively do this one-off style from a command prompt. ------------- psexec -cs install-HyperVICs.bat server1 psexec -cs install-HyperVICs.bat server2 The install-HyperVICs.bat looks like this: ------------------------------- systeminfo | findstr "x64-based" if %ERRORLEVEL% EQU 0 goto X64 if %ERRORLEVEL% EQU 1 goto X86 goto END :X64 "fileserverHyper-V Integrationsupport.20873amd64setup.exe" /quiet goto END :X86 "fileserverHyper-V Integrationsupport.20873x86setup.exe" /quiet goto END :END -------------------------------- This will copy the bat file to each VM, run the bat file within each VM, install the ICs, and restart the VM when its finished. The VMs can be either x86 or x64 Windows machines, the scripts determines which one. Again, works beautifully. Once done I go to system center VMM and refresh and watch the version #s refresh with latest version ICs. This has been the absolute FASTEST way to install Hyper-V ICs in my environment.
  14. AkiraX

    "Component Upgrade Integration Enhancements" "What I want is a better installation process" I recently started doing this with psexec and it works very well, I no longer even use system center to update ICs in VMs nor do it manually log into each VM to do it, unless there is a problem. Copy the latest ICs, I am on .20873(for WS2012), to a file share, create bat file with the VMs you want to upgrade, it can look like the below or combine this method with some powershell or you can selectively do this one-off style from a command prompt. ------------- psexec -cs install-HyperVICs.bat \server1 psexec -cs install-HyperVICs.bat \server2 The install-HyperVICs.bat looks like this: ------------------------------- systeminfo | findstr "x64-based" if %ERRORLEVEL% EQU 0 goto X64 if %ERRORLEVEL% EQU 1 goto X86 goto END :X64 "\fileserverHyper-V Integrationsupport.20873amd64setup.exe" /quiet goto END :X86 "\fileserverHyper-V Integrationsupport.20873x86setup.exe" /quiet goto END :END -------------------------------- This will copy the bat file to each VM, run the bat file within each VM, install the ICs, and restart the VM when its finished. The VMs can be either x86 or x64 Windows machines, the scripts determines which one. Again, works beautifully. Once done I go to system center VMM and refresh and watch the version #s refresh with latest version ICs. This has been the absolute FASTEST way to install Hyper-V ICs in my environment.
  15. Nick Morgowicz

    I would like to have feature parity with VMware vSphere 6 beta, or even 5.5. 1) Allow us to upgrade the IC components without reboot like how VMware can with their VMware-tools, integrated in their management console, Whether that is VMM, cluster manager, or hyper-v manager. 2) Provide us a central console with all of the functionality of Hyper-V manager (including Hyper-V replica), Failover Cluster Manager, and VMM. There should not be any reason for us to use 3 different tools to try to manage our hosts and guests. 3) Ditto on Shared VHDX capabilities. Please provide us the ability to crreate application profiles and service profiles using Shared VHDX files, and allow us to back them up, grow them, and everything else that we can do with traditional VHDX files! 4) Probably the biggest thing that i would like would be to have Microsoft release a single installer that can deploy the whole System Center 2012 R2 (or later version) suite to have the Microsoft Private Cloud that can grow to extend to be a Hybrid Cloud. Using the PowerShell Deployment Toolkit is an option, but it is still filled with bugs and is not easy to deploy. And even then, once you have SCOM, WAP, Orch, VMM, AC, and SM going, getting the products to work together to provide you the real Azure Pack experience for your company is extremely difficult. I've personally only seen it in online test labs, and have not been able to 'stitch' things together with all of the whole suite so that the full automation stack functions. PLEASE MAKE THIS EASIER, MICROSOFT!! Companies need a VM self-service portal with workflow and chargeback that isn't impossible to install!
  16. Nick Morgowicz

    I would like to have feature parity with VMware vSphere 6 beta, or even 5.5. 1) Allow us to upgrade the IC components without reboot like how VMware can with their VMware-tools, integrated in their management console, Whether that is VMM, cluster manager, or hyper-v manager. 2) Provide us a central console with all of the functionality of Hyper-V manager (including Hyper-V replica), Failover Cluster Manager, and VMM. There should not be any reason for us to use 3 different tools to try to manage our hosts and guests. 3) Ditto on Shared VHDX capabilities. Please provide us the ability to crreate application profiles and service profiles using Shared VHDX files, and allow us to back them up, grow them, and everything else that we can do with traditional VHDX files! 4) Probably the biggest thing that i would like would be to have Microsoft release a single installer that can deploy the whole System Center 2012 R2 (or later version) suite to have the Microsoft Private Cloud that can grow to extend to be a Hybrid Cloud. Using the PowerShell Deployment Toolkit is an option, but it is still filled with bugs and is not easy to deploy. And even then, once you have SCOM, WAP, Orch, VMM, AC, and SM going, getting the products to work together to provide you the real Azure Pack experience for your company is extremely difficult. I've personally only seen it in online test labs, and have not been able to 'stitch' things together with all of the whole suite so that the full automation stack functions. PLEASE MAKE THIS EASIER, MICROSOFT!! Companies need a VM self-service portal with workflow and chargeback that isn't impossible to install!

Leave a Reply

Aidan Finn, Microsoft Most Valuable Professional (MVP), has been working in IT since 1996. He has worked as a consultant and administrator for the likes of Innofactor Norway, Amdahl DMR, Fujitsu, Barclays and Hypo Real Estate Bank International where he dealt with large and complex IT infrastructures and MicroWarehouse Ltd. where he worked with Microsoft partners in the small/medium business space.

Register for Advanced Microsoft 365 Day!

GET-IT: Advanced Microsoft 365 1-Day Virtual Conference - Live August 24th!

Join us on Tuesday, August 24th and hear from Microsoft MVPs and industry experts about how to take advantage of Microsoft 365 at a technical level and dive deep into the features and functionality that will make your environment more secure and compliant.

RSVP Now

Sponsored By