How to Stack HPE/Aruba 2920 Switches – HP Networking Series Part 4

Stack

The 2920 series switches from HPE/Aruba has a special feature that no other switches in the old ProCurve/E-Series line-up has; dedicated stacking interfaces. On other HPE switches, stacking merely facilitates “simplified” management, by allowing you to manage any switch in the stack from the stack commander’s CLI. On the 2920 series however, you can use dedicated stacking interfacing, giving you 2 20 Gbps links to other switches in the stack and merging two to four switches into one coherent switch. This is quite similar on how stacking works on some Cisco models, but the specialized stacking interfaces gives you higher speeds between the members. In this article, I’ll show you have to set up the commander switch and how to add switches to the stack once it’s created. I’ll also go into how it affects the configuration of the switches, which is quite crucial if you want to stack switches that are already in production.

Before you get started

You need 2, 3 or 4 2920 series switches to form a stack. Additionally you’ll need a stacking module for every switch in the stack, and stacking cables. The stacking cables can be configured in two different topologies, chain or ring. Chain topology connects the switches in a long chain, which has the benefit of using one less stacking cable, but gives you no redundancy should a switch fail or a cable go bad. Ring topology adds a cable that connects the last switch in the chain to the first one, forming a loop. Personally I’d recommend sticking to the ring topology, since the stacking cables are very inexpensive components compared to the switches and stacking modules, and you only need one more for the ring topology.

How you start the stack is also important, and varies a bit depending on when you choose to install the modules. If you install the stacking modules before powering on the switches for the first time, they’ll automatically enable the stacking feature, and configure themselves as a member with priority 128. If you then connect the switches together using the stacking cables, they will automatically form a stack and elect a commander and standby (commander) between them. Which switch gets elected is random, but in the grand scheme of things this doesn’t matter much. I however have a bit too much OCD for that, so below I’ll show you an other way to set up the tack that gives you control over the stacking operation.

Configuring the Commander

If you powered on the switches before installing the modules, they will automatically disable the stacking feature, and will require a bit more fiddling before you can get them to form a stack. First, you’ll need to install the modules. The stacking modules can be installed with the switched powered on, but you have to reboot the switch to enable them. So, install the modules in the switches, but leave the stacking cables unconnected for now. Then issue the following command on the switch that you want to make the commander.

SW1(config)# stacking enable

This will cause the switch to ask you to confirm saving the running configuration and reboot. After the switch has booted, you can now issue the following command to check the status of your stack.

SW1(config)# show stacking

Stack ID : NO ID – will merge upon connectivity

MAC Address : d89d67-ffffff
Stack Topology : No Stack Formed
Stack Status : No Stack Formed
Split Policy : One-Fragment-Up
Uptime : 0d 0h 6m
Software Version : WB.16.01.0006

Mbr
ID Mac Address Model Pri Status
— ————- ————————————– — —————
1 d89d67-ffffff HP J9726A 2920-24G Switch 128 Commander

As you can see, you switch is member 1 in it’s own little stack and has elected itself as commander, as it’s the switch with the highest priority. Problem is, that if another switch now joins the stack, it’ll have the same default priority of 128, and you can’t be certain which switch will end up as the commander if the stack reboots (the switch that’s elected commander stays as the commander when new switches are added even though they might have the same priority). Let’s change the priority to the highest possible so that we can be certain SW1 stays as the commander

SW1(config)# stacking member 1 priority 255

Now if we reissue the command show stacking, we can see that the priority for member 1 is now 255.

SW1(config)# show stacking

Stack ID : NO ID – will merge upon connectivity

MAC Address : d89d67-ffffff
Stack Topology : No Stack Formed
Stack Status : No Stack Formed
Split Policy : One-Fragment-Up
Uptime : 0d 0h 8m
Software Version : WB.16.01.0006

Mbr
ID Mac Address Model Pri Status
— ————- ————————————– — —————
1 d89d67-ffffff HP J9726A 2920-24G Switch 255 Commander

 

Configuring the Standby Switch

Next, we’ll configure the standby in the stack. The standby switch acts as a backup commander, should something happen to the commander switch. The standby will only take over as commander if the commander switch fails. To configure this, you need to know the model and mac-address of the switch you intend to add as the standby, we won’t actually be connecting it before we’ve configured it. The model number that you give with the type option is the J-code for that particular switch. In my case, I’m using an identical 2920-24G switch.

SW1(config)# stacking member 2 type J9726A mac-address 7446a0-aaaaaa
This will save the current configuration. Continue [y/n]? y

When we again run the show stacking command, we can see that the standby switch has been added to the stack, even though it’s not yet connected. This allows us to configure the members of the stack beforehand, which gives use control over how the different members join the stack.

SW1(config)# show stacking

Stack ID : NO ID – will merge upon connectivity

MAC Address : d89d67-ffffff
Stack Topology : No Stack Formed
Stack Status : No Stack Formed
Split Policy : One-Fragment-Up
Uptime : 0d 0h 9m
Software Version : WB.16.01.0006

Mbr
ID Mac Address Model Pri Status
— ————- ————————————– — —————
1 d89d67-ffffff HP J9726A 2920-24G Switch 255 Commander
2 7446a0-aaaaaa HP J9726A 2920-24G Switch 128 Not Joined

As you can see, the other switch is configured in the stack with the default priority of 128, with the status of “Not Joined”.

