SCVMM 2016 tips: Hot adding vNIC and modifying memory for running VMs

Features that help with VM operational tasks in SCVMM 2016 include hot adding vNIC and modifying memory for running VMs. Do so with the following PowerShell cmdlets and tips.

Microsoft SCVMM 2016's new VM operational features were designed to eliminate service interruption for small VM...

operational tasks. For example, Microsoft introduced online disk resizing in Windows Server 2012 R2 Hyper-V, which, in turn, allows organizations to resize virtual hard disks without any downtime.

While there are improvements to the computing, storage and networking sides in the upcoming SCVMM 2016, features that help in daily VM operational tasks are gaining momentum. Microsoft introduced the Dynamic Memory feature in previous versions of Hyper-V to allow VMs to request memory from a VM host on the fly, but if a VM was configured with static memory, you had to shut down the VM in order to decrease or increase the memory. Microsoft solves this problem by improving the algorithm in the Memory Manager of the OS. Two of the many great features in the upcoming SCVMM 2016 -- SCVMM Technical Preview 5 at the time of press -- are the ability to increase or decrease static memory and enable Dynamic Memory as well as the ability to add/remove virtual network interface (vNIC) cards for running VMs without any downtime.

As is the case with most of the new features introduced in Hyper-V, both VM operations can only be performed using the PowerShell cmdlets. Shown below are a few examples.

To adjust static memory for a running VM, use the following cmdlets:

$SQLVM = Get-SCVirtualMachine –Name “SQLVM”

Set-SCVirtualMachine –VM $SQLVM –MemoryMB 2048

To configure a VM to use Dynamic Memory in place of static memory, enter the following:

$SQLVM = Get-SCVirtualMachine –Name “SQLVM”

Set-SCVirtualMachine –VM $SQLVM –DynamicMemoryEnabled $True –MemoryMB 2048 –DynamicMemoryMaximumMB 4096

To remove a vNIC from a running VM, use these cmdlets:

$SQLVM = Get-SCVirtualMachine –Name “SQLVM”

New-SCVirtualNetworkAdapter –V $SQLV –Synthetic

Also, please note that hot add or removal of vNIC is available only for Generation 2 VMs.

Before you can hot add or remove vNIC and adjust static memory for running VMs, a VM guest OS must be running Windows 10 or Windows Server 2016 OSes and the VM must be configured with static memory. In other words, Dynamic Memory-enabled VMs cannot be used for dynamic memory management. It's worth mentioning that VMs must be running on Windows Server 2016 Hyper-V host before hot add or removal of vNIC and dynamic memory operations can be carried.

Next Steps

Prioritize VMs with SCVMM

SCVMM roles and positions customization

Deploy Hyper-V clusters with SCVMM

Dig Deeper on Microsoft Hyper-V management