How To use Windows Server 2016 Hyper-V VMGroups #winserv #Cloud #Hyperv #Windowsserver2016

Suppose you have some Hyper-v Machine’s and running Azure Stack and the VM’s have all follow up codes and there are say 1000 DC and 2000 File servers etc this is a hard time to manage. So there for in Windows Server 2016 you can work with VMGroups. So you don’t have to list all 11151 VM’s on the Hyper-v server to manage a VM you can create groups and manage the Group.  multiple changes in one simple action.

All these options are PowerShell only there is no GUI or indication that there is a configuration active So be careful when you are starting with this.

New-VMGroup

Just a Quick selection how many VM’s are on this host.

New-VMGroup

VMGroups how does this work and how can I use it.

First check what commands we have Add-Get-New-Remove

Get-Command *vmgroup* to get a listing on the Group commands

New-VMGroup

VM groups comes in two types

  • VM collections: which is a logical collection of VMs on which you can take some actions at the level group.
  • Management collection: is a logical collection of VM collection groups and or mixed groups

VM Groups can be used when doing the same task to multiple VM’s say backing up Shared VHDX or setting up Replication or start stop VM’s . Its also provide easy management of multiple VMs when using VM Collection Groups.

First we need to create a new group

In this sample I’m using several groups as I have a lot off VM’s running on this Hyper-V server they are divided in several groups.

as the –Verbose will show you some text on what the command did.

# Create new VM Group
New-VMGroup -Name AstackDC -GroupType VMCollectionType –Verbose

New-VMGroup

Now that the Group is created we can add members to the group. as Currently there are no members in any group

Get-VMGroup |SELECT NAME,VMMEMBERS

New-VMGroup

As I have a lot off VM’s with all follow up numbers if need to combine them and not picking them by hand.

First my first 20 Machines are all tenant Domain controllers I create a VM group to combine all these DC’s

$AstackDCten=1..10 | % { Get-VM -Name azurestvm0$_}

New-VMGroup

#Add VMs to the VM Collection Groups

$AstackDCten=1..10 | % { Get-VM -Name azurestvm0$_}
Add-VMGroupMember -VMGroup (Get-VMGroup AstackDCten) -VM $AstackDCten
Get-VMGroup AstackDCten

New-VMGroup

Suppose you want to do maintenance on the DC’s you could create a A and B group and during patching you reboot A first and then B.  It is all possible.

#View the membership of the groups
Get-VM | ft Name, Groups -AutoSize

image

Get-VMGroup AstackDC

As you can see there are now multiple ways to show the VM’s  Say you have a test lab or during maintenance you want to stop some VM’s

#Perform actions on the group as if it were a VM
Stop-VM -VM (Get-VMGroup AstackDC).VMMembers
Start-VM -VM (Get-VMGroup AstackDC).VMMembers

Or you can setup a VM replication

Enable-VMReplication -VM (Get-VMGroup AstackDC).VMMembers –ReplicaServerName SOFS08 -ReplicaServerPort 50001 -AuthenticationType Kerberos -CompressionEnabled 1 -ReplicationFrequencySec 30 -AutoResynchronizeEnabled 1  –recoveryhistory 4 –vsssnapshotfrequency 4

Or check the memory and upgrade all VM’s in a group Plenty of options there.

 

#Create combined VM Management Group with AstackDC and AstackDCten

New-VMGroup -Name MgmtDCGroup -GroupType ManagementCollectionType

image
Add-VMGroupMember -VMGroup (Get-VMGroup MgmtDCGroup) -VMGroupMember (Get-VMGroup AstackDC)
Add-VMGroupMember -VMGroup (Get-VMGroup MgmtDCGroup) -VMGroupMember (Get-VMGroup AstackDCten)

Get-VMGroup -Name MgmtDCGroup

image

#Create VM Management Group with MgmtDCGroup and AVMDCWAPGroup to show nesting

New-VMGroup -Name MgmtDCFullGroup -GroupType ManagementCollectionType

Add-VMGroupMember -VMGroup (Get-VMGroup MgmtDCFullGroup ) -VMGroupMember (Get-VMGroup MgmtDCGroup )
Add-VMGroupMember -VMGroup (Get-VMGroup MgmtDCFullGroup ) -VMGroupMember (Get-VMGroup AVMDCWAPGroup )
Get-VMGroup MgmtDCFullGroup | Select-Object -ExpandProperty VMGroupMembers

image

As you can see with a view VM’s this is not that complicated but with a large amount of VM’s this can rapidly grow to a uncontrolled situation. As this must be done from PowerShell use the ISE if you do something wrong you can easily delete the groups and add them again and think about the group names and members before you start

VM Collection Groups are fairly simple. They maintain a membership of virtual machines, those VM groups contain actual VMs.

Management Collection Groups

The Management Collection Groups, on the other hand maintain a membership of VM Collection Groups. Please note that VMs cannot directly belong to the membership of a management collection.

The group name for VM and Management collection groups might be confusing a little bit, in order to differentiate between both groups, we can refer to the collection group using the first name “VM” (membership of individual virtual machines), and “Management” “MGMT” (membership of VM groups).

 

image

VMGROUP Removal

If you want to delete the management collection group, you need to remove first the VM groups from the management collection and then delete the management group.

image

The following PowerShell script will allow you to do so:
# Remove VM Group Members from Management Collection
Remove-VMGroupMember -VMGroup (Get-VMGroup MgmtDCGroup) -VMGroupMember (Get-VMGroup AstackDCten) –Verbose

Remove-VMGroupMember -VMGroup (Get-VMGroup MgmtDCGroup) -VMGroupMember (Get-VMGroup AstackDC) -Verbose

image

remove-VMGroup -Name MgmtDCGroup –Verbose

So always remove the nested Groups first there is no Force option that deletes the whole Tree at once.

image

When there are no nested groups or VM’s in the group you can delete the Group.

image

VM management is getting more complicated as the VM’s are growing and central management is great and now with the VMgroups you can easy manage a large amount of VM single handed.

 

 

Follow Me on Twitter @ClusterMVP

Follow My blog https://robertsmit.wordpress.com

Linkedin Profile Http://nl.linkedin.com/in/robertsmit

Google Me : https://www.google.nl

Bing Me : http://tinyurl.com/j6ny39w

LMGTFY : http://lmgtfy.com/?q=robert+smit+mvp+blog

Author: Robert Smit [MVP]

Robert Smit is Senior Technical Evangelist and is a current Microsoft MVP in Clustering as of 2009. Robert has over 20 years experience in IT with experience in the educational, health-care and finance industries. Robert’s past IT experience in the trenches of IT gives him the knowledge and insight that allows him to communicate effectively with IT professionals who are trying to address real concerns around business continuity, disaster recovery and regulatory compliance issues. Robert holds the following certifications: MCT - Microsoft Certified Trainer, MCTS - Windows Server Virtualization, MCSE, MCSA and MCPS. He is an active participant in the Microsoft newsgroup community and is currently focused on Hyper-V, Failover Clustering, SQL Server, Azure and all things related to Cloud Computing and Infrastructure Optimalization. Follow Robert on Twitter @ClusterMVP Or follow his blog https://robertsmit.wordpress.com Linkedin Profile Http://nl.linkedin.com/in/robertsmit Robert is also capable of transferring his knowledge to others which is a rare feature in the field of IT. He makes a point of not only solving issues but also of giving on the job training of his colleagues. A customer says " Robert has been a big influence on our technical staff and I have to come to know him as a brilliant specialist concerning Microsoft Products. He was Capable with his in-depth knowledge of Microsoft products to troubleshoot problems and develop our infrastructure to a higher level. I would certainly hire him again in the future. " Details of the Recommendation: "I have been coordinating with Robert implementing a very complex system. Although he was primarily a Microsoft infrastructure specialist; he was able to understand and debug .Net based complext Windows applications and websites. His input to improve performance of applications proved very helpful for the success of our project

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.