Here we are in part two of the Q&A series, where I’m working through the multitude of questions that were asked during the recent ‘What’s new in Windows Server 2016 Preview’ JumpStart course, which, if you haven’t heard, is now available on-demand, so check it out! In this post, I’ll be walking through the questions focused around Failover Clustering and High Availability. There was lots of interest in this topic, especially around the new Compute and Storage resiliency, along with enhancements to Shared VHDX. On to the questions…
Will Windows Server 2016 Hyper-V support Fault Tolerance?
No, Fault Tolerance, a feature within certain editions of VMware vSphere, is not a feature within Windows Server 2016. Taking information from the VMware vSphere Availability Guide, whilst attractive on paper, protection of VMs is still limited to only 4 vCPU, and whilst this is enough for many workloads, Fault Tolerance cannot protect against application failures within the VM, cannot reduce downtime for patching-related outages within the guest operating system, and, the feature itself has resource requirements that can create additional overhead. Read that as ‘takes a performance hit’. You also lose flexibility, as the use of Memory Overcommit, and Hot-Add of disks is disabled.
Will Failover Cluster Manager have a way to automatically balance the load of VMs in a cluster across all nodes?
No, this is still a feature that System Center Virtual Machine Manager will provide. The feature is known as Dynamic Optimization, and you can learn more about it on TechNet. If you feel this is an important feature to have in the base platform, raise the feedback on the Windows Server Uservoice website, in the appropriate section.
How many VMs in a cluster are supported in Windows Server 2012 R2 and 2016?
We are yet to disclose supported maximums for Windows Server 2016, but for Windows Server 2012 R2, clusters can consist of up to 64 nodes, and 8,000 virtual machines.
Does Storage Resiliency work with the Microsoft Distributed Transaction Coordinator (MSDTC)?
No, this is a feature specific to virtual machines and their underlying virtual hard disk. With VM storage resiliency, should a cluster node lose access to the underlying storage it was using to store the running virtual machines, the Hyper-V virtualization stack is quickly, and intelligently notified. This notification of a failure in the underlying storage infrastructure is handled by placing the virtual machine into a PausedCritical state. The VM is disrupted, but it’s running state, instead of being lost, is held temporarily in memory on the cluster node. The virtual machine is held in this state until, at which point, the storage is recovered, and session state is then resumed.
Node Quarantine – Does the live migration occur with just Hyper-V, or do you need System Center Virtual Machine Manager?
Node Quarantine is a feature of the Windows Server operating system, and has no reliance on System Center. Upon triggering the defined threshold, the cluster will execute a draining of the roles, and the VMs will be migrated to other nodes in the cluster. There’s a great write up on the Clustering blog, and another, more detailed look, from Didier Van Hoye, MVP.
With Node Quarantine, is the threshold configurable?
There are a number of cluster thresholds that can be configured. For Node Quarantine, one of the key thresholds to adjust is the QuarantineDuration (default = 2 hours, or 7,200 seconds). This will determine how long a node remains in quarantine after being placed there. You cannot change the detection period for Node Quarantine, which remains as 1 hour, however you can adjust the number of failures per hour that you would like to use to trigger Node Quarantine, by adjusting the QuarantineThreshold value. For more info, refer to the blog posts in the previous answer.
Does the storage have to be UNC path or can it be Fiber connected for the VM resiliency features?
Both SMB-based, and block-based storage are both supported. Should a cluster node lose access to the underlying storage it was using to store the running virtual machines, regardless of SMB-based or block-based, the Hyper-V virtualization stack is quickly, and intelligently notified. This notification of a failure in the underlying storage infrastructure is handled by placing the virtual machine into a PausedCritical state. The VM is disrupted, but it’s running state, instead of being lost, is held temporarily in memory on the cluster node. The virtual machine is held in this state until, at which point, the storage is recovered, and session state is then resumed.
Do the guests running on the cluster, also have to be Windows Server 2016, or can they be previous versions?
You only need Windows Server 2016 for the host OS.
Is the threshold for VM Storage Resiliency configurable?
Yes, and the virtualization blog has detailed it all in a blog post. In a nutshell, you can set the timeout in minutes to meet your need. The default is 30 minutes.
How will cluster geo-awareness be built into Windows Server 2016 cluster functionality?
From this blog, Windows Server 2016 provides site-aware clusters. Nodes in stretched clusters can now be grouped based on their physical location (site). Cluster site-awareness enhances key operations during the cluster lifecycle such as failover behavior, placement policies, heartbeats between the nodes and quorum behavior. Full details on the blog post.
What are the benefits of upgrading from Windows Server 2012 R2 to Windows Server 2016 for clustering? What does 2016 give you that 2012 R2 does not?
Hmm, all the stuff we covered in that section (and more!) is stuff that’s new to Windows Server 2016 clustering, but if you are looking for a more definitive list, there’s this TechNet page.
Is there a way to manage a cluster without purchasing System Center?
Yes, with Failover Cluster Manager, an MMC built into Windows Server and available in the Remote Server Administration Tools (RSAT) on Windows client. Alternatively, you could use PowerShell.
Can we Storage Live Migrate a Shared VHDX in Windows Server 2016?
No, that is not possible in this release. If you feel this is an important feature to have in the platform, raise the feedback on the Windows Server Uservoice website, in the appropriate section.
Do Shared VHDX files support the Microsoft Distributed Transaction Coordinator (MSDTC)?
On a Windows Server Failover Cluster, the MSDTC requires a shared storage drive for it’s operations. A Shared VHDX presented to two or more virtual machines, appears just like a regular shared drive would appear from a SAN, thus could be used for MSDTC, running inside a guest cluster.
Does Hyper-V Replica require that the source and destination servers have the same host server OS version?
Yes. If you wish to replicate from a Windows Server 2012 R2 host, you would need to have a Windows Server 2012 R2 target. The same applies for Windows Server 2016.
Does Hyper-V Replica now support MSDTC?
As discussed above, the Microsoft Distributed Transaction Coordinator requires shared storage for it’s operations. Hyper-V Replica now supports the replication of Shared VHDX files, thus, this scenario should be supported.
What will happen if a disaster happens when the replication is in process?
The answer is, it depends. If the disaster happens during the VM’s initial replica i.e. the first replication of the data, the VM wouldn’t be able to be brought online in the secondary location, as you need at least 1 successful replica cycle. If the disaster happened during a subsequent replication cycle, the VM on the secondary site would be started from the previously successful recovery point, which may be 30 seconds, 5 minutes, or 15 minutes earlier, depending on your configuration.
Can you throttle the amount of bandwidth that Hyper-V replica can use?
Whilst there is no ‘check-box’ way to throttle the amount of bandwidth used by Hyper-v Replica, MVP Thomas Maurer has a good write up of how throttling can be achieved. In addition, you’ll find guidance on designing a server, storage and network infrastructure for Hyper-V Replica on TechNet.
Can I replicate Hyper-V virtual machines from multiple servers to another Hyper-V host, and backup data from this replica Hyper-V host, instead of directly on each Hyper-V host?
It appears that this is a supported scenario, at least if you are using Windows Server 2012 R2 along with Data Protection Manager 2012 R2, as detailed on this blog post. You’d need to confirm with your own backup vendor if you’re using an alternative backup solution.
With Hyper-V Replica in Windows Server 2016. Do we still have to setup 3 servers for Azure Site Recovery?
The reality is, it will depend on your configuration. Integration between Windows Server 2016 Hyper-V Replica, and ASR won’t have been finalized yet, however if you use 2012 R2 as a guide, if you want to use ASR to manage replication and recovery between your own datacenters, you’ll need to deploy at least 1 System Center Virtual Machine Manager server, in addition to your Hyper-V hosts on your primary and secondary locations. This scenario is documented here. If you are looking to replicate and recover into Azure, you don’t even need to deploy a System Center Virtual Machine Manager service, as detailed in this documentation.
Static & Dynamic Memory
Does Dynamic Memory still disable NUMA awareness for the virtual machine?
Yes, no change from Windows Server 2012 R2 here.
What about memory priority, versus other VMs?
For this, I would recommend using the Memory Weight setting for the virtual machine. As detailed on TechNet, this feature provides Hyper-V with a way to determine how to distribute memory among virtual machines if there is not enough physical memory available in the computer to give every virtual machine its requested amount of memory.
I assume all of the resizing works on guests that are running Windows Server 2016?
For the supported list of guest operating systems that support Dynamic Memory, visit TechNet. You’ll see the list is much broader than just the latest releases. The resizing is applicable to both the automatic Dynamic Memory resizing, and also the static memory resizing.
Can you switch between Static and Dynamic Memory or vice-versa, without downtime?
No, once the VM is started, the VM is locked in that particular mode, however with the new added flexibility, you can still modify the memory of the virtual machine regardless of which setting you have chosen, which should help you to meet the changing needs of a guest OS until the next period of maintenance.
What about using Dynamic Memory with SQL Server virtual machines?
Whilst every scenario is different, this whitepaper should give you food for thought. Although the paper focuses on an older version of Hyper-V, the guidance is relevant to multiple versions of SQL Server and multiple versions of Hyper-V. The key takeaway, as illustrated in the summary, is that there is a clear benefit provided by the ability to leverage Hyper-V Dynamic Memory, and this provides a great mechanism to enable better overall performance as well as more efficient use of storage resources for SQL Server scenarios.
Does the guest OS reflect the changes of the memory of the VM, live?
Yes, in Task Manager (for example), you will see updated values for the memory once added, or removed.
What about backup? Does Microsoft have a built-in tool for protecting VMs?
Yes, Windows Server Backup is built into Windows Server, and can protect Hyper-V virtual machines that are running locally on that particular server. More information about Windows Server Backup can be found here. Alternatively, for a more scalable, centralized solution, Data Protection Manager would fit the bill.
Can I hot-add vCPUs to VMs in Windows Server 2016 Hyper-V?
No, this is not a Windows Server 2016 Hyper-V feature. If you feel this is an important feature to have in the base platform, raise the feedback on the Windows Server Uservoice website, in the appropriate section.
Can I connect a USB drive to a VM?
Yes, with Enhanced Session Mode enabled, you can pass through a USB device through to a VM. You can read all the details on TechNet.
Is there a supported way to convert between a Generation 1 and Generation 2 VM?
No, but there are unsupported ways…
Are Generation 1 VMs supported on Windows Server 2016?
Yes, but try to use Gen 2 where you can, as a number of the newer features are unique to Gen 2.
That’s all folks!