J'ai testé pour vous: upgrader un stack de 3750-X avec Rolling Stack Upgrade (RSU)
5 min read
C’est la rentrée et je vais continuer à publier les tests que je fais dans mon lab en espérant que ça continue d’aider! N’hésitez pas à me remonter vos demandes ou à m’envoyer vos propres rapports!
Objectif du test
La release 15.0(2)SE disponible pour nos switchs d’accès non modulaires, il fallait bien que je l’installe dans mon lab pour réaliser mes prochains tests (IPv6 FHS, trustsec…). Au lieu d’installer l’image bêtement en reloadant tout le stack d’un coup j’ai voulu montrer une feature que l’on a qui s’appelle Rolling Stack Upgrade et qui consiste à upgrader les différents éléments du stack les uns après les autres.
Description du lab
J’ai simplement connecté mon stack de 3 x 3750-X à mon coeur catalyst 6500 sup2T en VSS via un Etherchannel (Multi-Chassis). Je suis donc dans une topologie très classique qui suit nos CVD (Cisco Validated Designs). les détails dans le schéma ci-dessous:
Matériel et IOS utilisés
Mon stack se compose de 3 switchs:
- 1 x 3750-X 48 ports 10/100/1000 POE+ (Ref WS-C3750X-48P)
- 2 x 3750-X 24 ports 10/100/1000 POE+ (Ref WS-C3750X-24P)
Les IOS en question sont les suivants (avant / après):
- 15.0(1)SE2 – c3750e-universalk9-tar.150-1.SE2.bin
- 15.0(2)SE – c3750e-universalk9-mz.150-2.SE.bin
Un peu de théorie
Le rolling-stack upgrade (RSU) permet d’upgrader un stack switch par switch. Si vous avez adopté nos “bonnes pratiques” pour votre design en connectant votre stack à un coeur VSS via un MultiChassis-Etherchannel la procédure permettra de diminuer l’impact d’une mise à jour et aussi de limiter le risque inhérent à chaque upgrade.
Pendant la procédure RSU le stack va être coupé en 2 avec d’un côté les switchs upgradés et de l’autre les switchs non upgradés. Aucune communication n’est possible entre les 2 sous-ensembles. Les interfaces L3 ne sont pas fonctionnelles. Donc la procédure reste idéale pour un design L2 à l’accès avec 2 uplinks redondés MCEC et éventuellement quelques services principaux en double attachement sur le stack.
Il faut sur le stack déterminer 2 liens d’uplink, l’un actif et l’autre passif. Le switch avec l’uplink RSU passif sera le premier upgradé. Ensuite c’est le switch connecté sur son port stack #1 qui est upgradé et ainsi de suite jusqu’à ce que l’on arrive sur le switch actif. Ce dernier n’est alors pas upgradé: on repart du switch passif (le premier upgradé) et maintenant on fait la même chose en démarrant du port stack #2. On est ainsi sûr que le switch “actif” est le dernier upgradé et que la procédure a généré le minimum de coupure (à chaque moment un switch est toujours dans un sous-ensemble avec un uplink fonctionnel). Tout est bien sûr expliqué dans le détail dans le configuration guide.
Tests et résultats
La première étape consiste à déclarer sur le stack les interfaces d’uplink du switch. Durant toute la procédure le stack sera coupé en 2 avec d’un côté les
interface TenGigabitEthernet2/1/1 description 6506-2T-1 switchport trunk encapsulation dot1q switchport mode trunk rsu active channel-group 31 mode active ! interface TenGigabitEthernet3/1/1 description 6503-2T-2 switchport trunk encapsulation dot1q switchport mode trunk rsu standby channel-group 31 mode active ! interface Vlan1000 description Interface pour RSU ip address 10.153.1.31 255.255.255.0
On peut vérifier la séquence d’upgrade avant de démarrer les opérations:
3750-10GE-1#sh switch stack-upgrade sequence Switch# Upgrade Sequence# Status 3 1 RSU Process Not Started 1 2 RSU Process Not Started 2 3 RSU Process Not Started
Pour comprendre l’ordre il faut regarder le câblage du stack:
3750-10GE-1#sh switch neighbors Switch # Port 1 Port 2 -------- ------ ------ 1 2 3 2 3 1 3 1 2
3750-10GE-1#archive download-sw /rolling-stack-upgrade /imageonly /reload tftp://10.151.1.201/c3750e-universalk9-tar.150-2.SE.tar Loading c3750e-universalk9-tar.150-2.SE.tar from 10.151.1.201 (via Vlan1000): !!!!!!!!
Je clarifie un peu cette commande:
- /rolling-stack-upgrade permet d’indiquer qu’on va upgrader les switchs un a un
- /imageonly permet de ne mettre à jour que l’IOS contenu dans le .tar
- /reload va reloader les switchs après installation de l’IOS. C’est indispensable dans le process sinon on se contente de charger les IOS sur les flashs sans upgrader les switchs… La doc n’est pas claire sur ce point et le met en optionnel: ne vous y fiez pas
- On utilise la commande archive aussi il faut utiliser l’image .tar “WEB BASE DEV MGR”
On peut voir que le process d’upgrade démarre avec le téléchargement des archives (.tar).
3750-10GE-1#sh switch stack-upgrade status Upgrade Time Remaining: 21 minutes Unupgraded Stack: Switch# Status 1 Archive Upgrade in Progress 2 Archive Upgrade in Progress 3 Archive Upgrade in Progress Upgraded Stack: Switch# Status
Les infos sont récupérées des .tar par le switch
extracting info (108 bytes) extracting c3750e-universalk9-mz.150-2.SE/info (511 bytes) extracting info (108 bytes) Stacking Version Number: 1.46 System Type: 0x00000002 Ios Image File Size: 0x012ED200 Total Image File Size: 0x017CA200 Minimum Dram required: 0x08000000 Image Suffix: universalk9-150-2.SE Image Directory: c3750e-universalk9-mz.150-2.SE Image Name: c3750e-universalk9-mz.150-2.SE.bin Image Feature: IP|LAYER_3|PLUS|SSH|3DES|MIN_DRAM_MEG=128 FRU Module Version: 03.00.65
Les switchs sont ensuite reloadés un a un:
3750-10GE-1#sh switch stack-upgrade status Upgrade Time Remaining: 14 minutes Unupgraded Stack: Switch# Status 1 RSU in Progress 2 RSU in Progress 3 Reload In Progress Upgraded Stack: Switch# Status
Le switch numéro 3 est maintenant upgradé et le suivant prend le relais:
3750-10GE-1#sh switch stack-upgrade status Upgrade Time Remaining: 14 minutes Unupgraded Stack: Switch# Status 1 Reload In Progress 2 RSU in Progress Upgraded Stack: Switch# Status 3 Upgrade Completed
Switch numéro 1 maintenant upgradé:
3750-10GE-1#sh switch stack-upgrade status Upgrade Time Remaining: 7 minutes Unupgraded Stack: Switch# Status 2 Reload In Progress Upgraded Stack: Switch# Status 1 Upgrade Completed 3 Upgrade Completed
On peut voir quand le dernier switch reload que le port associé à ce switch est bien down:
3750-10GE-1#sh etherchannel 31 summary Number of channel-groups in use: 1 Number of aggregators: 1 Group Port-channel Protocol Ports ------+-------------+-----------+----------------------------------------------- 31 Po31(SU) LACP Te2/1/1(D) Te3/1/1(P)
Le dernier switch a fini de reloader, on repart donc à 0:
3750-10GE-1#sh switch stack-upgrade status Upgrade Time Remaining: 0 minutes Unupgraded Stack: Switch# Status 1 RSU Process Not Started 2 RSU Process Not Started 3 RSU Process Not Started Upgraded Stack: Switch# Status
Et pour ceux qui douteraient que le stack a bien été upgradé:
3750-10GE-1#sh ver Cisco IOS Software, C3750E Software (C3750E-UNIVERSALK9-M), Version 15.0(2)SE, RELEASE SOFTWARE (fc1) <snip>
L’opération est assez longue mais se déroule sans problèmes. Il est possible de modifier certains timers mais je ne sais pas si je me risquerais a le faire dans un processus aussi critique. Même si le Catalyst 4500 reste la meilleure solution pour garantir une haute disponibilité à l’accès avec ses capacités ISSU (In-Service Software Upgrade) le process RSU reste une méthode élégante, siple et efficace pour améliorer la disponibilité de nos stacks d’accès pendant les upgrades.
Références
Configuration guide – section rolling-stack upgrade
Release notes en français de la release 15.0(2)SE
1 commentaires
Le RSU est vraiment une solution qui nous à fait choisir le 3750X pour notre petite salle machine. Couplé avec le nouveau support du StackPower dès le lanbase dès la version 15.0(2)SE, tout sera parfait dans le meilleur des monde et surtout une upgrade sans coupure !