返回顶部

[CISCO技术]——VSS的IOS升级方法指南

  第一种方法: Fast Software Upgrade(FSU) 快速软件升级

  通过FSU对VSS进行升级,与基于RPR的独立机箱的FSU是类似的.

  当独立机箱升级时,会将standby引擎重启, 而VSS升级时会将standby机箱重启.在FSU过程中,主备机箱的软件版本不同,形成RPR冗余模式,无法进行SSO状态化切换,此时系统的停机时间将参照RPR切换时间.

  配置案例:

  Router# config terminal

  Router(config)# no boot system //移除之前配置的参数

  Router(config)# config-register0x2102 //设置配置寄存器值为0x2102

  Router(config)# boot system flashdisk0:image_name //指定加载新的IOS的路径

  Router(config)# end

  Router# copyrunning-config startup-config //保存配置

  Router# redundancy reloadpeer //重启standby机箱,使其运行新的IOS. 由于两个机箱IOS版本不一致,standby机箱将进入RPR冗余模式. 重启standby机箱之前,需要等待一段时间,确保所有配置同步完成.

  Router# redundancyforce-switchover //将active的角色切换到运行了新IOS的standby机箱上. 所有模块将会重启,并且从新的active机框下载板卡的软件. 重启后,将运行新的IOS成为VSS standby.

