3

In a spine and leaf architecture with Link Aggregation between spine and leaves (active-active) like this:

spine and leaf

  1. Do we have the same active-atcive link aggregation between the leaf and the server?
  2. Is the bandwidth in the aggregated link full used? So if I have two 10 Gbps links do I get 20 Gbps full used by the server? Or the link between the server and the leaf is active-passive so we use only 10 Gbps even if we have two cables?
1
  • Did any answer help you? If so, you should accept the answer so that the question doesn't keep popping up forever, looking for an answer. Alternatively, you can provide and accept your own answer.
    – Ron Maupin
    Dec 14, 2019 at 18:27

2 Answers 2

3
  1. Do we have the same active-atcive link aggregation between the leaf and the server?

From the diagram, you've got a single link to each server. Of course, you can also use LACP LAG, static LAG, or multiple L3 links (with any kind of load balancing that your installation supports). L3 multilinks provide more options on load balancing but are harder to fail over.

  1. Is the bandwidth in the aggregated link full used? So if I have two 10 Gbps links do I get 20 Gbps full used by the server? Or the link between the server and the leaf is active-passive so we use only 10 Gbps even if we have two cables?

That depends on whether you've got redundant links or aggregated links to the servers. That depends on the hardware, software and the setup.

Redundancy holds a spare in case the active link fails (active-passive), aggregation uses both links (active-active). As Ron has already pointed out, each flow to/from the server (or across the spine for that matter) can only use a single link's bandwidth. Multiple flows might utilize all links - if the load balancing/traffic distibution matches the workload. If you need more bandwidth in a flow you need to use faster links.

2

With LACP aggregating multiple links, a single flow will only use a single link, but you can use the full channel bandwidth in aggregate. That means that you can have multiple flows, and each flow can only use one of the links, but all the links could be used with multiple flows. There is a hashing algorithm that determines which flow uses which link of the channel.

You do not want to split a single flow across multiple links because that with result in dropped packets and out of order packet delivery, which could result in degraded performance. Connection-oriented protocols can handle something like that, but it burdens the protocol to request missing packets, and to reorder packets. Connectionless protocols cannot handle that, and it will absolutely kill real-time protocols.

In the event of a link failure, the algorithm will move any flows using the failed link to the remaining links. This happens very rapidly.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.