In this post, I’ll show you how to upgrade the SVL of a Cisco Catalyst 9500 StackWise switch pair from two 25G to two 100G links with minimum downtime.
There’s a chance that after you have configured a pair of Catalyst 9500 switches in StackWise Virtual mode and put them in production, you might need to upgrade the StackWise Virtual Link (SVL) to a higher speed.
Let’s get to it.
Case Scenario
In my test lab, I have a pair of C9500 24Y4C switches configured as a StackWise Virtual core with two 25 Gbps SVL links and a 10 Gbps Dual-Active-Detection (DAD) link. In addition, I have two Catalyst 9300 switches port channeled to the Cat9500 core.
The output of the show command below verifies what’s on the diagram.
CAT9500-SWV-CORE#show interfaces status | include connected Twe1/0/1 PO1 MEMBER connected trunk full 10G SFP-10GBase-AOC3M Twe1/0/2 PO2 MEMBER connected trunk full 10G SFP-10GBase-AOC3M Twe1/0/3 SVL connected 4094 full 25G SFP-25GBase-SR Twe1/0/4 SVL connected 4094 full 25G SFP-25GBase-SR Twe1/0/24 DUAL ACTIVE DETECT connected 4094 full 10G SFP-10GBase-AOC1M Hu1/0/25 connected 1 full 100G QSFP 100G AOC1M Hu1/0/27 connected 1 full 100G QSFP 100G AOC1M Twe2/0/1 PO1 MEMBER connected trunk full 10G SFP-10GBase-AOC3M Twe2/0/2 PO2 MEMBER connected trunk full 10G SFP-10GBase-AOC3M Twe2/0/3 SVL connected 4094 full 25G SFP-25GBase-SR Twe2/0/4 SVL connected 4094 full 25G SFP-25GBase-SR Twe2/0/24 DUAL ACTIVE DETECT connected 4094 full 10G SFP-10GBase-AOC1M Hu2/0/25 connected 1 full 100G QSFP 100G AOC1M Hu2/0/27 connected 1 full 100G QSFP 100G AOC1M Po1 ACCESS-01 IDF connected trunk a-full a-10G N/A Po2 ACCESS-02 IDF connected trunk a-full a-10G N/A CAT9500-SWV-CORE#
Currently, the SVL is built with two 25G links.
CAT9500-SWV-CORE#show stackwise-virtual link Stackwise Virtual Link(SVL) Information: ---------------------------------------- Flags: ------ Link Status ----------- U-Up D-Down Protocol Status --------------- S-Suspended P-Pending E-Error T-Timeout R-Ready ----------------------------------------------- Switch SVL Ports Link-Status Protocol-Status ------ --- ----- ----------- --------------- 1 1 TwentyFiveGigE1/0/3 U R TwentyFiveGigE1/0/4 U R 2 1 TwentyFiveGigE2/0/3 U R TwentyFiveGigE2/0/4 U R CAT9500-SWV-CORE#
And we want to upgrade the two 25G SVL links to two 100G StackWise Virtual Link. Notice that the 100G QSFPs were inserted on ports 25 and 27 on both switches.
CAT9500-SWV-CORE#show interfaces status | include Hu.*connected Hu1/0/25 connected 1 full 100G QSFP 100G AOC1M Hu1/0/27 connected 1 full 100G QSFP 100G AOC1M Hu2/0/25 connected 1 full 100G QSFP 100G AOC1M Hu2/0/27 connected 1 full 100G QSFP 100G AOC1M CAT9500-SWV-CORE#
Let’s take a look at how we go about upgrading the 25G SVL links to 100G.
Upgrade Catalyst 9500 StackWise Virtual Link (SVL)
For these changes to take effect, we will need to reload the virtual stack. I don’t think there’s a way around it. So, you’ll remove the SVL configuration from the current 25G interfaces and add the new 100G interfaces to the SVL. You can do both at the same time and then reload the stack.
Let’s take a look at the current configuration of the interfaces in question.
CAT9500-SWV-CORE#show runn int twe1/0/3 Building configuration... Current configuration : 80 bytes ! interface TwentyFiveGigE1/0/3 stackwise-virtual link 1 description SVL end CAT9500-SWV-CORE#show runn int twe1/0/4 Building configuration... Current configuration : 80 bytes ! interface TwentyFiveGigE1/0/4 stackwise-virtual link 1 description SVL end CAT9500-SWV-CORE#show runn int twe2/0/3 Building configuration... Current configuration : 80 bytes ! interface TwentyFiveGigE2/0/3 stackwise-virtual link 1 description SVL end CAT9500-SWV-CORE#show runn int twe2/0/4 Building configuration... Current configuration : 80 bytes ! interface TwentyFiveGigE2/0/4 stackwise-virtual link 1 description SVL end CAT9500-SWV-CORE#show runn int hu1/0/25 Building configuration... Current configuration : 35 bytes ! interface HundredGigE1/0/25 end CAT9500-SWV-CORE#show runn int hu1/0/27 Building configuration... Current configuration : 35 bytes ! interface HundredGigE1/0/27 end CAT9500-SWV-CORE#show runn int hu2/0/25 Building configuration... Current configuration : 35 bytes ! interface HundredGigE2/0/25 end CAT9500-SWV-CORE#show runn int hu2/0/27 Building configuration... Current configuration : 35 bytes ! interface HundredGigE2/0/27 end CAT9500-SWV-CORE#
Remove the 25G interfaces from the SVL. Keep in mind that these changes will not take effect until you reboot the stack.
CAT9500-SWV-CORE#config term Enter configuration commands, one per line. End with CNTL/Z. CAT9500-SWV-CORE(config)#interface range twe1/0/3-4,twe2/0/3-4 CAT9500-SWV-CORE(config-if-range)#no stackwise-virtual link 1 WARNING: SVL configuration will be ignored on lower (1G) speed. WARNING: Stackwise Virtual Configuration for TwentyFiveGigE1/0/3 will be removed on reboot. WARNING: SVL configuration will be ignored on lower (1G) speed. WARNING: Stackwise Virtual Configuration for TwentyFiveGigE1/0/4 will be removed on reboot. WARNING: SVL configuration will be ignored on lower (1G) speed. WARNING: Stackwise Virtual Configuration for TwentyFiveGigE2/0/3 will be removed on reboot. WARNING: SVL configuration will be ignored on lower (1G) speed. WARNING: Stackwise Virtual Configuration for TwentyFiveGigE2/0/4 will be removed on reboot. CAT9500-SWV-CORE(config-if-range)#no description CAT9500-SWV-CORE(config-if-range)#end CAT9500-SWV-CORE#
Notice that the 2x25G SVL is still in place.
CAT9500-SWV-CORE#show stackwise-virtual link Stackwise Virtual Link(SVL) Information: ---------------------------------------- Flags: ------ Link Status ----------- U-Up D-Down Protocol Status --------------- S-Suspended P-Pending E-Error T-Timeout R-Ready ----------------------------------------------- Switch SVL Ports Link-Status Protocol-Status ------ --- ----- ----------- --------------- 1 1 TwentyFiveGigE1/0/3 U R TwentyFiveGigE1/0/4 U R 2 1 TwentyFiveGigE2/0/3 U R TwentyFiveGigE2/0/4 U R CAT9500-SWV-CORE#
When the C9500 Stack comes back online, we still want an SVL to keep the Virtual Stack up. So now, let’s include the new 100G interfaces in the SVL. These changes will also take effect upon reboot.
CAT9500-SWV-CORE#config term Enter configuration commands, one per line. End with CNTL/Z. CAT9500-SWV-CORE(config)#interface range hu1/0/25,hu1/0/27,hu2/0/25,hu2/0/27 CAT9500-SWV-CORE(config-if-range)#description NEW 100G SVL CAT9500-SWV-CORE(config-if-range)#stackwise-virtual link 1 WARNING: SVL configuration will be ignored on lower (1G) speed. WARNING: All the extraneous configurations will be removed for HundredGigE1/0/25 on reboot INFO: Upon reboot, the config will be part of running config but not part of start up config. WARNING: SVL configuration will be ignored on lower (1G) speed. WARNING: All the extraneous configurations will be removed for HundredGigE1/0/27 on reboot INFO: Upon reboot, the config will be part of running config but not part of start up config. WARNING: SVL configuration will be ignored on lower (1G) speed. WARNING: All the extraneous configurations will be removed for HundredGigE2/0/25 on reboot INFO: Upon reboot, the config will be part of running config but not part of start up config. WARNING: SVL configuration will be ignored on lower (1G) speed. WARNING: All the extraneous configurations will be removed for HundredGigE2/0/27 on reboot INFO: Upon reboot, the config will be part of running config but not part of start up config. CAT9500-SWV-CORE(config-if-range)#end CAT9500-SWV-CORE# CAT9500-SWV-CORE#show stackwise-virtual link Stackwise Virtual Link(SVL) Information: ---------------------------------------- Flags: ------ Link Status ----------- U-Up D-Down Protocol Status --------------- S-Suspended P-Pending E-Error T-Timeout R-Ready ----------------------------------------------- Switch SVL Ports Link-Status Protocol-Status ------ --- ----- ----------- --------------- 1 1 TwentyFiveGigE1/0/3 U R TwentyFiveGigE1/0/4 U R 2 1 TwentyFiveGigE2/0/3 U R TwentyFiveGigE2/0/4 U R CAT9500-SWV-CORE#
Notice that uplink Port Channels to the Catalyst 9300 IDFs are still up.
CAT9500-SWV-CORE#show etherchannel summary Flags: D - down P - bundled in port-channel I - stand-alone s - suspended H - Hot-standby (LACP only) R - Layer3 S - Layer2 U - in use f - failed to allocate aggregator M - not in use, minimum links not met u - unsuitable for bundling w - waiting to be aggregated d - default port A - formed by Auto LAG Number of channel-groups in use: 2 Number of aggregators: 2 Group Port-channel Protocol Ports ------+-------------+-----------+----------------------------------------------- 1 Po1(SU) LACP Twe1/0/1(P) Twe2/0/1(P) 2 Po2(SU) LACP Twe1/0/2(P) Twe2/0/2(P) CAT9500-SWV-CORE#
Save and reload.
CAT9500-SWV-CORE#write memory Building configuration... [OK] *Apr 8 15:51:39.704: %SYS-6-PRIVCFG_ENCRYPT_SUCCESS: Successfully encrypted private config file CAT9500-SWV-CORE#reload Reload command is being issued on Active unit, this will reload the whole stack Proceed with reload? [confirm] *Apr 8 15:53:14.160: %SYS-5-RELOAD: Reload requested by console. Reload Reason: Reload Command. Chassis 1 reloading, reason - Reload command Apr 8 15:53:30.115: %PMAN-5-EXITACTION: R0/vp: Process manager is exiting: process exit with reload chassis code Initializing Hardware... Initializing Hardware...... <TRUNCATED> CAT9500-SWV-CORE>
Verifications
Now that the Cat9500 virtual stack came back online, let’s verify the new StackWise Virtual Link. Notice that the SVL is made up of Hundred Gigabit interfaces now.
CAT9500-SWV-CORE>show stackwise-virtual link Stackwise Virtual Link(SVL) Information: ---------------------------------------- Flags: ------ Link Status ----------- U-Up D-Down Protocol Status --------------- S-Suspended P-Pending E-Error T-Timeout R-Ready ----------------------------------------------- Switch SVL Ports Link-Status Protocol-Status ------ --- ----- ----------- --------------- 1 1 HundredGigE1/0/25 U R HundredGigE1/0/27 U R 2 1 HundredGigE2/0/25 U R HundredGigE2/0/27 U R CAT9500-SWV-CORE#
Verify the status of the uplink Port Channels to the Catalyst 9300 switches.
CAT9500-SWV-CORE>show etherchannel summ Flags: D - down P - bundled in port-channel I - stand-alone s - suspended H - Hot-standby (LACP only) R - Layer3 S - Layer2 U - in use f - failed to allocate aggregator M - not in use, minimum links not met u - unsuitable for bundling w - waiting to be aggregated d - default port A - formed by Auto LAG Number of channel-groups in use: 2 Number of aggregators: 2 Group Port-channel Protocol Ports ------+-------------+-----------+----------------------------------------------- 1 Po1(SU) LACP Twe1/0/1(P) Twe2/0/1(P) 2 Po2(SU) LACP Twe1/0/2(P) Twe2/0/2(P) CAT9500-SWV-CORE>
All is good.
How Much Downtime?
Right after I hit enter to reload the C9500 core, I started a ping from ACCESS-02 with 10.0.100.12 on VLAN 100 to the core with a VLAN 100 SVI of 10.0.100.1.
ACCESS-02#ping 10.0.100.1 repeat 999999 Type escape sequence to abort. Sending 999999, 100-byte ICMP Echos to 10.0.100.1, timeout is 2 seconds: . *Apr 8 15:56:26.592: %LINEPROTO-5-UPDOWN: Line protocol on Interface TenGigabitEthernet1/1/1, changed state to down *Apr 8 15:56:26.599: %LINEPROTO-5-UPDOWN: Line protocol on Interface TenGigabitEthernet1/1/2, changed state to down *Apr 8 15:56:26.599: %LINEPROTO-5-UPDOWN: Line protocol on Interface Port-channel2, changed state to down. *Apr 8 15:56:27.594: %LINK-3-UPDOWN: Interface TenGigabitEthernet1/1/1, changed state to down *Apr 8 15:56:27.600: %LINK-3-UPDOWN: Interface Port-channel2, changed state to down *Apr 8 15:56:27.600: %LINK-3-UPDOWN: Interface TenGigabitEthernet1/1/2, changed state to down *Apr 8 15:56:28.599: %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan100, changed state to down.................................................................... ............................................. *Apr 8 16:00:14.836: %LINK-3-UPDOWN: Interface TenGigabitEthernet1/1/1, changed state to up. *Apr 8 16:00:15.836: %LINEPROTO-5-UPDOWN: Line protocol on Interface TenGigabitEthernet1/1/1, changed state to up *Apr 8 16:00:16.763: %LINK-3-UPDOWN: Interface Port-channel2, changed state to up. *Apr 8 16:00:17.763: %LINEPROTO-5-UPDOWN: Line protocol on Interface Port-channel2, changed state to up *Apr 8 16:00:18.763: %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan100, changed state to up.!!!!!!!!!!!!!!!!!!!!!! <TRUNCATED> <Ctrl + Shift + ^ to end the ping sequence> Success rate is 95 percent (2621/2739), round-trip min/avg/max = 1/1/1 ms ACCESS-02#
Total downtime less than 4 minutes.
Closing
If you find yourself in a situation in which after you have implemented a pair of Catalyst 9500 switches in StackWise Virtual mode and need to upgrade the StackWise Virtual Link, or SVL, you need to schedule a maintenance window to reboot the stack.
Nevertheless, you need to always prepare for the worst.
- Backup the running configuration to bootflash.
- Backup the running configuration externally to USB and your hard drive.
- Potentially prepare a configuration script off the running configuration so you copy and paste it in case you need to rebuild the entire stack.
- You can also open a TAC case and keep a TAC engineer on standby.