Monday, December 14, 2020

Cisco Nexus ITD and Windows Server

Cisco Nexus switch offers ITD (Intelligent Traffic Director) services, which is like a load balancer. Here is a deployment guide: https://alln-extcloud-storage.cisco.com/ciscoblogs/ITD_DSR_Deployment_Guide_v5.pdf

Per Cisco, ITD won't support FEX. All the servers need to be directly connected to the Nexus switch directly.


In this example, I have a pair of Nexus 9K in VPC mode and two servers and a client. Here is a simple topology:















To make this work, there are two side of the configurations - Nexus side and Server side. 


On Nexus side:

Cisco has plenty of documents to outline the configuration tasks on Nexus side. See the deployment guide for details. Below is a sample of relevant configuration:

Nexus9396-Lab# sh running-config

......

feature pbr

feature interface-vlan

feature sla sender

feature sla responder

feature itd

......

vlan 201
  name Server_VLAN
vlan 202
  name iis
vlan 203
  name Workstation_VLAN
......

interface Vlan201
  description Server_VLAN_192.168.201.0/24
  no shutdown
  no ip redirects
  ip address 192.168.201.1/24

interface Vlan203
  description Workstation_VLAN_192.168.203.0/24
  no shutdown
  no ip redirects
  ip address 192.168.203.1/24

itd device-group servers
  probe icmp frequency 5
  node ip 192.168.201.10
  node ip 192.168.201.11


itd arr-lb
  device-group servers
  virtual ip 100.100.100.1 255.255.255.255 advertise enable device-group servers
  ingress interface Vlan201
  ingress interface Vlan203
  failaction node reassign
  load-balance buckets 2
  no shut



##########################################


On server side, 

1. Install a loopback interface on each server and assign the same virtual IP (e.g. 100.100.100.1/32) to this loopback interface o

2. Enable LAN routing on the server. Without this step, traffic will be lost after redirected from Nexus to the server via its primary IP.


Install loopback adapter on windows server 2019

1. Click on Start, and run hdwwiz,













2. click on Next









3. Select "Install the hardware that I manually select from a list (Advanced)










5. select Microsoft in the left, and Microsoft KM-TEST Loopack Adapter in the right, and go Next, Next, and Finish






Assign loopback interface the same virtual IP on both servers:



Enable Routing on both Servers:

1. From Server Manager, select Add Roles and Features




















2. Select Remote Access and go Next, Next, Next















3. Select Routing and click Add Features. This will select DirectAccess ad VPN (RAS). Ignore it now and go Next and Install














4. After the installation, ope Routing and Remote Access console from Server Manager












5. Right click the server in the right pane and select "Configure and Enable Remoting and Remote Access"














6. Click Next in the Routing and Remote Access Server Setup Wizard















7. Select "Custom configuration" and go Next














8. Select "LAN routing" and go next and Finish
















9. Click on "Start service"












Now you can ping the virtual IP you have defined in ITD service from the client machine. 















Other validation tasks you can do on Nexus switch is to run "show itd servers statistics" and disable one server, wait for 5 seconds, and run the show command one more time. You will see the traffic will be routed to the second server.