This article will focus on upgrading software on a Cisco 3750 switch stack comprised of two switches. There are procedures for upgrading one of the access switches and then letting the stack manage the distribution/installation of software on the other switches. However, there is some comfort to doing it all manually and checking things after each step.
First, if we access the switch stack and issue a dir all-filesystems it will return something like:
Directory of flash:/
2 -rwx 936 Jul 9 2007 14:40:47 -05:00 vlan.dat
3 -rwx 1941 Jul 9 2007 14:49:22 -05:00 private-config.text
5 -rwx 10144 Jul 9 2007 14:49:22 -05:00 config.text
6 drwx 192 Mar 6 1993 16:38:47 -06:00 c3750-ipbasek9-mz.122-35.SE2
15998976 bytes total (5792256 bytes free)
Directory of system:/
3 dr-x 0 <no date> memory
1 -rw- 10144 <no date> running-config
2 dr-x 0 <no date> vfiles
No space information available
Directory of nvram:/
499 -rw- 10144 <no date> startup-config
500 ---- 1941 <no date> private-config
524288 bytes total (512151 bytes free)
Directory of flash2:/
2 -rwx 936 Jul 9 2007 14:40:51 -05:00 vlan.dat
3 -rwx 10144 Jul 9 2007 14:49:22 -05:00 config.text
4 -rwx 1941 Jul 9 2007 14:49:22 -05:00 private-config.text
6 drwx 192 Mar 6 1993 16:42:54 -06:00 c3750-ipbasek9-mz.122-35.SE2
15998976 bytes total (5792256 bytes free)
Notice in the above output that there is a flash: and a flash2. Flash would belong to switch 1 (master) and flash2: would be the internal flash belonging to switch 2 in the stack. Also notice that the images are underneath the directory name that matches the image file name. This is something that I am not very fond of. I like the image to be in the root of the flash, instead of buried in a directory. Cisco starting doing this when the switches first provided an HTML interface. So, all the files needed for the built-in web server would also be under this directory structure. Since I do not use the web interface to configure access switches, nor do I desire for them to have that ability – we will delete the directory structure and replace with a single image file.
switch#del /force /recursive flash:c3750-ipbasek9-mz.122-35.SE2 switch#del /force /recursive flash2:c3750-ipbasek9-mz.122-35.SE2
Let’s take another look at the storage on both switches:
switch#dir all-filesystems
Directory of flash:/
2 -rwx 936 Jul 9 2007 14:40:47 -05:00 vlan.dat
3 -rwx 1941 Jul 9 2007 14:49:22 -05:00 private-config.text
5 -rwx 10144 Jul 9 2007 14:49:22 -05:00 config.text
15998976 bytes total (15984640 bytes free)
Directory of system:/
3 dr-x 0 <no date> memory
1 -rw- 10144 <no date> running-config
2 dr-x 0 <no date> vfiles
No space information available
Directory of nvram:/
499 -rw- 10144 <no date> startup-config
500 ---- 1941 <no date> private-config
524288 bytes total (512151 bytes free)
Directory of flash2:/
2 -rwx 936 Jul 9 2007 14:40:51 -05:00 vlan.dat
3 -rwx 10144 Jul 9 2007 14:49:22 -05:00 config.text
4 -rwx 1941 Jul 9 2007 14:49:22 -05:00 private-config.text
15998976 bytes total (15984640 bytes free)
switch#
Now that there is room for the image, transfer the new IOS to the first switch:
switch#copy tftp flash: Address or name of remote host [10.1.2.21]? Source filename [c3750-ipbasek9-mz.122-37.SE.bin]? Destination filename [c3750-ipbasek9-mz.122-37.SE.bin]? Accessing tftp://10.1.2.21/c3750-ipbasek9-mz.122-37.SE.bin... Loading c3750-ipbasek9-mz.122-37.SE.bin from 10.1.2.21 (via Vlan2): !!!!!!!!!!!![OK - 8199380 bytes] 8199380 bytes copied in 138.210 secs (59326 bytes/sec) switch#
Next, copy the image from switch1 to switch 2 using the copy command:
switch#copy flash:c3750-ipbasek9-mz.122-37.SE.bin flash2:c3750-ipbasek9-mz.122-37.SE.bin
The switch settings can be viewed by running the show boot command:
switch#sh boot BOOT path-list : flash:c3750-ipbasek9-mz.122-35.SE2/c3750-ipbasek9-mz.122-35.SE2.bin Config file : flash:/config.text Private Config file : flash:/private-config.text Enable Break : no Manual Boot : no HELPER path-list : Auto upgrade : yes Auto upgrade path : ------------------- Switch 2 ------------------- BOOT path-list : flash:c3750-ipbasek9-mz.122-35.SE2/c3750-ipbasek9-mz.122-35.SE2.bin Config file : flash:/config.text Private Config file : flash:/private-config.text Enable Break : no Manual Boot : no HELPER path-list : Auto upgrade : no Auto upgrade path : switch#
As you can see from the output above, the switches are still set to look for the old filename at startup. Set the new boot statement in all of the switch stack members at one time by using the following command:
switch(config)#boot system switch all flash:c3750-ipbasek9-mz.122-37.SE.bin
Once the boot command is set, let’s look at the boot variables once more:
switch#sh boot BOOT path-list : flash:c3750-ipbasek9-mz.122-37.SE.bin Config file : flash:/config.text Private Config file : flash:/private-config.text Enable Break : no Manual Boot : no HELPER path-list : Auto upgrade : yes Auto upgrade path : ------------------- Switch 2 ------------------- BOOT path-list : flash:c3750-ipbasek9-mz.122-37.SE.bin Config file : flash:/config.text Private Config file : flash:/private-config.text Enable Break : no Manual Boot : no HELPER path-list : Auto upgrade : no Auto upgrade path : switch#
You will notice that both switches show they are booting from flash: as apposed to switch 2 showing flash2. This is because flash: is what the storage is known as to each access switch, so consider this normal.
The only thing left is to copy the running configuration to startup and reboot the switch.



(3 votes, average: 3.33 out of 5)
Print This Post