Обновление IOS на Cisco Catalyst 4900M
Обновление IOS на коммутаторах Cisco, задача тривиальная и описана на многих ресурсах. Но, для некоторых моделей, есть маленькие нюансы, которые могут убить энное количество времени и нервных клеток.
Обновлять будем с Cisco IOS Release 12.2(46)SG на 15.0(2)SG8, загружать IOS по tftp, через порт управления. Для начала убедимся, что есть свободное место на коммутаторе для нового IOS:
Directory of bootflash:/
6 -rw- 20192705 Aug 28 2008 22:55:34 +04:00 cat4500e-ipbase-mz.122-46.SG.bin
131436544 bytes total (105902080 bytes free)
Switch#
Как видим, доступно ~100Мб, новый образ IOS занимает ~27Мб. Настраиваем IP на порту управления:
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#interface FastEthernet1
Switch(config-if)#ip address 192.168.1.2 255.255.255.0
Switch(config-if)#exit
Switch(config)#exit
Switch#show running-config interface FastEthernet1
Building configuration...
Current configuration : 121 bytes
!
interface FastEthernet1
ip vrf forwarding mgmtVrf
ip address 192.168.1.2 255.255.255.0
speed auto
duplex auto
end
Switch#
Как видим, интерфейс FastEthernet1 находится в vrf mgmtVrf и поменять его нельзя. Это первый нюанс. Чтобы нам можно было скачать IOS через этот интерфейс, надо указать source-interface для tftp:
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#ip tftp source-interface FastEthernet1
Switch(config)#exit
Switch#
Далее, скачиваем новый образ:
Destination filename [cat4500e-entservicesk9-mz.150-2.SG8.bin]?
Accessing tftp://192.168.1.1/cat4500e-entservicesk9-mz.150-2.SG8.bin...
Loading cat4500e-entservicesk9-mz.150-2.SG8.bin from 192.168.1.1: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[OK - 27242762 bytes]
27242762 bytes copied in 236.872 secs (115010 bytes/sec)
Switch#
Смотрим, что у нас теперь 2 IOS на коммутаторе:
Directory of bootflash:/
6 -rw- 20192705 Aug 28 2008 18:55:34 +00:00 cat4500e-ipbase-mz.122-46.SG.bin
18 -rw- 27242762 Nov 17 2015 05:48:02 +00:00 cat4500e-entservicesk9-mz.150-2.SG8.bin
131436544 bytes total (78663680 bytes free)
Switch#
Для подстраховки проверим md5 хэш нашего образа:
.............................................................................................Done!
verify /md5 (bootflash:cat4500e-entservicesk9-mz.150-2.SG8.bin) = a961241aff9bf9aca6f75f7a8d562000
Switch#
Указываем новый образ, который должен быть загружен при перезагрузке коммутатора:
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#boot system flash bootflash:cat4500e-entservicesk9-mz.150-2.SG8.bin
Switch(config)#exit
Switch#
Тут появляется второй нюанс, который заключается в том, что по умолчанию с завода, на коммутаторах настроен конфигурационный регистр 0x2101:
BOOT variable = bootflash:cat4500e-entservicesk9-mz.150-2.SG8.bin,1;
CONFIG_FILE variable does not exist
BOOTLDR variable does not exist
Configuration register is 0x2101
Не смотря на то, что мы указали загружать IOS 15.0(2)SG8, после перезагрузки вы увидите опять 12.2(46)SG и никаких ошибок. Все дело в том, что регистр 0x2101 говорит коммутатору, что он должен загрузить первый попавшийся IOS с флеш, а т.к. мы не удаляли 12.2(46)SG, то он загружает его. Чтобы коммутатор начал загружать IOS, указанный в конфигурации, надо поменять регистр на 0x2102. Подробнее про регистры можно почитать на сайте cisco.com. Меняем регистр на 0x2102:
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#config-register 0x2102
Switch(config)#exit
Switch#write memory
Building configuration...
Compressed configuration from 5132 bytes to 2812 bytes[OK]
Смотрим, что изменения применяться при перезагрузке:
BOOT variable = bootflash:cat4500e-entservicesk9-mz.150-2.SG8.bin,1;
CONFIG_FILE variable does not exist
BOOTLDR variable does not exist
Configuration register is 0x2101 (will be 0x2102 at next reload)
Switch#
Перезагружаем коммутатор:
Proceed with reload? [confirm]y
На этом всё!