Blog CLEMANET
Systèmes et réseaux

Mise à jour IOS switch Cisco

Matériel utilisé : switch cisco série 2960

On utilisera de préférence la commande archive. Les commandes présentées ci-dessous sont indiquées uniquement pour information.

Les IOS cisco se trouve sous deux formes : .bin et .tar. L’archive tar contient, en plus de l’IOS, l’interface web. Nous utilisons ici le fichier .bin. Il ne sera donc pas possible de configurer le switch via une interface web.

Nous avons donc besoin d’un IOS disponible sur le site de cisco. On vérifiera, suite au téléchargement, la somme de contrôle md5 (utiliser par exemple md5summer). Nous avons également besoin d’un serveur tftp pour stocker l’image (par exemple tftpd32).

Il est recommandé avant la mise à jour de lire les « release notes » et de faire une sauvegarde de l’ancien IOS.

Vérification préalable à la mise à jour

On vérifie la version de l’IOS existant ainsi que la variable de boot.

switch#sh version
Switch Ports Model              SW Version            SW Image
 ------ ----- -----              ----------            ----------
 *    1 24    WS-C2960-24TC-L   12.2(50)SE5           C2960-LANBASEK9-M
switch#show boot
 BOOT path-list      : flash:/c2960-lanbasek9-mz.122-50.SE5/c2960-lanbasek9-mz.122-50.SE5.bin

La commande suivante affiche le contenu de la mémoire flash. On remarque l’espace disponible sur cette mémoire. Si la taille de l’IOS à installer est supérieur à l’espace libre, il faudra supprimer au moins un ancien IOS avant le téléchargement.

switch#dir flash:
 Directory of flash:/
2  drwx         192   Mar 1 1993 01:08:28 +01:00  c2960-lanbasek9-mz.122-50.SE5
 557  -rwx         107   Mar 1 1993 01:08:29 +01:00  info
 558  -rwx        2064   Dec 7 2012 14:59:07 +01:00  vlan.dat
 559  -rwx        3096   Mar 1 1993 01:00:59 +01:00  multiple-fs
 560  -rwx        1912  Jan 15 2013 16:48:12 +01:00  private-config.text
 563  -rwx        3405  Jan 15 2013 16:48:12 +01:00  config.text
32514048 bytes total (20948965 bytes free)
 switch#

Mise à jour de l’IOS

Dans l’exemple, l’adresse du serveur tftp est 192.168.1.15. L’IOS est copié sur le switch à partir du serveur tftp.

switch#copy tftp: flash:
 Address or name of remote host []? 192.168.1.15
 Source filename []? c2960-lanbasek9-mz.122-58.SE2.bin
 Destination filename [c2960-lanbasek9-mz.122-58.SE2.bin]?
 Accessing tftp://192.168.1.15/c2960-lanbasek9-mz.122-58.SE2.bin...
 Loading c2960-lanbasek9-mz.122-58.SE2.bin from 172.16.100.13 (via Vlan1): !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 [OK - 11660773 bytes]
11660773 bytes copied in 107.701 secs (108270 bytes/sec)
 switch#

Le fichier est maintenant copié sur la flash. On vérifie à nouveau la somme de contrôle md5 pour s’assurer que le fichier n’est pas endommagé.

switch#verify /md5 flash:c2960-lanbasek9-mz.122-58.SE2.bin
 ................................................................................
verify /md5 (flash:c2960-lanbasek9-mz.122-58.SE2.bin) = 66d7a45d874ebea1aa2b0ff40dbdc7a0

On peux maintenant fixer la variable de boot vers le nouvel IOS.

switch#conf t
 Enter configuration commands, one per line.  End with CNTL/Z.
switch(config)#boot system flash:c2960-lanbasek9-mz.122-58.SE2.bin
 switch(config)#

Vérification:

switch#sh boot
 BOOT path-list      : flash:c2960-lanbasek9-mz.122-58.SE2.bin
 Config file         : flash:/config.text

Enregistrons la nouvelle configuration puis redémarrons le switch.

switch#wr
 Building configuration...
 [OK]
 switch#reload

Etape de vérification

Suite au redémarrage du switch, on affiche la nouvelle version de l’IOS.

switch#sh version
 Cisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 12.2(58)SE2, RELEASE SOFTWARE (fc1)
Switch Ports Model              SW Version            SW Image
 ------ ----- -----              ----------            ----------
 *    1 24    WS-C2960-24TC-L   12.2(58)SE2           C2960-LANBASEK9-M

Bonus Suppression de l’ancien IOS et des fichiers http.

switch#delete /force /recursive flash:c2960-lanbasek9-mz.122-50

Autre commande intéressante: archive

switch#archive ?
 config       Archive the running config
 download-sw  Download a new copy of software from a server
 log          Manage archive log
 tar          List or extract files in a tar image
 upload-sw    Upload an existing copy of the software to a server
switch#

Cas des switchs stackables (utiliser la commande archive)

Dans le cas de switch empilé, il faut s’assurer que l’IOS est téléchargé sur tous les switchs (dir flash1: dir flash2: …).

On fixera également la variable de boot pour chaque switch (le switch 2 pour la commande suivante).

switch(config)#boot system switch 2 flash:c2960s-universalk9-mz.122-58.SE2.bin

Vérifier ensuite avec un show boot.