5 min. Read
In Windows Server 2016, Microsoft released software-based online version 2 (SDNv2) as part of its software-based data center offering. If you’ve tried to enable SDN in Windows Server 2016, you’ll find it difficult to enable. You can enable SDN either with System Center Virtual Machine (SCVMM) or only with PowerShell, and both options were difficult to use and deploy. If you are using SCVMM for management, you must use VMM to complete the installation, and from then on, VMM’s integrated and managed SDN environment will be used. When you deploy via SCVMM, you can use its user interface or automation through VMM SDN Express PowerShell scripts. For more information on enabling SDN, see VMM SDN Express check out my previous article here.
In this article, I will show you how to set up a software-specific network Windows Server 2019 using the new SDN Express PowerShell module. In the next blog post, I’m going to dive into the SDN management side using Windows Control Center.
The following servers are already in use in this environment:
- Domain controller, DNS server and DHCP server.
- 2 nodes with a Hyper-Converged Infrastructure (HCI) cluster Windows Server 2019, Datacenter Edition.
- Management machine Windows Control Center version 1809 and Windows Server 2019, Datacenter Edition.
- Routing and Remote Access Service (RRAS) running on a separate virtual machine.
- Management network infrastructure communications.
- Service provider network for virtualized loads.
Note that the management machine must NOT be running on the same host to which you want to enable SDN, because SDN enables it Azure VFP Switch Forward Plugin on each host in this case, only SDN traffic passes through the Hyper-V virtual switch and other traffic is blocked. You can run the SDN enable code either on the SDN host or directly from a machine outside the SDN stack.
If you accidentally use USB NIC adapters in your environment and plan to amplify the SDN as described in this article, deployment will fail because the external USB network adapter has restrictions on transferring encrypted VLANs.
Check the network infrastructure specified by the software correctly by checking the following Microsoft guide.
I have also made a virtual hard drive that includes Windows Server 2019 Datacenter Edition (Server Core or Full Server), which is used by the SDN Express interface as a prerequisite for enabling the SDN stack (more on this later).
SDN Express has an interface, a PowerShell script, and a host of modules and features to get you started quickly. The new interface wizard is able to perform a parameter check to avoid errors during input time. This will give you an immediate opportunity to correct any errors before starting the deployment. With the new SDN Express interface, Microsoft greatly simplified deployment compared Earlier versions of SDN Express, with minimum conditions.
The SDN Express interface module can be downloaded from GitHub here. Once you’ve downloaded the files, save them to your manager and complete the following steps:
Import the PowerShell module (SDNExpressModule.psm1) by executing the following command:
After importing the module, type . SDNExpress.ps1 and the SDN Express Installation Wizard starts. The wizard basically guides you through the configuration of the SDN. Click Next continue.
in Creating a VM In this step, enter the following conditions to customize the creation of the SDN base server, and then click Next.
- VHD location of the virtual hard disk image.
- VM path. The path to the virtual machines can be local to separate hosts, or SMB sharing as well as Cluster Shared Volume in the case of an S2D cluster.
- VM name prefix.
- VM domain.
- Domain Join the username.
- Domain sign-in password.
- Local administrator password.
in Management network In this step, enter the SDN infrastructure management network that will be used for this deployment. This information is used to provide each virtual machine with a network adapter configured for that network. This management network may not be required Network controller however, unless you want to apply this policy, the management network is required to assign addresses to the virtual machine created by the SDM stack and configure the core network. Click Next.
in Service provider network Enter the step from the service provider network that is used for all workload virtual machine communications. Service provider network required Network controller and this is created as a logical network in the network controller. You can add a new MAC address (first and last), this is important if you have performed multiple deployments on the same VLAN. Click Next.
in Network controller Enter the stage for the network controller and Hyper-V hosts are added to the controller. For Multi-knot Alternatively, you must have at least three Hyper-V hosts, because SDN deployment creates 3 network controllers if you have a two-node cluster as in this example. Single-node option and set it as a highly available virtual machine so you can also get troubleshooting if one node drops. Note that three network controllers can also be deployed in a 2-node host cluster, but it is best practice to have 3 nodes.
For REST name (FQDN) In the field, type the fully accepted domain name that will be assigned to the REST interface on the network controller. Add Hyper-V hosts, and then enter the host information. Click Next.
in Software load balancer the step is known as MUX, determine how many load balancers you need. The default is 2, but you can increase or decrease the number by moving the slider. Software Load Balancer is SDN’s integrated L3 and L4 load balancer, which is also used for network address translation (NAT). Muxes are Virtual IP (VIP) endpoint routers. Then configure the private VIP subnet and the public VIP subnet. These subnets must not be configured for the VLAN on the physical switch because the load balancer advertises it through BGP. Click Next.
in Gateways step, specify how many gateways you want. The minimum is 2, but you can increase the number by moving the slider. Gateways are used to route between a virtual network and another network (local or remote). SDN Express creates a default gateway area that supports all connection types. Then assign a subnet prefix to the GRE endpoints. This subnet must not be configured on the VLAN on the physical switch because the endpoints are advertised on the physical network via BGP. The primary purpose of GRE tunnels is to provide a connection from SDN virtual networks to a GRE-compliant switch / router in a local data center. This can then be used to connect to data center physical loads or to connect to MPLS circuits to enable data transfer over a WAN. For more information on SDN GRE scenarios, check the following Microsoft Documentation.
Click Next continue.
In the Border Gateway Protocol (BGP) step, enter the ASN numbers and the IP address of the router. Software Load Balancer uses BGP to advertise VIPs on the physical network. Gateways also use it to advertise GRE endpoints. Click Next continue.
In the final step, check the information you provided to SDN Express to configure SDN in your environment. You can also export and save this configuration as a .psd1 file, so you can run SDN Express again later using this file -ConfigurationDataFile parameter. When you are done click Enable.
The actual setup takes about 45 minutes, depending on the speed of your system and network. The network controller itself takes about 10 minutes out of 45 minutes, which actually takes. When SDN Express is complete, your SDN environment is ready to manage SDN with the SDN extension Windows Control Center.
That’s what you have!
This post highlights Microsoft’s efforts Windows Server 2019 To facilitate SDN deployment via SDN Express. Now that the entire SDN stack is enabled, you can go ahead and add the URI of the network controller Windows Control Center, then set up tenant workloads and check if everything is good for networking. Stay tuned for the next message, which will show you how to manage using SDN Windows Control Center.
Last but not least, I would like to thank the Microsoft SDN team for supporting me during deployment.
I urge you to implement and evaluate the SDN stack Windows Server 2019 using the new SDN Express interface and share your feedback in the comments section below.
Thanks for locking my blog.
If you have any questions or feedback, please leave a comment.