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

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

Advertisements

Posted September 7, 2016 by Robert Smit [MVP] in Windows Server 2016

Tagged with

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

  • Twitter

  • %d bloggers like this: