This content is part of the Essential Guide: Fine-tune your virtualization performance management skills

Reclaim Hyper-V configurations for better performance

Certain Hyper-V default configurations should be changed for better performance before using the servers in a production environment.

There are several reasons why you might want to change the default configuration of a technology product. Changing the default configuration to a recommended configuration can help improve the product’s performance. Depending on the version of Hyper-V you’re running, you may want to make changes for better overall performance in a production environment. This tip highlights the default configuration settings for Hyper-V running on Windows Server 2012 R2 and the important changes you can make.

Default location for storing virtual machine files
When you enable the Hyper-V role, by default, it chooses the local disk as the target for storing different virtual machine (VM) files. You can change the default location of storing virtual machine files including virtual hard disk (VHD) files, virtual machine configuration files, and snapshot files. By default, Hyper-V configures these locations:

Storing VM configuration files (XML): C:\ProgramData\Microsoft\Windows\Hyper-V\virtual machines location

Storing VM VHD files: C:\Users\Public\Public Documents\Hyper-V\Virtual Machines

Storing VM snapshot files: C:\ProgramData\Microsoft\Windows\Hyper-V\Snapshots

Whenever you create a new virtual machine on the Hyper-V server, the locations for storing the VM files, including VHD, XML and snapshots, will be taken from the Hyper-V Server settings. In a production environment, it is recommended to change the location to a block-based or file-based storage such as Cluster Shared Volumes (CSV) or Server Message Block (SMB). Since most production environments are configured for high availability and use of Live Migration is seen at a large scale, it’s best to deploy VM files on CSV storage.

Live Migration and Storage Live Migration settings
By default, both Live Migration and Storage Live Migration features feature are configured to handle 20 simultaneous live migrations. You might want to change the setting to a lower number which does not impact network workloads. In addition to that, Live Migration is configured to accept live migration packets on any network. It is always recommended to dedicate a network to handle the live migration requests. The network must not be used by any other services on the Hyper-V host.

Starting with Windows Server 2012 R2, there are three performance options available for use with Live Migration: TCP/IP, compression and SMB. Compression is selected as a default option. In case of compression, the memory of the VM being migrated is compressed and then it is copied over to the destination server over a TCP/IP connection. Although compression helps improve performance, use the SMB option, which is much faster than the other two options. While the SMB performance option requires high-end networking between the Hyper-V servers,  it leverages SMB features such as SMB Multichannel, which is able to use more than one NIC for aggregate bandwidth, and SMB Direct (RDMA), which offloads the processing power to the network cards.

Hyper-V Replica configuration
With the Windows Server 2012 edition, Hyper-V supports replication of VM contents to a Replica Hyper-V server. By default, the replication is disabled. In other words, a Hyper-V host is not automatically enabled as a Replica server. Consider enabling Hyper-V Replica if you are planning to use this feature in your production environment. By default, Hyper-V Replica allows connection from any authenticated Hyper-V servers. It is always recommended to create a Trust Group and allow replication connections only from the known Hyper-V servers. It is also recommended that you change the location so you don’t store replicated contents on the Hyper-V Replica server.

Enhanced Session mode policy
Enhanced Session mode allows redirection of local resources to VMs without requiring a network connection. There are two Enhanced Session policies you can configure: server policy and user policy. By default, the server policy, which actually enables the local resource redirection on the local Hyper-V server, is disabled. Enable it if you want to allow administrators and users to redirect local resources to the VMs running on the Hyper-V 2012 R2 hosts. User policy can also be enabled, which allows the users to see the local redirection window when they connect to a virtual machine.

NIC teaming
Windows Server 2012 and later operating systems support NIC teaming. Although NIC teaming is not directly related to the Hyper-V configuration, it is always recommended that you configure the NIC teaming on the Hyper-V host to aggregate bandwidth and achieve high availability at the network level.

Extended Port ACL security feature
Windows Server 2012 R2 provides enhancements to the Port ACL security feature, which was introduced in the Windows Server 2012. Port ACL helps you secure virtual machine traffic. By default, Port ACL is not in use. Consider using the Port ACL if you need to block or allow incoming/outgoing traffic to VMs.

Hyper-V virtual network switches
By default, there are no Hyper-V virtual network switches created on the Hyper-V server unless you select them when enabling the Hyper-V role. You must create the necessary Hyper-V virtual network switches to allow virtual machines to communicate with each other or to the corporate LAN.

Dig Deeper on Microsoft Hyper-V management

Join the conversation

1 comment

Send me notifications when other members comment.

Please create a username to comment.

Truly informative. In particular, having the Hyper-V Replica configuration disabled by default makes sense in a development environment, but in production mode should be enabled.