VSS的IOS升级方法指南

  第二种方法: Enhanced Fast Software Upgrade (eFSU) 增强快速软件升级

  eFSU与ISSU( in-service software upgrade)使用相同的命令行和软件基础设施. 与ISSU不同的是它会重启板卡,造成数据流量中断.eFSU的升级方式与单一机框双引擎的eFSU升级步骤是相同的,只不过现在这2块引擎在两台不同的机框内. 在eFSU过程中,VSS standby机箱内的引擎和板卡, 将会被升级并形成SSO冗余模式. 随后进行状态化切换,对另一台机箱进行升级,并使其成为VSS standby.

  VSS的eFSU升级包含以下阶段:

  -Preparation

  -Loadversion Stage

  -Runversion Stage

  -Acceptversion Stage (Optional)

  -Commitversion Stage

  -Abortversion (Optional)

  在每个阶段,有对应的issu命令行,你可以确认系统的状态,或者在进入下一个阶段之前进行回退.

  Preparation

  在初始化eFSU进程之前, 需要将升级所需的IOS拷贝到每个机箱的引擎中. 否则,初始化命令将会被拒绝. VSS必须处于稳定的运行状态, 一台机箱是VSS active状态, 另一台是VSS standby状态.

  Loadversion Stage

  当你执行 issu loadversion命令指定升级所需IOS的路径,eFSU升级随之开始.确认输入issu loadversion命令后,整台VSS standby机箱包括引擎和板卡都将会重启加载新的IOS. 由于VSS standby机箱的板卡在重启过程中无法转发数据,在这个阶段,整个VSS的转发能力将临时降至50%. 在重启之后,VSS standby机箱加载新的IOS,并进入SSO模式,恢复流量转发能力. 在此时, VSS standby机箱运行的IOS软件版本与VSS active机箱不同. VSSactive机箱需要与两个机箱内运行着不同IOS的板卡通信.

  Runversion Stage

  当运行新IOS的VSS standby成功进入SSO模式后,你可以使用 issu runversion命令. 这条命令,将强制进行主备切换,让升级后的VSS standby机箱成为新的VSSactive机箱. 原先的VSS acitve机箱将会重启并运行旧IOS,成为SSO模式的VSS standby机箱. 如同在loadversion阶段, 当VSS standby机箱重启时,VSS的转发能力将临时降至50%.此时,VSS active和VSS standby机箱运行着不同的软件版本.

  Acceptversion Stage (Optional)

  当你执行issu runversion命令后, 当主备切换到运行新IOS的机箱时, 将自动启用回退计时器(rollbacktimer), 它将作为一种安全措施,以确保升级过程不会导致VSS无法运行.在回退计时器超时之前, 你必须接受或者承认新的软件版本.如果计时器超时, 已经升级了的机箱将重启,并回退到旧的软件版本. 想要停止回退计时器,可以输入 issuacceptversion 命令. 在开始eFSU升级之前,你可以禁止回退计时器,或者配置计时器值(默认45分钟,最大可以配置到2小时).

  在这个阶段, 你可以检验运行在新IOS的VSS active 机箱的功能.当你满意并愿意接受当前的新IOS版本, 可以使用 issu commitversion命令去完成升级过程.

  Commitversion Stage

  需要使用issu commitversion来完成eFSU,并将另一台机箱进行软件升级. VSS standby机箱会重启并加载新IOS成为VSS standby. 如同在loadversion阶段,当板卡重启并初始化时, VSS的转发能力将临时降至50%.

  在成功重启成为VSS standby之后, 便完成了对VSS的升级.

  Abortversion (Optional)

  当你在执行 issu commitversion命令之前的任何时候, 你可以使用 issu abortversion命令将终止升级过程并回退. 如果软件检测到故障,升级过程也将自动终止.回退过程和当前状态相关. 如果在执行issu runversion命令之前终止eFSU, VSS standby 机箱会重启加载旧IOS. 如果在执行issu runversion命令之后终止eFSU, 执行了主备切换. 运行旧IOS的VSS standby机箱将成为VSS active机箱. 先前的VSS active机箱将会重启并加载旧IOS,完成回退.

  配置eFSU回退计时器

  Router(config)# issu set rollback-timer 3600

  % Rollback timer value set to [ 3600 ] seconds

  Router(config)# issu set rollback-timer 01:00:00

  % Rollback timer value set to [ 3600 ] seconds

  //配置回退计时器,有两种格式: seconds 或者 hh:mm:ss, 配置范围是0到7200秒(2小时), 默认是2700秒(45分钟). 设置为0,将禁止回退计时器.

  Router# show issurollback timer //显示当前回退计时器值

  终止eFSU升级

  Router# issu abortversion //停止升级进程并回退到先前的软件版本.

  执行eFSU升级:

  Router# copy tftp disk_name //使用TFTP将新IOS拷贝到VSS active和standby机箱中.

  Router# show issu state [switch/slot ] [ detail ] //(可选命令)查看VSS是否准备好进行eFSU升级.在任何一个阶段,都可以使用 show issustate命令去查看升级的状态

  Router# issu loadversion

  [ active_switch/slot ]active-image [standby_switch/slot ]standby-image //开始升级,让VSS standby加载新IOS.

  Router# issu runversion //主备切换. 使运行新IOS的VSS standby 成为VSS active. 原先的VSS active将运行旧IOS并成为VSS standby

  Router# issuacceptversion //(可选命令)停止回退计时器, 确保IOS升级过程不会由于回退计时器超时而被自动中断.

  Router# issu commitversion //使VSS standby机箱加载新IOS

  Router# show issu state [switch/slot ][ detail ] //查看升级状态. 如果升级成功,VSS acitve和standby都运行着新IOS.

  eFSU升级案例:

  1/确认系统就绪

  在将新IOS文件拷贝到主备引擎中,使用show issu state detail和showredundancy status命令来检查VSS eFSU升级是否准备就绪.其中一台机箱必须处于active状态,另一台处于standby状态. 两台机箱都需处于ISSU init状态和SSO 冗余状态.在以下输出中, 两台机箱都运行着'oldversion'镜像.

  Router# show issu state detail

  Slot = 1/2

  RP State = Active

  ISSU State = Init

  Boot Variable =disk0:s72033-oldversion.v1,12;

  Operating Mode = sso

  Primary Version = N/A

  Secondary Version = N/A

  Current Version =disk0:s72033-oldversion.v1

  Variable Store = PrstVbl

  Slot = 2/7

  RP State = Standby

  ISSU State = Init

  Boot Variable =disk0:s72033-oldversion.v1,12;

  Operating Mode = sso

  Primary Version = N/A

  Secondary Version = N/A

  Current Version =disk0:s72033-oldversion.v1

  Router# show redundancy status

  my state = 13 -ACTIVE

  peer state = 8 -STANDBY HOT

  Mode = Duplex

  Unit = Secondary

  Unit ID = 18

  Redundancy Mode (Operational) =sso

  Redundancy Mode (Configured) = sso

  Redundancy State = sso

  Maintenance Mode = Disabled

  Communications = Up

  client count = 132

  client_notification_TMR = 30000milliseconds

  keep_alive TMR = 9000 milliseconds

  keep_alive count = 0

  keep_alive threshold = 18

  RF debug mask = 0x0

  2/让VSS stadnby机箱加载新的IOS

  输入 issu loadversion 命令开始升级. 在这步, VSS standby机箱重启,加载新IOS, 成为SSO冗余模式的VSS standby机箱. 当配置同步后, 显示'Bulk syncsucceeded'信息表示这步已经完成.

  Router# issu loadversion disk0:s72033-newversion.v2

  000133: Aug 6 16:17:44.486 PST:%LINEPROTO-5-UPDOWN: Line protocol on Interface TenGigabitEthernet1/2/4,changed state to down

  000134: Aug 6 16:17:43.507 PST:%LINEPROTO-5-UPDOWN: Line protocol on Interface TenGigabitEthernet2/7/4,changed state to down

  000135: Aug 6 16:17:43.563 PST:%LINK-3-UPDOWN: Interface TenGigabitEthernet2/7/4, changed state to down

  000136: Aug 6 16:17:44.919 PST:%LINK-3-UPDOWN: Interface TenGigabitEthernet1/2/4, changed state to down

  (Deleted many interface andprotocol down messages)

  %issu loadversionexecuted successfully, Standby is being reloaded

  (Deleted many interface andprotocol down messages, then interface and protocol up messages)

  0000148: Aug 6 16:27:54.154 PST:%LINEPROTO-5-UPDOWN: Line protocol on Interface TenGigabitEthernet1/2/5,changed state to up

  000149: Aug 6 16:27:54.174 PST:%LINK-3-UPDOWN: Interface TenGigabitEthernet2/7/5, changed state to up

  000150: Aug 6 16:27:54.186 PST:%LINEPROTO-5-UPDOWN: Line protocol on Interface TenGigabitEthernet2/7/5,changed state to up

  000151: Aug 616:32:58.030 PST: %HA_CONFIG_SYNC-6-BULK_CFGSYNC_SUCCEED:Bulk Sync succeeded

  3/确认VSS standby机箱运行新的IOS

  你可以使用 show issu state detail和show redundancy命令检查两台机箱是否处于ISSU Load Version状态 和SSO冗余状态. 在以下的输出中, VSS standby 机箱正运行 “newversion” 镜像.

  Router# show issu state detail

  Slot = 1/2

  RP State = Active

  ISSU State = Load Version

  Boot Variable = disk0:s72033-oldversion.v1,12

  Operating Mode = sso

  Primary Version = disk0:s72033-oldversion.v1

  Secondary Version = disk0:s72033-newversion.v2

  Current Version = disk0:s72033-oldversion.v1

  Variable Store = PrstVbl

  Slot = 2/7

  RP State = Standby

  ISSU State = Load Version

  Boot Variable =disk0:s72033-newversion.v2,12;disk0:s72033-oldversion.v1,12

  Operating Mode = sso

  Primary Version = disk0:s72033-oldversion.v1

  Secondary Version = disk0:s72033-newversion.v2

  Current Version = disk0:s72033-newversion.v2

  Router# show redundancy status

  my state = 13 -ACTIVE

  peer state = 8 -STANDBY HOT

  Mode = Duplex

  Unit = Secondary

  Unit ID = 18

  Redundancy Mode (Operational) = sso

  Redundancy Mode (Configured) = sso

  Redundancy State = sso

  Maintenance Mode = Disabled

  Communications = Up

  client count = 132

  client_notification_TMR = 30000 milliseconds

  keep_alive TMR = 9000 milliseconds

  keep_alive count = 1

  keep_alive threshold = 18

  RF debug mask = 0x0

  4/执行准备切换

  当VSS standby 机箱在SSO冗余模式下成功运行新的IOS, 执行issu runversion命令来切换主备引擎.已经升级到新IOS的VSS standby机箱,它将成为新的VSS active机箱. 原先的active机箱将会重启,运行旧IOS成为新的VSS standby 机箱.当配置同步后, 显示'Bulk syncsucceeded'信息表示这步已经完成.

  Router# issu runversion

  This command will reload the Active unit. Proceed ? [confirm]

  (Deleted many lines)

  Download Start

  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(Deletedmany lines)

  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  Download Completed! Booting the image.

  Self decompressing the image :##########################################################################################

  (Deleted many lines)

  ################################################################################[OK]

  running startup....

  (Deleted many lines)

  000147: Aug 6 16:53:43.199 PST: %HA_CONFIG_SYNC-6-BULK_CFGSYNC_SUCCEED:Bulk Sync succeeded

  5/确认主备切换

  可以使用 show issu state detail和 show redundancy命令去检查两台设备处于 ISSU Run Version状态和SSO冗余状态.在以下输出中, active机箱现在运行在“newversion”镜像.

  Router# show issu state detail

  Slot = 2/7

  RP State = Active

  ISSU State = Run Version

  Boot Variable =disk0:s72033-newversion.v2,12;disk0:s72033-oldversion.v1,12

  Operating Mode = sso

  Primary Version = disk0:s72033-newversion.v2

  Secondary Version = disk0:s72033-oldversion.v1

  Current Version = disk0:s72033-newversion.v2

  Variable Store = PrstVbl

  Slot = 1/2

  RP State = Standby

  ISSU State = Run Version

  Boot Variable = disk0:s72033-oldversion.v1,12

  Operating Mode = sso

  Primary Version = disk0:s72033-newversion.v2

  Secondary Version = disk0:s72033-oldversion.v1

  Current Version = disk0:s72033-oldversion.v1

  Router# show redundancy status

  my state = 13 -ACTIVE

  peer state = 8 -STANDBY HOT

  Mode = Duplex

  Unit = Primary

  Unit ID = 39

  Redundancy Mode (Operational) = sso

  Redundancy Mode (Configured) = sso

  Redundancy State = sso

  Maintenance Mode = Disabled

  Communications = Up

  client count = 134

  client_notification_TMR = 30000 milliseconds

  keep_alive TMR = 9000 milliseconds

  keep_alive count = 1

  keep_alive threshold = 18

  RF debug mask = 0x0

  6/ 让VSS standby机箱加载新IOS

  当VSS active机箱在SSO冗余模式运行着新IOS,可以执行issu acceptversion 命令去停止回退计时器, 这样可以无限期停留在这个阶段. 或者使用 issu commitversion命令去继续eFSU升级步骤. 执行 issu commitversion 命令,将会升级VSS standby机箱并完成后续的eFSU升级过程. VSS standby机箱重启,加载运行新IOS,并成为SSO冗余状态的VSS standby机箱.当配置同步后, 显示'Bulk sync succeeded'信息表示这步已经完成.

  Router# issu commitversion

  Building configuration...

  [OK]

  000148: Aug 6 17:17:28.267 PST: %LINEPROTO-5-UPDOWN: Line protocolon Interface TenGigabitEthernet2/7/4, changed state to down

  000149: Aug 6 17:17:28.287 PST: %LINEPROTO-5-UPDOWN: Line protocolon Interface TenGigabitEthernet1/2/4, changed state to down

  (Deleted many interface and protocol down messages)

  %issu commitversion executedsuccessfully

  (Deleted many interface and protocol down messages, then interfaceand protocol up messages)

  000181: Aug 6 17:41:51.086 PST: %LINEPROTO-5-UPDOWN: Line protocolon Interface TenGigabitEthernet1/2/5, changed state to up

  000182: Aug 6 17:42:52.290 PST: %HA_CONFIG_SYNC-6-BULK_CFGSYNC_SUCCEED:Bulk Sync succeeded

  7/确认升级完成

  执行 show issu state detail和 show redundancy命令, 查询eFSU的结果.

  在以下输出中,两台设备都运行在“newversion” 镜像, 表示已经成功进行eFSU升级. 如同在进行eFSU升级之前的状态,此时他们会再次处于ISSU Init Version 状态.

  Router# show issu state detail

  Slot = 2/7

  RP State = Active

  ISSU State = Init

  Boot Variable =disk0:s72033-newversion.v2,12;disk0:s72033-oldversion.v1,12

  Operating Mode = sso

  Primary Version = N/A

  Secondary Version = N/A

  Current Version = disk0:s72033-newversion.v2

  Variable Store = PrstVbl

  Slot = 1/2

  RP State = Standby

  ISSU State = Init

  Boot Variable =disk0:s72033-newversion.v2,12;disk0:s72033-oldversion.v1,12

  Operating Mode = sso

  Primary Version = N/A

  Secondary Version = N/A

  Current Version = disk0:s72033-newversion.v2

  Router# show redundancy status

  my state = 13 -ACTIVE

  peer state = 8 -STANDBY HOT

  Mode = Duplex

  Unit = Primary

  Unit ID = 39

  Redundancy Mode (Operational) = sso

  Redundancy Mode (Configured) = sso

  Redundancy State = sso

  Maintenance Mode = Disabled

  Communications = Up

  client count = 134

  client_notification_TMR = 30000 milliseconds

  keep_alive TMR = 9000 milliseconds

  keep_alive count = 1

  keep_alive threshold = 18

  RF debug mask = 0x0



400-0806-056