6 High-Impact WS2016 Features for SMBs

This webinar runs down the WS2016 features which matter most for a typical SMB setup with a focus on those that provide significant differences, such as Nested Virtualization, Start-Order Priorities, PowerShell Direct, Node Fairness, and more.



Get the Slide Deck

I've uploaded the slide deck and it can be downloaded HERE.

Webinar Q&A

Q: Will Node Fairness adhere to host placement rules?

Yes. If you have preferred owner rules in place in your cluster, node fairness will adhere to those rules when attempting to load balance a cluster.

Q: Is the startup delay for start order priorities configurable?

Yes. There is no need to stick with the default of 20 seconds if you don’t want to. Using the Set-ClusterGroupSet with the -StartupDelay parameter will allow you to configure the startup delay.

Q: Are all the mentioned features available on the free Hyper-V Server?

All features covered in the webinar are available on all editions of Hyper-V.

Q: I thought it was required that each nested Hyper-V host have 4GBs of memory?

I’m not aware of any such requirement. All the nested hosts in my demo had a static 2GBs of memory configured.

Q: Similar to Start Up Priorities, is there a feature to Power off VMs in a specific order?

Not in the same sense as Start-Up Priorities where one VM requires another VM be running to boot. What you can do is create a PowerShell script that calls the Stop-VM cmdlet to stop VMs one at a time in a specific order.

Q: Does Altaro VM Backup now support Windows Server 2016?

Yes! Windows Server 2016 support was added as part of our version 7 release.

Q: Is ReFS file level restore now supported in version 7 of Altaro VM Backup?

While we don’t support doing file level restores of an ReFS volume, remember that ReFS was designed primarily with Storage Spaces Direct and Hyper-V in mind. The chances of you actually having to recover an individual file on an ReFS volume are remote. However, you could take advantage of some of the new ReFS features by hosting your Hyper-V VMs on an ReFS volume. Then, as long as the file system inside of the protected VM is NTFS, you can still do a file level restore with Altaro VM Backup even though that VM is hosted on an ReFS volume. The filesystem contained within the VM is the important one.

Scripts from the Webinar

Fixed VHDX Creation Demo

							# Targeting Varibles
							$DomainName = "ANDOHV.mobile"
							$TargetHost = "ANDO-MB-HV1.andohv.mobile"
							$NTFSPath = "\\ANDO-MB-DC1\VMS"
							$REFSPath = "\\ANDO-MB-DC1\ReFS_VMs"
							
							 
							# Credential Variables
							$DomainUser = "$DomainName\administrator"
							$DomainPWord = ConvertTo-SecureString -String "Password01" -AsPlainText -Force
							$DomainCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $DomainUser, $DomainPWord
							
							
							# First let's make a new VHDX on NTFS Storage
							Invoke-Command -Computer $TargetHost -Credential $DomainCredential -ScriptBlock {
								param ($NTFSPath)
								Measure-Command {New-VHD -Path $NTFSPath\NTFSDisk.VHDX -Fixed -SizeBytes 30GB}
								} -ArgumentList $NTFSPath
							
							
							# Now let's do the same thing with ReFS Storage
							Invoke-Command -Computer $TargetHost -Credential $DomainCredential -ScriptBlock {
								param ($REFSPath)
								Measure-Command {New-VHD -Path $REFSPath\REFSDisk.VHDX -Fixed -SizeBytes 30GB}
								} -ArgumentList $REFSPath
							
							
							# Clean up for disks below
							Del $NTFSPath\NTFSDisk.vhdx
							Del $REFSPath\REFSDisk.vhdx
							
							
Start Order Priorities Demo

							# Targeting Variables
							$TargetHost = "ANDO-MB-HV1"
							
							 
							# Let's Remote into one of the Clustered Hyper-V Hosts
							Enter-PSSession -ComputerName $TargetHost
							
							
							# Now Let's Setup Some Cluster Groups
							New-ClusterGroupSet -Name "Databases"
							New-ClusterGroupSet -Name "WebServices"
							
							
							# Now Let's Assign VMs to these groups
							$MYSQLVM = "ANDO-MB-SQL1"
							$WEBVM = "ANDO-MB-WEB1"
							
							
							Add-ClusterGroupToSet -Name "Databases" -Group "$MYSQLVM"
							Add-ClusterGroupToSet -Name "WebServices" -Group "$WEBVM"
							
							
							# Now that Groups are created and VMs assigned, let's setup the dependency
							Add-ClusterGroupSetDependency -Name "Webservices" -Provider "Databases"
							
							
							# Now Let's take a look
							Get-ClusterGroupSet
							
							
							# Clean up the created Cluster Group Sets
							Remove-ClusterGroupSet -Name "WebServices"
							Remove-ClusterGroupSet -Name "DataBases"
							
							
							# Then we Exit the Remote Session
							Exit
							
							
PowerShell Direct Demo

							# First let's get a list of virtual machines running on this host
							Get-VM
							
							

							# We're going to target ANDO-MB-PSD1. First let's verify the vNIC is disconnected
							$TargetVM = "ANDO-MB-PSD1"
							

							Start-VM $TargetVM
							

							Get-VMNetworkAdapter $TargetVM
							
							


							# Now we'll capture credentials, and run commands against the target VM with PS Direct. 
							$LocalUser = "$TargetVM\Administrator"
							$LocalPWord = ConvertTo-SecureString -String "Password01" -AsPlainText -Force
							$LocalCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $LocalUser, $LocalPWord
							
							

							Invoke-Command -VMName $TargetVM -Credential $LocalCredential -ScriptBlock {Get-Volume}
							
							
							Invoke-Command -VMName $TargetVM -Credential $LocalCredential -ScriptBlock {Get-WindowsFeature -Name *FS-FileServer*}
							
							

							# We can also run an interactive PS Session over PS Direct as well.
							Enter-PSSession -VMName $TargetVM -Credential $LocalCredential
							
							
							Get-Process
							
							
							Get-Service
							
							
							Exit
							
							
							# Clean up
							Stop-VM $TargetVM
							
							
Nested Virtualization Configuration

							# Targeting Variables
							$TargetVM = "ANDO-MB-HV1"
							
							 
							# Checking the status of the virtualization extensions
							Get-VMProcessor -VMName $TargetVM | Select-Object *
							
							 
							# Configuring the Virtualization Extensions
							Set-VMProcessor -VMName $TargetVM -ExposeVirtualizationExtensions $true
							
							

Meet the Speaker

Andy Syrewicze

@asyrewicze

Cloud & Data Management MVP

Technical Evangelist - Altaro

Andy is a 15+ year IT pro specializing in Virtualization, Storage, Cloud, and Infrastructure. By day he’s a Technical Evangelist for Altaro, leading technical content and pre-sales. By night he shares his IT knowledge online or over a cold beer. He holds the Microsoft MVP award in Cloud and Datacenter Management, and one of few who is also a VMware vExpert.