Jump to content
Welcome to our new Citrix community!

traffic distribution for client requests in cluster scenario where all nodes are active


Recommended Posts

Greetings!

I have a setup consists of 4 ADC VPX running in a cluster mode. 4 nodes are active. the VIP is striped on all node (10.10.20.20) , cluster IP is 10.10.20.10 ( floating IP and it follows the CCO). SNIP is spotted and each node has it's own SNIP as follows: 10.10.20.51,10.10.20.52,10.10.20.53 and 10.10.20.54

my question is how the upstream switch can select to which node the client request should be forwarded, I have attached a screenshot from the stream switch. also I would like to mention that I have disabled steering for testing purposes although with spotted snip it has nothing to do.

 

the gateway of the vlan 120 (10.10.20.x) configured on the upstream switch.  I am not using CLAG or ECMP however I am wondering why the switch chosen one node over the rest.

 

image.thumb.png.7798b8fcf8d5d24dbf74e913e1536290.png

image.thumb.png.7433e0eb39c08bfc8da7f2151b0d72d3.png

Link to comment
Share on other sites

The below snippet was taken from the Citrix ADC Clustering Validated Reference Design:

"The client sends a request to a striped virtual IP (VIP) address. A traffic distribution mechanism configured on the client data plane selects one of the cluster nodes as the flow receiver. The flow receiver receives the traffic, determines the node that must process the traffic, and steers the request to that node through the cluster backplane (unless the flow receiver selects itself as the flow processor)."

 

- What if I didn't configure any traffic distribution mechanism , does is it work properly and traffic will be distributed or the upstream switch will select one node and all traffic will be switched to this node as a flow receiver. 

 

- What if the client data plane and server data plane is sharing the same switch (One Arm) ?

Link to comment
Share on other sites

Normal load balancing (no cluster):

The ADC cluster hosts the lb vserver (for instance), and the load balancing decision selects a destination server. Depending on the IP of the destination server, the normal adc mechanism for selecting a SNIP (or alternate backend ip applies).  So load balancing decides destination server.  The SNIP is then selected (and therefor outbound interface) based on network/routing decisions.  In a non-clustered scenario, then there is usually only one SNIP for ADC to destination traffic.

 

In a cluster-ed solution, the NetScaler-to-server backend communication can be distributed across the active nodes of the cluster.  The cluster views the network across all nodes as one logical/virtual network.   During normal traffic egress (to backend), different packets can/will be distributed across multiple nodes.  So, even if the VIP is active on node 1, traffic may leave from a SNIP on node 1 or node 3 in the cluster, as needed.  

This is why each node needs its own SNIP (spotted, pinned to the node), so that if traffic leaves node 1's snip return traffic will return to node 1's snip; if traffic egresses from node 3's snip, traffic will return.

 

VIP's are striped (owned by all nodes; but only one node active at a time for that VIP). Different nodes will then be active for different VIPs across the cluster.  So only one active "Flow receiver" per a striped IP at one time. If a node fails, another node will take it over. (Though at different points in time the owner may change; the IP is never in conflict by being active on multiple nodes at one time. Only a single node will GARP it at any one point in time.)

Usually, you assign spotted SNIPs (ips owned per node); so that each node can handle different backend traffic simultaneously; but to the backend destinations traffic returns to specific nodes.

If you do use striped SNIPs, then only one node is active at a time for that particular IP and would limit the ability to distribute backend traffic across multiple active nodes.

 

3 hours ago, Ahmad Hasan said:

my question is how the upstream switch can select to which node the client request should be forwarded, I have attached a screenshot from the stream switch. also I would like to mention that I have disabled steering for testing purposes although with spotted snip it has nothing to do.

 

So, the Cluster Coordinator (CCO) decides which node owns the VIP at this point in time; this system sends a GARP for its mac address owning the VIP.  Upstream devices will send client requests to VIP based on the current node/mac owning the VIP. The vip is only active on one node at a time.  Different VIPs will be distributed across the cluster so no one node has to do all the work.

 

 

=====

3 hours ago, Ahmad Hasan said:

- What if I didn't configure any traffic distribution mechanism , does is it work properly and traffic will be distributed or the upstream switch will select one node and all traffic will be switched to this node as a flow receiver. 

In this context a traffic distribution mechanism is the traffic management virtual server. So typically LB or CS. Traffic arrives at an lb vserver or a cs vserver and the ADC makes the load balancing or content switching traffic distribution decision. So "traffic distribution mechanism" mean something on adc handling the traffic aka a virtual server.    So you probably have a virtual server unless your purely using the ADC for nat'ing.

 

See if this helps any at all and answers your second question.

 

Link to comment
Share on other sites

Thanks Rhonda for your reply and for the information and explanation of how it looks like when we have a striped VIP and spotted SNIP.

But why Citrix mentioning two traffic distribution mechanism when it comes to striped VIP (client data plane) and striped SNIP (server data plane) which is the ECMP and CLAG.

As we are using spotted SNIP then no traffic distribution will occur when the backend servers respond, the server will respond to the spotted SNIP where the traffic originate from.

On the other hand, we have stripe VIP, thus the client request would be distributed across all active node however you said that one active node per VIP and the balancing is not happening for each client request,  let's say client one traffic was sent to node 1 , client two traffic was sent to node 2 . Although both clients are requesting same VIP.

 

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...