We want to make sure that the second switch always becomes the standby, so we’ll increase the priority to some number that’s higher than 128 but still lower than 255.

SW1(config)# stacking member 2 priority 192

That’s it, now you can now connect the stacking cables and enable stacking on the second switch

SW2(config)# stacking enable

Now the second switch reboots, and joins the stack as the standby switch.

SW1(config)# show stacking

Stack ID : 0100d89d-6999af40

MAC Address : d89d67-ffffff
Stack Topology : Ring
Stack Status : Active
Split Policy : One-Fragment-Up
Uptime : 0d 1h 8m
Software Version : WB.16.01.0006

Mbr
ID Mac Address Model Pri Status
— ————- ————————————– — —————
1 d89d67-ffffff HP J9726A 2920-24G Switch 255 Commander
2 7446a0-aaaaaa HP J9726A 2920-24G Switch 192 Standby

As you can see, the second switch has now joined the stack and functions for all intents and purposes as a second module to the first switch. This might be a good time to rename the first switch to better reflect that it’s no longer an individual switch but a stack

SW1(config)# hostname SW-Stack

SW-Stack(config)#

Adding Remaining Members

After you have the commander and standby switches sorted, you can add the remaining switches to your stack. This is done by using the stacking member command to add them to the stack configuration, connecting the cables and issuing the stacking enable command on the new members to reboot them and add them to the stack.

SW-Stack(config)# stacking member 3 type J9726A mac-address 7446a0-bbbbbb
This will save the current configuration. Continue [y/n]? y

SW-Stack(config)# stacking member 4 type J9726A mac-address 7446a0-cccccc
This will save the current configuration. Continue [y/n]? y

SW3(config)# stacking enable

SW4(config)# stacking enable

SW-Stack(config)# show stacking

Stack ID : 0100d89d-6999af40

MAC Address : d89d67-ffffff
Stack Topology : Ring
Stack Status : Active
Split Policy : One-Fragment-Up
Uptime : 0d 2h 8m
Software Version : WB.16.01.0006

Mbr
ID Mac Address Model Pri Status
— ————- ————————————– — —————
1 d89d67-ffffff HP J9726A 2920-24G Switch 255 Commander
2 7446a0-aaaaaa HP J9726A 2920-24G Switch 192 Standby
3 7446a0-bbbbbb HP J9726A 2920-24G Switch 128 Member
4 7446a0-cccccc HP J9726A 2920-24G Switch 128 Member

 

Stacking Switches Already in Production

A big problem I had when I first started using the 2920 stacking feature was how it affects the configuration of the switches, especially the VLAN tagging of the ports. If you’ve read through this guide so far you might have noticed it already, but I’ll go through it here a bit more in detail. The switch you start off with is the switch that’s going to become the commander. This is also the switch that dictates the base configuration of the whole stack. It, for a lack of a better word, “seeds” the stack with it’s own configuration. What then happens when you add more switches to the stack is basically the same thing that happens when you add line cards to a modular switch. You gain more interfaces, but that’s it. When other switches are added to the stack, they forget their previous configuration, and all their interfaces are assigned to the default VLAN off the stack. And when you think about it, that’s perfectly logical. But this means that any information that isn’t in the configuration of the first switch is going to get lost in the process. So make sure that you have the configuration of the interfaces backed up somewhere before you start doing this.

The way I do it is by making a configuration file from the configuration files of the “slave” switches, with all the interface VLAN tagging and interface configurations. I then append the index to the interface numbers, so that they can be feed into the stack configuration.

You can divine the interface indexes for any interface from the stack configuration. When you switch over to a stack, the interface indexes change to the format [1-4]/[Interface]. The first number is the member ID of the switch in the stack, and after the slash you have the switch’s own interface index. So interface 22 on member 3 in the stack becomes 3/22 in the stack configuration. Pretty simple, right?

Resources

HPE has a quite good whitepaper that explains the different topologies and also shows you how to use the same commands as I’ve done here, but in a shorter format.
http://www8.hp.com/h20195/v2/GetPDF.aspx/4AA5-7121ENW.pdf

 

This post is part of a new series called Network Friday, where I explain a new networking concept every Friday and tell you have to configure it on (mostly) HP hardware. The series will mostly focus on the configuration side, as I feel there are lots of resources out there that do a fine job of explaining complex concepts, but very few that show you how to do it on your specific hardware. This series aims to address this somewhat, at least on the HP side of the fence.

Advertisements

3 thoughts on “How to Stack HPE/Aruba 2920 Switches – HP Networking Series Part 4

  1. Thank you for the input, Sebastian.
    Question: Let’s say the “Commander” or any of the 4 switches in this topology is a L3 switch and does routing between 2 Vlans, e.g. VLAN1 and VLAN2. It is also is set as the default gateway for the whole network for every client. If it goes down, how can another one of the switches assume the Failover L3 gateway role for a stacking setup like this? Is it simply a matter of assigning a secondary gateway (by adding the secondary’s IP) in DHCP? Of course, the secondary switch would have to be a L3 and contain all the routes that the primary one has. Or does the secondary switch assume the role of the primary somehow?

    • Hello Alex!
      What happens when these switches are stacked is that they are merged into one big distributed switch. As a result, it’s not any single switch in the stack that’s a “L3 switch”, but instead the whole stack. I’d wager that the stack commander handles routing in the stack under normal circumstances, and if it fails the standby switch takes over. As such, the whole stack doesn’t go down, it just looses the ports that the commander had.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s