Playing with WS2016 Hyper-V – Nested Virtualization, Nano, SET, and PowerShell Direct

I have deployed Technical Preview 5 (TP5) of Windows Server 2016 (WS2016) to most of the hardware in my lab. One of the machines, a rather old DL380 G6, is set up as a standalone host. I’m managing it using Remote Server Administration Toolkit (RSAT) for Windows 10 (another VM).

I enabled Hyper-V on that host. I then deployed a 4 x Generation 2 VMs using Nano Server (domain pre-joined using .djoin files) – this keeps the footprint tiny and the boot times are crazy fast.

Hyper-V is enabled in the Nano VMs – thanks to the addition of nested virtualization. I’ve also clustered these machines. Networking-wise, I have given each VM 2 x vNICs, each with MAC spoofing (for nested VMs) and NIC teaming enabled.

I launched PowerShell ISE then used Enter-PSSession to connect to the host from the admin PC. And from the host, I used Enter-PSSession -VMName to use PowerShell Direct to get into each VM – this gives me connectivity without depending on the network. That’s because I wanted to deploy Switch Embedded Teaming (SET) and provision networking in the Nano VMs. This script configure the VMs each with 3 vNICs for the management OS, connected to the vSwitch that uses both of the Nano VMs vNICs as teamed uplinks:

Note: there’s no mention of RDMA because I’m working in a non-RDMA scenario – a test/demo lab. Oh yes; you can learn Hyper-V, Live Migration, Failover Clustering, etc on your single PC now!

And in no time, I had myself a new Hyper-V cluster with a tiny physical footprint, thanks to 4 new features in WS2016.

2 Replies to “Playing with WS2016 Hyper-V – Nested Virtualization, Nano, SET, and PowerShell Direct”

  1. What about multiple VLANs for the Uplinks of the SET Switch. Have you tried with good results? I hev been trying to do it in WS2016 TP5, created VMSwitch with Embedded Teaming Enabled, then Added a VM Network Adapter for Management OS. In the Past with Teaming NIC as Uplink, I configure this Management vNIC with:

    Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName vNIC1 -Access -VLanID 40

    But No luck with SET Switch. I have been doing research, but no luck finding anything.

  2. Very cool stuff. I wonder if the onerous limitations on NV in WS2016 (no dynamic memory, no snapshots, no live migration, no save/restore) will be addressed before it goes RTM. Sadly, I doubt it since TP5 is billed as feature-complete.

Leave a Reply

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

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