09-GIR配置
本章节下载: 09-GIR配置 (362.69 KB)
目 录
GIR(Graceful Insertion and Removal,平滑插入和移除)提供了一种设备隔离方案,适用于设备进行维护或升级的场景。通过GIR模式切换功能,可以一次下发多个业务模块的隔离命令,各业务模块会先将流量切换至冗余路径,再将设备置于维护模式,此时处于维护模式下的设备与其它设备之间网络隔离。当完成维护或者升级操作之后,用户可通过手动或自动的方式将设备切回普通模式,恢复流量的正常转发和处理。
GIR将设备的运行模式分为如下两种:
· 普通模式:设备的正常工作状态。设备处于该模式时,可正常转发和处理流量。
· 维护模式:执行GIR模式切换操作后设备处于的状态。该模式下设备无法正常转发流量,流量被切换到其它设备,用户可以对本设备进行维护或升级操作。
GIR通过模式切换命令,可以一键下发所需协议的隔离(或解除隔离)命令给对应的业务模块,由对应业务协议模块自动执行命令来实现流量的平滑切换,并且提供快照查看与比较功能,用来确认模式切换前后的配置差异。
通过执行gir system-mode maintenance命令,会下发相关的协议隔离命令给对应的业务模块,由对应业务模块自动执行隔离命令,实现设备的流量隔离。目前支持的协议有LACP协议、BGP协议、ISIS协议、OSPF协议和OSPFv3协议等。各业务模块实现隔离的方式有isolate和shutdown两种,具体的隔离实现请参考各业务模块的手册。
对设备进行维护或升级操作后,执行undo gir system-mode maintenance命令可以自动对设备进行协议恢复,让设备正常转发流量。
协议的隔离方式一般有isolate和shutdown两种,以OSPF协议为例:
· 通过isolate enable命令开启OSPF isolate功能后,OSPF将链路度量值调大,以便邻居重新进行路径优选。邻居收到LSA完成路由计算后,将选择更优的路径转发流量,不再将流量发往OSPF isolate设备。此时,设备的OSPF协议完全从当前组网中隔离出来,可以对该设备上的OSPF协议进行升级处理。对OSPF协议的维护结束后,使用undo isolate enable命令将链路度量值恢复为调整前的值,从而让该设备的OSPF协议重新加入网络。
· 通过shutdown process命令开启OSPF shutdown功能后,OSPF进程将向邻居发送1-way Hello报文。邻居收到1-way Hello报文后,断开与发送该报文的设备的邻居关系。OSPF进程还将停止收发OSPF协议报文,清除邻居信息、LSDB(包括自己产生的LSP和接收到的LSP)以及OSPF路由等信息。
由此可见当以isolate方式隔离时,协议会占用更多的资源,但是可以更快恢复到隔离前的状态;以shutdown方式隔离时,协议占用的资源较少,但恢复到隔离前状态的速度相对较慢。关于OSPF协议的isolate enable和shutdown process命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“OSPF”。
用户可以根据实际需要,比如需要隔离的协议等选择不同的模式切换方式。
· 正切是指从普通模式切换到维护模式,正切有三种方式:
¡ 设备通过isolate方式进入维护模式,设备缺省使用此方式。以此方式正切的设备会通过isolate功能对BGP、IS-IS、OSPF、OSPFv3、LACP和VRRP协议进行隔离。
¡ 设备通过shutdown方式进入维护模式。以此方式正切的设备会通过shutdown功能对BGP、IS-IS、OSPF、OSPFv3、LACP和VRRP协议进行隔离,并且关闭设备上除管理口外的所有接口。
¡ 设备通过用custom-profile方式进入维护模式。用户可进入custom-profile视图自定义配置设备正切时隔离的协议和关闭的接口等。
缺省情况下,设备会以isolate方式正切。如果用户想要对隔离的协议或关闭的接口等进行自定义配置,可以通过配置custom-profile方式进行隔离或恢复。custom-profile是按顺序记录模式切换时系统下发命令的配置文件,包含正切profile和回切profile。当用户使用custom-profile方式切换到维护模式时系统会按顺序执行正切profile中配置的命令;当用户使用custom-profile方式切回到普通模式时系统会按顺序执行回切profile中配置的命令。正切profile和回切profile分别只能有一份,用户需进入custom-profile视图来配置正切profile和回切profile。
· 回切是指从维护模式切换到普通模式,回切有两种方式:
¡ 设备通过与正切对应的方式回切,如果设备正切时是通过isolate或custom-profile方式,则采用isolate正切对应的反向操作回切;如果设备正切时是通过shutdown方式,则采用shutdown正切对应的反向操作回切。
¡ 设备通过custom-profile方式回切,这时设备会采用用户在回切profile中配置的命令回切。
快照可以记录对应时间点设备的运行数据,可用于系统恢复及不同时间点数据差异的对比。
GIR快照分为自动生成和手动创建两种。系统正常运行时用户可以在任何时间手动创建GIR快照,用户可指定快照名称。对于GIR自动生成的快照,保存的是普通模式下各业务模块的状态信息,以NETCONF文件格式保存设备当前的运行数据。设备会在如下情况自动生成GIR快照:
· 将设备从普通模式切换到维护模式时,设备会先记录进入维护模式前的GIR快照,再将设备进行流量隔离。在这种情况下生成的快照名为before_maintenance。
· 将设备从维护模式切回普通模式时,设备先进行协议恢复,在系统进入稳定状态后再记录退出维护模式后的GIR快照。通过display system stable state命令显示的system state字段为Stable,则表示设备处于稳定状态。在这种情况下生成的快照名为after_maintenance。
通过执行模式切换命令生成的两个GIR快照文件before_maintenance与after_maintenance均是覆盖保存的,且用户不可以指定快照名称。
GIR提供了快照比较功能,方便用户确认模式切换前后设备的配置差异。
GIR配置任务如下:
(1) 配置custom-profile
(2) GIR模式切换操作
a. 正切
b. 回切
(3) GIR快照操作
¡ 手工创建快照
¡ 手工删除快照
(4) GIR高级功能
缺省情况下,设备会以isolate方式正切。如果用户想要对隔离的协议或关闭的接口等进行自定义配置,可以通过配置custom-profile方式进行隔离或恢复。关于custom-profile方式的原理介绍,请参见“1.1.2 GIR原理”。
请先在PC上编辑好custom-profile的内容,再进入custom-profile视图下粘贴,输入的命令行将按照输入先后顺序依次执行;如果需要修改custom-profile,请先在PC上修改完毕后,再在设备上删除custom-profile,最后进入custom-profile视图下粘贴。custom-profile分为正切profile和回切profile两种,其配置规则如下:
· 系统使用custom-profile方式进行模式切换时会按顺序执行custom-profile中的命令,如果命令之间存在依赖关系请先输入前提命令。当在custom-profile中同时配置了一条命令与这条命令对应的undo命令,且undo命令undo后面的内容与这条命令完全一致,系统会自动在custom-profile中删除这两条命令。另外系统会自动删除custom-profile中重复的命令。
· 设备缺省在系统视图下执行custom-profile中的命令行,如果某条命令需要在系统视图的子视图下执行,则要求先输入进入子视图的命令,再输入该命令。custom-profile不支持下发用户视图下的命令。
· 相同视图的命令会合并到该视图下,并按添加的顺序下发。
· 在custom-profile中配置业务模块的命令,如果有命令存在延迟生效的情况,可以在此命令后通过sleep instance命令配置延时时长,这样在执行完该命令后系统会在配置的延时时长后再继续执行下一条命令,这样可以避免出现上一条命令还未生效便开始执行下一跳命令的情况。如果用户不能明确配置的命令是否需要延时,可以预先配置sleep instance命令并将等待时间设置为0,后续根据需求进行修改。
· 除了修改sleep instance的等待时间外,不支持对已配置的命令进行插入、修改或删除操作。可通过display gir custom-profile命令查看custom-profile的内容,如果发现配置错误,请先删除custom-profile,再重新配置。
· custom-profile允许为空,当用户使用isolate或shutdown方式切换模式且模式对应的custom-profile为空的时,系统会将切换模式时执行的命令记录在对应的custom-profile中。用户编辑空的custom-profile前可以先使用isolate或shutdown方式进行模式切换,再基于记录了相应命令的custom-profile进行编辑。
使用该功能时,用户应明确custom-profile中每条配置命令对设备产生的影响,避免错误配置导致流量不能被正确隔离。如果下发的命令之间存在依赖关系,需要用户在下发顺序上进行保证。
(1) 进入系统视图。
system-view
(2) 进入custom-profile视图编辑正切profile。
gir custom-profile maintenance-mode
(3) 配置业务模块的隔离等命令,具体业务模块的隔离命令请参考各业务模块的手册。
(4) 退出custom-profile视图,结束编辑。
config-end
(1) 进入系统视图。
system-view
(2) 进入custom-profile视图编辑回切profile。
gir custom-profile normal-mode
(3) 取消对业务模块的隔离,具体配置请参见业务模块的配置手册。
(4) 退出custom-profile视图,结束编辑。
config-end
当需要维护或升级设备时,请使用本功能,将设备从普通模式切换到维护模式。
切换到维护模式后,请不要修改各业务模块的配置,否则会导致退出维护模式后,设备配置与原来配置不一致。
用户无法在执行快照操作的同时下发模式切换命令。当有用户在执行快照操作时,用户下发模式切换命令,命令下发不成功且设备会打印错误提示信息或生成日志,反之亦然。请等待这些任务执行结束后再进行模式切换。
如果模式切换过程中有业务模块命令下发失败,则设备会不再继续进行模式切换并回到原有模式。设备会显示下发失败的命令或生成日志,但已下发命令不回滚。
· 如果某业务模块的命令下发失败,请根据业务模块的具体提示信息排查失败原因。
· 为了方便用户确认设备模式切换前后存在的配置差异,可以通过设备提供的GIR快照比较功能进行查看。如果有配置差异,请用户根据具体的差异信息排查原因。
有时由于部分业务模块流量切换慢,会出现设备已经进入维护模式但仍有业务模块未完成流量切换的情况。建议用户在下发正切命令后,通过display counters命令查看并确认当前设备无流量经过,再进行后续操作。
(1) (可选)确定系统处于稳定状态。
display system stable state
使用本命令显示的system state字段为Stable,则表示设备处于稳定状态。GIR模式切换前使用本命令查看设备的状态,需要等待设备进入稳定状态,才可以进行GIR模式切换。
(2) 进入系统视图。
system-view
(3) 使设备正切。
gir system-mode maintenance [ shutdown | custom-profile ] [ non-interactive ]
· 执行本命令后,可能会发生流量丢包导致相关业务中断,请谨慎使用。
· 在模式切换过程中,请不要重启设备或进程,设备重启或部分进程重启可能会中止模式切换,而且已下发的业务模块命令无法回滚。
(4) (可选)确认当前设备无流量经过。
display counters
当完成维护或升级操作后,请使用本功能,将设备从维护模式切回普通模式。
在M-LAG应用场景下,如果要将设备从维护模式切回到普通模式,请先执行display m-lag mad verbose命令确认设备接口状态未处于“M-LAG MAD DOWN”状态,再执行undo gir system-mode maintenance命令。有关M-LAG的详细介绍,请参见“二层技术-以太网交换配置指导”中的“M-LAG”。
如果模式切换过程中有业务模块命令下发失败,设备会显示失败提示信息或生成日志。为了方便用户确认设备模式切换前后存在的配置差异,可以通过设备提供的GIR快照比较功能进行查看。如果有配置差异,请用户根据具体的差异信息排查原因。
用户无法在执行快照操作的同时下发模式切换命令。当有用户在执行快照操作时,用户下发模式切换命令,命令下发不成功且设备会打印错误提示信息或生成日志,反之亦然。请等待这些任务执行结束后再进行模式切换。
(1) 确定系统处于稳定状态。
display system stable state
使用本命令显示的system state字段为Stable,则表示设备处于稳定状态。GIR模式切换前使用本命令查看设备的状态,需要等待设备进入稳定状态,才可以进行GIR模式切换。
(2) 进入系统视图。
system-view
(3) 使设备回切。
undo gir system-mode maintenance [ custom-profile ] [ non-interactive ]
在模式切换过程中,请不要重启设备或进程,设备重启或部分进程重启可能会中止模式切换,而且已下发的业务模块命令无法回滚。
配置本功能且将设备切换到维护模式,则设备在指定时间后,会自动回切到普通模式。用户可在维护模式期间需要执行的任务时长较为确认的情况下执行本命令。
(1) 进入系统视图。
system-view
(2) 配置切换到维护模式后延时自动回切的延时时长命令。
gir system-mode maintenance revert-delay value
缺省情况下,设备不自动回切。
当回切延时时间为0时,不自动回切。
快照可以记录对应时间点设备的运行数据,可用于系统恢复及不同时间点数据差异的对比。用户可通过本功能手工创建GIR快照。
如果设备正在进行模式切换、快照操作或者快照显示与比较,请在相关操作执行结束后再执行创建快照的命令。
(1) 进入系统视图。
system-view
(2) 创建当前设备状态的GIR快照。
gir snapshot create snapshot-name description
快照名称可以包含数字、字母和下划线。
当GIR快照数量较多或GIR快照文件占据了较大内存时,用户可以通过该命令删除生成时间较早的GIR快照。
如果设备正在进行模式切换、快照操作或者快照显示与比较,请在相关操作执行结束后再执行删除快照的命令。
(1) 进入系统视图。
system-view
(2) 执行删除GIR快照命令。
gir snapshot delete { all | snapshot-name }
由于路由表的规格比较大,GIR快照创建时设备默认不获取模块数据如路由信息。执行本命令可以使设备在创建GIR快照时获取模块数据,便于获取更多的快照对比信息如路由比较信息。
(1) 进入系统视图。
system-view
(2) 执行添加GIR快照内容命令。
gir snapshot add { ipv4routes | ipv6routes }*
缺省情况下,设备在创建GIR快照时不获取模块数据。
正切中若业务模块存在生效较慢的命令可能会导致设备进入维护模式后命令仍没有生效。为了避免这种情况,可设置延时放开命令行的时长。若配置此命令,正切中所有业务模块的命令下发后,系统会等待设置的时间再进入维护模式。
(1) 进入系统视图。
system-view
(2) 配置回切时间命令。
gir system-mode maintenance maintenance-delay value
缺省情况下,延时放开命令行的时长为120秒。
对于协议恢复较慢的业务模块,为了避免在业务模块恢复业务前就生成after_maintenance快照,可以通过本功能配置延时生成GIR快照的延时时长,控制切换回正常模式后生成GIR快照的时间,以获取更准确和完整的数据。
(1) 进入系统视图。
system-view
(2) 配置回切时间命令。
gir system-mode maintenance snapshot-delay value
缺省情况下,延时生成GIR快照的时长为120s。
完成上述配置后,在任意视图下执行display命令可以显示配置GIR后的运行情况。用户可以通过查看显示信息,来验证配置的效果。
表1-1 GIR显示和维护
操作 |
命令 |
显示当前设备上存在的所有GIR快照 |
display gir snapshot |
显示GIR快照的比较信息 |
display gir snapshot compare snapshot1-name snapshot2-name [ verbose ] |
显示当前GIR模式 |
display gir system-mode |
显示当前定义的profile |
display gir custom-profile [ maintenance-mode | normal-mode ] |
如图1-1所示,Internet的报文可分别通过Device A和Device B到达Device C且这两条路由互为等价路由。现需要对Device A进行软件升级。为保证升级过程零丢包,先通过GIR使Device A进入维护模式,再对Device A进行软件升级,最后再将Device A切回正常模式。
图1-1 基于等价路由的GIR配置组网图
(1) 配置IP地址和OSPF协议,确保Internet的报文可分别通过Device A和Device B到达Device C且这两条路由互为等价路由,具体配置过程略。
(2) 配置GIR从普通模式切换到维护模式
# 在Device A上进行模式切换。
<Device A> display system stable state summary
System state : Stable
Redundancy state : No redundancy
NSR state : No standby
<Device A> system-view
[Device A] gir system-mode maintenance
Collecting commands... Please wait.
Configuration to be applied:
ospf 1
isolate enable
Do you want to continue? [Y/N]: y
Generated a snapshot: before_maintenance.
Applying: ospf 1
Applying: isolate enable
Waiting 120 seconds to release the CLI.
Changed to maintenance mode successfully.
# 在Device A上验证GIR配置,确认模式切换成功。
[Device A] display gir system-mode
System Mode: Maintenance
Revert-delay time: 0min
Maintenance-delay time: 120s
Snapshot-delay time: 120s
# 在Device A上确认流量已经切换完成。
[Device A] display counters rate inbound interface
Usage: Bandwidth utilization in percentage
Interface Usage (%) Total (pps) Broadcast (pps) Multicast (pps)
HGE1/0/1 0 0 -- --
HGE1/0/2 0 0 -- --
Overflow: More than 14 digits.
--: Not supported.
# 在Device A上保存配置后进行软件升级。
(3) 配置GIR从维护模式切换到普通模式
# 设备完成升级并重启后,在Device A上进行模式切换。
<Device A> system-view
[Device A] undo gir system-mode maintenance
Collecting commands... Please wait.
Configuration to be applied:
ospf 1
undo isolate enable
Do you want to continue? [Y/N]: y
Applying: ospf 1
Applying: undo isolate enable
Waiting 120 seconds to generate a snapshot.
Generated a snapshot: after_maintenance.
Changed to normal mode successfully.
# 在Device A上验证GIR配置,确认模式切换成功。
[Device A] display gir system-mode
System Mode: Normal
Revert-delay time: 0min
Maintenance-delay time: 120s
Snapshot-delay time: 120s
# 在Device A上确认流量已经切换完成。
[Device A] display counters rate inbound interface
Usage: Bandwidth utilization in percentage
Interface Usage (%) Total (pps) Broadcast (pps) Multicast (pps)
HGE1/0/1 100 100 -- --
HGE1/0/2 100 100 -- --
Overflow: More than 14 digits.
--: Not supported.
本例以OSPF和链路聚合为例来展示切换过程。OSPF的具体配置请参见“三层技术-IP路由命令参考”中的“OSPF”。M-LAG的配置请参见“二层技术-以太网交换命令参考”中的“M-LAG”。
本例仅提供GIR过程举例。关于软件升级的具体配置请参见“基础配置指导”中的“ISSU”。
如图1-2所示,Device A和Device B上配置了M-LAG,已经组成了M-LAG系统。现需要对Device A和Device B进行软件升级。为保证升级过程零丢包,软件升级采用如下方式:
1、先升级Device B
通过isolate方式正切。
2、升级Device A
图1-2 基于M-LAG的GIR配置组网图
(1) 配置GIR从普通模式切换到维护模式
# 在Device B上进行软件升级。
# 在Device A上进行模式切换。
<Device A> display system stable state summary
System state : Stable
Redundancy state : No redundancy
NSR state : No standby
<Device A> system-view
[Device A] gir system-mode maintenance
Collecting commands... Please wait.
Configuration to be applied:
ospf 1
isolate enable
sleep instance 1 interval 30
link-aggregation lacp isolate
Do you want to continue? [Y/N]: y
Generated a snapshot: before_maintenance.
Applying: ospf 1
Applying: isolate enable
Applying: sleep instance 1 interval 30
Applying: link-aggregation lacp isolate
Waiting 120 seconds to release the CLI.
Changed to maintenance mode successfully.
# 在Device A上验证GIR配置,确认模式切换成功。
[Device A] display gir system-mode
System Mode: Maintenance
Revert-delay time: 0min
Maintenance-delay time: 120s
Snapshot-delay time: 120s
# 在Device A上确认流量已经切换完成。
[Device A] display counters rate inbound interface
Usage: Bandwidth utilization in percentage
Interface Usage (%) Total (pps) Broadcast (pps) Multicast (pps)
HGE1/0/1 0 0 -- --
HGE1/0/2 0 0 -- --
HGE1/0/3 0 0 -- --
Overflow: More than 14 digits.
--: Not supported.
# 在Device A上保存配置后进行软件升级。
(2) 配置GIR从维护模式切换到普通模式
# 设备完成升级并重启后,在Device A上进行模式切换。
<Device A> system-view
[Device A] undo gir system-mode maintenance
Collecting commands... Please wait.
Configuration to be applied:
undo link-aggregation lacp isolate
sleep instance 1 interval 30
ospf 1
undo isolate enable
Do you want to continue? [Y/N]: y
Applying: undo link-aggregation lacp isolate
Applying: sleep instance 1 interval 30
Applying: ospf 1
Applying: undo isolate enable
Waiting 120 seconds to generate a snapshot.
Generated a snapshot: after_maintenance.
Changed to normal mode successfully.
# 在Device A上验证GIR配置,确认模式切换成功。
[Device A] display gir system-mode
System Mode: Normal
Revert-delay time: 0min
Maintenance-delay time: 120s
Snapshot-delay time: 120s
# 在Device A上确认流量已经切换完成。
[Device A] display counters rate inbound interface
Usage: Bandwidth utilization in percentage
Interface Usage (%) Total (pps) Broadcast (pps) Multicast (pps)
HGE1/0/1 100 100 -- --
HGE1/0/2 100 100 -- --
HGE1/0/3 100 100 -- --
Overflow: More than 14 digits.
--: Not supported.
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!