Cisco France Blog

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
La procédure suit pleinement l’odre théorique décrit plus haut: on commence par upgrader le switch qui a le lien RSU de backup (c’est-à-dire le switch 3). Ensuite on va upgrader le switch suivant joignable sur le port stack #1 (sous réserve que ce ne soit pas le switch RSU actif). Ici il s’agit bien du switch 1 qui est upgradé en second. On continue d’avancer sur le port 1 et on tombe sur le switch 2 qui est switch RSU actif. On revient donc au switch de départ (switch 3) et on avance maintenant sur le port stack #2 et on tombe à nouveau sur le switch 2 que l’on upgrade.
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

Authors

Jerome Durand

Technical Solutions Architect

Laisser un commentaire


1 commentaires

  1. 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 !