Configuring SMB Delegation Just Got Much Easier

To me, there’s no doubt that using SMB 3.0 storage makes a Hyper-V-powered data centre much more flexible.  Getting away from the constraints of traditional block storage data protocols and using “simple” file shares and permissions means that workloads are even more mobile, able to Live Migrate between non-clustered hosts, just the same as with a cluster, and able to use Cross-Version Live Migration to move from WS2012 hosts/clusters to WS2012 R2 hosts/clusters.

One of the pain points in WS2012 of SMB 3.0 storage is the need to configure Kerberos Constrained Delegation for Live Migration between hosts that are not in the same cluster (including non-clustered hosts).  It’s … messy and the process requires that you do one of the following to each host afterwards:

  • Reboot the host – Live Migrate VMs to avoid service downtime.
  • Restart the Virtual Machine Management Service (VMMS) – no downtime to VMs.

Just more stuff to do!

WS2012 R2 adds three cmdlets to the AD PowerShell module (which you can install on your PC via RSAT).  Your AD forest must also be at the “Windows Server 2012” (not necessarily R2) functional level.  The three cmdlets that use the new resource-based delegation functionality are:

  • Get-SmbDelegation –SmbServer X
  • Enable-SmbDelegation –SmbServer X –SmbClient Y
  • Disable-SmbDelegation –SmbServer X [–SmbClient Y] [-Force]

I’ve just tested the cmdlets and no reboots were required.  My test scenario: Hyper-V Replica secondary site hosts require delegation to be configured to store replica VMs on SMB 3.0 shares.  I configured delegation using Enable-SMBDelegation, did not reboot, and the problem was solved.