Stacking the Dell MXL Blade Switch


Dell MXL blade switch

Dell MXL blade switch

The Data Center Bridging (DCB) enabled Dell MXL blade switch provides a 1/10/40GbE upstream solution for the Dell PowerEdge M1000e chassis. It comes with two fixed 40 GbE ports but is scalable up to six 40GbE ports via 40GbE FlexIO modules; this provides a total of twenty four 10GbE ports from a single blade switch using breakout cables. Other FlexIO modules available for the two FlexIO ports are a 4 port 10GbaseT module and a 4 port 10GbE SFP+ module. One Dell MXL switch can provide up to 32 line-rate 10GbE internal-facing ports for Dell blade servers. Additionally, using the 40GbE ports, 6 MXL blade switches can be stacked together. In this blog I will demonstrate how to stack 2 Dell MXL blades together.

I have two Dell MXL blades [FTOS 8.3.16.2] in a M1000e chassis with a MXL blade in slot A1 and slot A2 as shown below. The ‘fortyGigE 0/33′ port on each switch is connected to the other via a 40 GbE QSFP+ Passive DAC cable. Dell MXL blade switches support both ring and daisy chain topologies. In this example, I simply daisy chain two MXL blades to create one logical switch that can be managed as one unit. In a typical scenario, VLT can then be employed from two ToR switches down to the MXL stack using the two free fixed 40GbE ports; however, I do not demonstrate this VLT configuration here. To see VLT configuration see my prior blog “Dell Force10 – Layer 2 Multipathing via Virtual Link Trunking (VLT)
Dell PowerEdge M1000e chassis - 2 Dell MXLs stacked

Dell PowerEdge M1000e chassis - 2 Dell MXLs stacked


Stacking can only be done using 40GbE ports and each port is mapped to a specific stack group, so the first thing I do is check to see which 40GbE ports map to which stack groups as shown below.
Dell MXL in A1 - 'show system stack-unit 0 stack-group' command output

Dell MXL in A1 - 'show system stack-unit 0 stack-group' command output


From the output of ‘show system stack-unit 0 stack-group’, I can see that ‘fortyGigE 0/33′ is mapped to stack group 0. Note, I do not have any 40GbE modules inserted in either of the two FlexIO slots, so I can only use stack-group 0 or stack group 1 for stacking. To see if I have any modules inserted in the FlexIO slots I can use the ‘show inventory optional-module’ command as shown below.
Dell MXL in A1 - 'show inventory optional-module' command output

Dell MXL in A1 - 'show inventory optional-module' command output


My setup on the MXL blade in slot A2 is the same ast that of the MXL in slot A1. On the MXL in slot A1, I set its priority to 12 and set its ‘fortyGigE 0/33′ port to a stacking port and reload. On the MXL in slot A2, I set its priority to 11 and set its ‘fortyGigE 0/33′ port to a stacking port and reload. The switch set to a higher priority becomes the management switch for the stack and the other switch becomes standby. The default priority for every switch is 0, so you must change this manually to deterministically set the primary and secondary management units. The highest MAC address is used to break any ties between all member units.
Configuring MXL in slot A1 for stacking

Configuring MXL in slot A1 for stacking

Configuring MXL in slot A2 for stacking

Configuring MXL in slot A2 for stacking


The ‘show system brief’ command can be used to see the unit IDs present in the stack. Note below, the MXL blade in slot A2 has been given a unit number of 1. If you want to control the unit number that will be assigned to a specific MXL switch you can do so with the ‘stack unit renumber ‘ command before reloading the switch and having the stacking configuration take affect. Note, both switches are active and are now seen as one logical switch with a higher port density and can be managed as one unit.
MXL in slot A1 - 'show system brief' output

MXL in slot A1 - 'show system brief' output


The ‘show redundancy’ command can be used for even more details on the stacking status such as when the management unit last failed-over.
MXL in slot A1 - 'show redundancy' command output

MXL in slot A1 - 'show redundancy' command output


If an issue with stacking is suspected, you can check the status of the stacking ports with the ‘show system stack-port status’ command as shown below.
MXL in slot A1 - 'show system stack-port status' output

MXL in slot A1 - 'show system stack-port status' output


Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

7 Responses to “Stacking the Dell MXL Blade Switch”

  1. Bryan Wilson says:

    Would screenshots not have looked more accurate if two stacking cables were used.
    What would show system stack-port status looked like if two stacking cables were used.
    I take it that two stacking cables would be used in a production environment

  2. Humair says:

    Hi Bryan,

    This post just provides an example of how to stack the MXL blade switch using the respective commands. For redundancy, yes a ring topology should be used instead of a daisy-chain topology as shown in this blog post. This would provide more bandwidth and resiliency.

    Vertical stacking can also be employed (stacking across multiple M1000e chassis) for further resiliency at the chassis level.

    I have personally seen some deployments using daisy-chain in production environments, but you are correct that you would want an additional stack cable for redundancy; the ring topology is recommended.

  3. Eric says:

    are you saying you would use VLT instead of Stacking? or both?

    my config:
    I have 2 qty Dell Poweredge M1000e chassis populated with MXL 10/40 GbE in both A1 and A2 slots.

    Chassis1 MXL (Slots A1 and A2) are stacked with Chassis2 MXL (Slots A1 and A2). combined 80 GbE stack.

    A1 and A2 (per chassis) also have 2 x 10 Gb LAG setup between them as well.

    Upstream ethernet:
    A1 goes to 2 qty port channels to 2 qty Cisco A ToR.
    A2 goes to 2 qty port channels to 2 qty Cisco B ToR.

    Do you see any pitfalls? Better solutions?

  4. Humair says:

    You could use stacking. However, you could also come up with a VLT design and create an mVLT across the M1000e chassis. Some benefits of VLT in this design is the ability to update FTOS without having to bring down the network, However, with the mVLT design you will want to think through your design carefully depending on your requirements.

    Not clear on your design from your description but take a look at the ‘Stacking’ section of the MXL configuration guide. If what you are describing is a dual ring stack across two M1000e chassis, that is supported and fine. Also, checkout the ‘mVLT’ sub-section under the ‘VLT’ section if you want more info on mVLT.

    I will always prefer VLT over stacking if it meets customer requirements. In many designs I’ve recommended and helped create for customers, it’s been a while since I created a design where I had to incorporate stacking. However, there is nothing wrong with using stacking and some customers prefer it as they find it more familiar, or they already have a standard architecture that they continually replicate and want to stick to.

  5. Chifundo says:

    Another fantastic share! Thanks for taking the time to include pictures!

  6. tariq says:

    if i have lets say 4 Mxl(A1, A2 and B1,B2) switches on the blade how i can stack them? and do i need them all or i can make it A1 and A2

  7. Moaz Anjum says:

    I have a scenario, in which my client requires to stack A1A2B1B2 all together. as they are using 2 qty CNA Qlogic 57810S along with 1qty 4port Flex FC IOM, 1qty 4port SFP+ IOM (with FC optics) in each A1A2B1B2.
    TOPOLOGY:
    1qty 4port Flex FC IOM in each blade switch: will carry SAN traffic, cables terminating at Brocade 300 FC switch

    1qty 4port SFP+ IOM (with FC optics) in each blade switch: will carry LAN traffic, 4-4 cables from each A1 and B1 terminating at Nexus 7000 card1 and 4-4 cables from each A2 and B2 Nexus 7000 card2

    Question:

    Is the stacking A1A2B1B2 all together possible?
    What I need to perform on CNA level to achieve card level redundancy?
    I need to bring some servers into DMZ also, how can I achieve it?

Leave a Reply

*


− two = 0