Wednesday, April 18, 2007

Q: How do I boot a 3750 stack into a new IOS?

A:

The entire stack will be powered off at some point during this operation. Allow about a half hour of downtime.

We'll assume that you have already copied the new IOS onto all of the stack members.

You define the image to boot from with the boot system command. However, unlike a router, a 3750 switch will not show this setting as part of the running-config, nor save it that way. To see the setting you'll have to use the show boot command.

In later versions of switch IOS, such as 12.2(35), Cisco has made it easier to reboot individual switch members. But to get there from an older version you may have to use my method. I did it the hard way, putting a console cable on each of the switches in the stack in turn. (Remember that no matter where the console cable is connected, it still talks only to the master.)

  • Use show switch to find out which switch is the master.
  • Do a dir flash: on the master to show the available IOS images. Use a copy and paste operation to paste the IOS filename you want into the command boot system flash:{IOS filename}.
  • Power down the switch (you need to unplug it) and connect the console cable to another switch if necessary.
  • Find the new master, and repeat the above steps on it. Continue on each switch in turn until the entire stack is powered down.
  • Now power up the switch you want to be the master. I suggest cabling your console cable to it and watching it come up. There will be a delay while it waits to make sure there is not already a master.
  • Once the master is up, power up the other switches in the stack. You can do them one at a time or all at once. They come up quickly because there is already a master.
  • Use show switch to make sure all of the switches are participating in the stack. You can also try show switch detail and show platform stack-manager all to get lots more info for troubleshooting.

Update:

If your IOS supports it, you can issue the boot system switch all flash:{IOS filename} to set the boot image name on all switches at once, which will simplify the above procedure. Then all you need to do is reload the stack.

You may then be able to reload the entire stack with a single reload command. Not sure about this. You also may be able to use reload slot # to reload each of the non-master stack members, just before issuing the final reload to reload the current master. I'll let you know if this works after I have had a chance to try it.