6 High-Impact features webinar Q&A follow-up

Hello once again everyone!

I’ve put together a few different items in this follow-up post to the webinar on high impact Windows Server 2016 features. I’ve got the recording of the webinar and the questions that were asked and the ones that went unanswered in the Q & A below. Additionally, I saw many requests during the webinar for the various scripts and code snippets that I used throughout the webinar, so I’ve included those as well along with some annotation that somewhat walks you through each particular demo.

NOTE: The Script that I mentioned to automated the nested cluster deployment will be published as a separate post in the coming weeks, so keep an eye out for that.

With that said, let’s start by taking another look at the webinar!

Revisit the Webinar

Q & A

Q. Will Node Fairness adhere to host placement rules?

A: 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?

A: 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?

A: 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?

A: 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?

A: 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?

A: 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

A: 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

NOTE – IMPORTANT: The below code blocks aren’t meant to be executed as scripts. They simply walk you through the steps (With commenting) and needed PowerShell Cmdlets for each feature mentioned in the webinar and are *NOT* intended for production use. They are simply intended to be informational.

Fixed VHDX Creation Demo

# Targeting Varibles
$DomainName = "ANDOHV.mobile"
$TargetHost = "ANDO-MB-HV1.andohv.mobile"
$NTFSPath = "ANDO-MB-DC1VMS"
$REFSPath = "ANDO-MB-DC1ReFS_VMs"

# Credential Variables
$DomainUser = "$DomainNameadministrator"
$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 $NTFSPathNTFSDisk.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 $REFSPathREFSDisk.VHDX -Fixed -SizeBytes 30GB}
    } -ArgumentList $REFSPath

# Clean up for disks below
Del $NTFSPathNTFSDisk.vhdx
Del $REFSPathREFSDisk.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 = "$TargetVMAdministrator"
$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

Wrap-Up

That wraps things up for this webinar!

As always, if you have any further follow-up questions feel free to use the comment form below and I’ll be sure to get back to you ASAP.

I hope these resources have been helpful!

Thanks for watching!

Altaro Hyper-V Backup
Share this post

Not a DOJO Member yet?

Join thousands of other IT pros and receive a weekly roundup email with the latest content & updates!

Leave a comment or ask a question

Your email address will not be published. Required fields are marked *

Your email address will not be published.

Notify me of follow-up replies via email

Yes, I would like to receive new blog posts by email

What is the color of grass?

Please note: If you’re not already a member on the Dojo Forums you will create a new account and receive an activation email.