01-HA配置指导
本章节下载: 01-HA配置指导 (478.50 KB)
HA是High Availability缩写,即高可用性,可防止网络中由于单个网关产品的设备故障或链路故障导致网络中断,保证网络服务的连续性和安全强度。
随着网络的快速普及和应用的日益深入,各种增值业务(如IPTV、视频会议等)得到了广泛部署,网络中断可能影响大量业务、造成重大损失。因此,作为业务承载主体的基础网络,其可靠性日益成为受关注的焦点。
在实际网络中,总避免不了各种非技术因素造成的网络故障和服务中断。因此,提高系统容错能力、提高故障恢复速度、降低故障对业务的影响,是提高系统可靠性的有效途径。
本产品通过双机热备来实现HA。
进行HA的两台设备,要求为同一个硬件型号。并且选择同样的接口作为HA接口。这两台设备之间通过HA接口直连,HA接口可以是任何以太网接口,也可以是AGG接口(聚合接口)。
目前产品支持两台网关设备以主-备模式或者主-主模式运行。
主备模式是指实现HA的两台设备中,一台作为主设备,另外一台作为备设备。主设备在进行业务的同时,将相关的配置和数据信息实时同步到备设备。当主设备出现故障或主设备的链路中断时,备用设备成为主设备,接管原主设备的工作,实现网络业务的无缝切换。如图1-1所示。
在主备模式下,主设备响应各类报文请求,并且转发网络流量;备用设备不响应报文请求,也不转发网络流量。主备设备之间通过HA心跳线同步状态信息,配置信息以及特征库文件。
主备模式支持路由模式和透明模式。
· 路由模式:设备接口配置IP地址,通过路由转发数据,上下游设备的接口IP地址处于不用网段。
· 透明模式:设备接口配置加入桥中,只有桥接口配置IP地址,通过桥转发数据,上下游设备的接口IP地址处于同一网段,不知道ACG设备的存在。
HA主备的工作状态主要有两种,主模式和备模式。
· 主模式是指在设备HA主备模式中,实际参与工作。
· 备模式是指设备是指在HA主备模式中,作为主设备备份,不参与实际工作。只有当主设备失效,才转换为主设备,接替其工作。
HA中,主要有两种接口概念。
· HA接口:连接两台HA设备的接口,不参与报文的转发,只用于HA设备直接心跳报文和同步报文发送。
· 监控接口:HA必须重点关注的设备接口,如果此接口状态为down,表明网络状态发生故障,需要切换主备设备来修复故障。
· 非抢占方式:如果备份组中的路由器工作在非抢占方式下,则只要主路由器没有出现故障,备设备不会主动成为主设备。
· 抢占模式:抢占模式时指用户可以根据需要,指定某一台设备优选为主设备或者为备设备。如果配置优选为主设备的设备工作正常,即使当前设备为备状态,也要“抢占”成主设备。
HA的两台设备抢占模式必须匹配,或者全部配置成非抢占模式,或者一个配置成抢占为主,一个配置成抢占为备。否则HA无法正确协商。
为了避免HA设备频繁进行主备状态转换,备设备在网络状态恢复为正常状态后,也不会马上抢占为主,而是在流表等信息同步完成后,等待一定时间。只有在这时间内,设备依然正常,才会通知备设备,抢占成主。
HA设备之间用来相互通告设备的HA配置和HA状态的报文。如果一个设备在规定时间没有收到邻居心跳报文,可以认定HA邻居已经失效。
处于备状态的HA设备不会参与网络转发,因此无法通过其接口配置的IP地址访问。为了解决这一问题,可以在设备上配置管理地址,用作备设备的网络管理。用户可以从外部访问备设备的telnet服务和web管理界面。
HA作为热备份,为了在状态切换的过程中,尽量减小对网络的影响。HA会将主设备上的一些实时的状态同步给备设备。同步的内容主要包括三种:session信息,设备配置,特征库。
· Session信息:包括设备连接表、fdb、用户信息、PKI。
· 设备配置:同步的设备配置中不包含HA配置信息,以及一些特殊的配置。
· 特征库:特征库包括IPS特征库,AV特征库,APP特征库以及URL特征库。
· 在配置模式下,本章节中介绍的HA命令不会被同步。
· 用户模式下,只有save config会被同步给备设备。
· hostname命令不会被同步。
· shutdown和no shutdown命令不会被同步。
· 配置模式下,以do开始的命令不会被同步。
· 当设备启用HA主备模式后,设备进入init(初始化状态)。在这个状态,设备不参与报文转发,只接受对端HA设备的keepalive报文。如果收到了主设备发出的keepalive报文,设备会进入备状态。如果没有收到keepalive报文,设备会进入主状态。
· 如果设备成为主状态后,会向外发送免费arp报文,用来更新上下游设备的arp表(工作在路由模式),或者向外发送特殊的报文刷新上下游交换机的fdb信息(工作在桥模式)。
· 如果设备成为备设备,设备会清除自己的fdb表(如果工作在桥模式),并且向主设备请求状态信息。
· 如果设备工作在桥模式,为了防止形成环路,在刚刚成为主设备的一秒内,桥不转发报文。
· 如果设备工作在桥模式,在成为备设备后,设备会将加入桥的接口关闭打开一次,用来刷新上下游交换机的fdb表。
· 设备刚变成备状态,会从主设备获取配置信息,但是不会立刻加载。如果主备设备的信息不一致。需要重启备设备。
在主主模式下,两台设备都配置成主动,使两台设备同时运行各自的工作,且相互监测对方的情况。当其中一台设备发生故障时,另外一台设备运行其自身的工作并且接管故障设备的工作,以保证整体业务不间断。兼具故障备份和负载均衡。如图1-2所示。
主主模式也支持路由模式和透明模式。
· 路由模式:设备接口配置IP地址,通过路由转发数据,上下游设备的接口IP地址处于不用网段。
· 透明模式:设备接口配置加入桥中,只有桥接口配置IP地址,通过桥转发数据,上下游设备的接口IP地址处于同一网段,不知道ACG设备的存在。
HA主主的工作状态主要有一种,就是主模式。在HA主主中,两台设备都是主模式,且有同时互为对方的备设备。
HA主主的接口类型与HA主备的接口类型相同,主要有两种接口概念。
· HA接口:连接两台HA设备的接口,不参与报文的转发,只用于HA设备直接心跳报文和同步报文发送。
· 监控接口:HA必须重点关注的设备接口,如果此接口状态为down,表明网络状态发生故障,需要切换主备设备来修复故障。
HA主主心跳报文的内容和工作原理与HA主备的一致。
HA主主的核心原理是需要实现会话的同步。但是主主模式的会话同步策略与主备模式不同点主要体现在:
· 主主模式中,半连接必须同步。
· 删除连接机制不同,主备模式中一般备设备不会主动删除连接,删除动作一般是主设备主动同步给备设备的。如果是备设备上的连接超时,需要向主设备发送删除查询,判断是否可以删除。但是在主主模式中不同,主主模式在任何一台设备上均可以删除连接。所以连接同步策略如下:
a. 非超时情况,直接删除并且向对端通知。
b. 超时情况,需要向对端设备查询是否可以删除。
c. 同步过来的会话的超时时间和本地创建的超时时间相同。
d. 清除会话动作会同步给对端,两边设备的会话都会被清除。
e. Expect信息也会同步。
f. 认证用户也会同步。
表1-1 HA配置任务简介
配置任务 |
说明 |
详细配置 |
配置HA工作模式 |
必选 |
|
配置HA接口 |
必选 |
|
配置监控接口 |
可选 |
|
配置抢占模式 |
可选 |
|
配置心跳报文 |
可选 |
|
手动切换主备状态 |
可选 |
|
暂停模式 |
可选 |
|
配置自动同步 |
可选 |
|
手动同步配置 |
可选 |
|
手动同步特征库 |
可选 |
|
配置管理地址 |
可选 |
按表1-2所示步骤配置启用HA主备模式:
表1-2 配置HA工作模式
命令 |
说明 |
|
进入配置视图 |
system-view |
— |
进入HA配置视图 |
ha-config |
— |
配置启用HA主备模式 |
enable backup-master |
二选一 |
配置启用HA主主模式 |
enable master-master |
按表1-3所示步骤配置HA接口:
表1-3 配置HA接口:
操作 |
命令 |
说明 |
进入配置视图 |
system-view |
— |
进入HA配置视图 |
ha-config |
— |
配置HA接口 |
hainterface interface-name |
必选 |
· 要配置的接口,必须是物理接口和聚合接口。
· 接口不能和其它功能一起使用,比如不能加入桥,加入聚合,配置NAT。
· 接口配置成HA接口后,接口上的有关于地址的配置都会被删除。
按表1-4所示步骤配置监控接口:
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
— |
进入HA视图 |
ha-config |
— |
配置HA接口 |
monitor interface-name |
可选 缺省情况下,没有监控接口 |
· 要配置成监控接口的接口,一般应是网络中重要的接口,比如通往Internet的接口。如果此接口的状态发生改变。表明网络中发生重大故障,需要启用备设备,主备设备会立刻切换。
· 如果主设备和备设备的监控接口都发生故障,表明此时网络发生严重错误,此时主备切换也无法修复错误,所以主备不会发生切换。
配置抢占为主的设备,如果处于备状态下,设备的工作状态正常,并且持续了一段时间,则会从备状态变成主状态。对端设备从主状态变成备状态。
按表1-5所示步骤配置抢占模式:
操作 |
命令 |
说明 |
进入配置视图 |
system-view |
— |
进入HA配置视图 |
ha-config |
— |
配置抢占主模式 |
preempt { master|backup }[pereempt-delay-time ] |
可选,仅HA主备模式下生效 缺省情况下,不启用抢占模式。如果配置抢占模式,但是没有配置抢占时间,缺省抢占时间为3秒 |
· 抢占模式必须在主设备和备设备上分别配置。一台设备配置为抢占主,一台配置为抢占备。否则HA无法协商。
· 主设备和备设备的抢占延时可以不同,如果抢占延时不同,实际抢占延时是主设备和备设备抢占延时的最大值。
· 在没有配置session同步的情况下,如果所有监控接口回复正常,立刻开始抢占延时计时。
· 如果配置了session同步,需要在session批量同步完成和所有监控接口回复正常后,才开始计时。
按表1-6所示步骤配置心跳报文:
操作 |
命令 |
说明 |
进入配置视图 |
system-view |
— |
进入HA配置视图 |
ha-config |
— |
配置心跳报文 |
keepalive keepalive-interval retry retry-time |
可选 缺省情况下,报文间隔时间为200毫秒,重试次数为5次 |
主备设备的心跳间隔时间可以不一致。在不一致的情况下,设备发送心跳报文的间隔时间为两端间隔时间的最小值。
在某种情况下,用户希望倒换两台设备的HA主备状态,通过命令手动切换HA主备状态。配置命令后主设备主动从主状态切换成为备状态,并且通知对端设备从备状态变成主状态。
按表1-7步骤手动切换主备状态:
表1-7 配置1.9 手动切换主备状态
操作 |
命令 |
说明 |
进入配置视图 |
system-view |
— |
进入HA配置视图 |
ha-config |
— |
手动切换主备状态 |
swap |
可选 命令必须在主设备上使用 |
· 配置了抢占模式的HA设备无法手动切换HA状态。
· 如果备设备网络状态错误,则无法切换。
· 如果设备配置了暂停模式,使用swap命令后,HA设备将切换主备状态,并且退出暂停模式。
· swap命令无法保存。
在某种情况下,用户希望改变网络拓扑,但是又不能切换主备状态。比如需要更换心跳线。在这种情况下,用户设备进入暂停模式。进入暂停模式的设备不会响应邻居丢失,不再响应A接口down动作,在没有手工切换HA状态的情况下将不再进行HA状态转换。
按表1-8配置暂停模式:
操作 |
命令 |
说明 |
进入配置视图 |
system-view |
— |
进入HA配置视图 |
ha-config |
— |
进入暂停模式 |
standby |
可选 |
· 在一台设备上配置standby,HA邻居也会进入暂停模式。
· 在一台设备配置nostandby,HA邻居也会退出暂停模式。
· 如果在standby状态下配置swap命令,将退出暂停模式,并且切换HA状态。
· standby命令无法保存。
按表1-9步骤配置自动同步:
操作 |
命令 |
说明 |
进入配置视图 |
system-view |
— |
进入HA配置视图 |
ha-config |
— |
配置自动同步 |
auto_sync { config|session|lib) |
可选 缺省情况下,不自动同步 |
· 自动同步配置在主设备上可以了,备设备的自动同步配置会根据主的配置而改变。
· 在配置模式下,本章节中介绍的HA命令不会被同步。
· 特权模式下,只有save config会被同步给备设备。
· hostname命令不会被同步。
· shutdown和no shutdown不会被同步。
· 配置模式下,以do开始的命令不会被同步。
· 设备开始使用配置同步时,最好使用一台除了HA配置没有其它配置的设备,防止同步过来的配置和原有配置有冲突。
· 设备刚变成备状态,会从主设备获取配置信息,但是不会立刻加载。如果主备设备的信息不一致。需要重启备设备。
· 配置抢占模式时,如果配置session同步,需要在session批量同步完成和所有监控接口恢复常后,才开始抢占计时。
· 备设备会定期检查主设备上的特征库版本号。如果自己版本较低会从主设备上获取特征库并且升级。如果主设备上升级特征库,会主动同步给备设备。
在某些情况下,比如备设备刚刚上线。备设备和主设备的配置不相同。需要通过命令先手动同步配置。
按表1-10步骤手动同步配置:
操作 |
命令 |
说明 |
手动同步配置 |
syncconfig |
可选 |
· 手动同步配置后,会自动重启备设备,重新加载备设备的驱动。
· HA的相关配置在配置同步时不会同步。
· 配置自动同步选项不会影响手动同步配置的效果。
备设备会定期检查主设备的特征库版本号。如果自己版本较低会从主设备上获取特征库并且升级。如果主设备上升级特征库,会主动同步给备设备。但是如果没有配置自动同步的话,可以通过命令手动同步特征库。
按表1-2手动同步特征库:
操作 |
命令 |
说明 |
手动同步配置 |
sync lib { app|url|ips|av } |
可选 |
特征库自动选项不会影响手动同步效果。
处于备状态的HA设备不会参与网络转发,因此无法通过接口配置IP地址访问。为了解决这一问题,可以在设备上配置管理地址,用作备设备的网络管理。
按表1-12步骤配置管理地址:
操作 |
命令 |
说明 |
进入配置视图 |
system-view |
— |
进入接口视图 |
interface interface-name |
— |
配置管理地址 |
manage-ip ip-address |
可选 缺省情况下,没有管理地址 |
· 管理地址只能配置在物理接口,桥接口和VLAN子接口。
· 管理地址可以和接口主地址处于同一网段。
· 接口没有配置主地址也可以配置管理地址,但是如果接口的主地址是PPPOE或者DHCP地址,则无法配置管理地址。
· 管理员可以通过管理地址访问备设备的telnet服务和web ui。但是备设备无法通过管理地址主动访问外部地址,除非应用制定了源地址为管理地址(比如指定源地址的ping命令)。
在完成上述配置后,在任意视图下执行display命令可以显示配置后HA的运行情况,通过查看显示信息验证配置的效果。
表1-13 HA显示和维护
操作 |
命令 |
显示配置的信息 |
display running-config ha |
显示HA的状态 |
display ha state |
· 设备A配置为主设备,设备B配置成为备设备。
· 设备A的ge2接口作为HA接口和设备B的ge2接口相连。
· 设备A配置为抢占主模式,设备B配置成抢占备模式。
· 设备A和设备B的keepalive间隔设置为1秒,重试次数为3次。
· 设备A和设备B配置ge0和ge1为监控接口。
· 设备A和设备B配置自动同步session,配置征库。
图1-3 HA主备模式组网图
· 设备A为主设备,设备B为备设备。
· 设备A监控自己的ge0和ge1接口,当ge0或者ge1down后,设备A切换成备状态,设备B切换成主状态。
· 设备B监控设备A的状态,当B收不到A的心跳报文,认为设备A已经失效,设备B变成主状态。
· 当设备A的状态恢复正常后,设备A会抢回自己的主状态。设备A变成主设备,设备B变成备设备。
(1) 配置设备A。
#配置ge2为HA接口。
hostA#system-view
hostA(config)# ha-config
#配置ge2为HA接口。
hostA (ha-config)# hainterface ge2
# 配置ge0和ge1为监控接口。
hostA (ha-config)# monitor ge0
hostA (ha-config)# monitor ge1
# 配置自动同步session,配置特征库。
hostA (ha-config )# auto_sync session
hostA (ha-config )# auto_syncconfig
hostA (ha-config )# auto_sync lib
# 配置心跳报文间隔时间为1秒,重试次数为3次。
hostA (ha-config )# keepalive 1000 retry 3
#配置抢占为主,抢占延时为10秒。
hostA (ha-config )# preempt master 10
#启用HA主备模式。
hostA (ha-config )# enable backup-master
(2) 配置设备B。
hostB(config)# ha-config
#配置ge2为HA接口。
hostB (ha-config)# hainterface ge2
#配置ge0和ge1为监控接口。
hostB (ha-config)# monitor ge0
hostB (ha-config)# monitor ge1
#配置自动同步session,配置,特征库。
hostB (ha-config )# auto_sync session
hostB (ha-config )# auto_syncconfig
hostB (ha-config )# auto_sync lib
#配置心跳报文间隔时间为1秒,重试次数为3次。
hostB (ha-config )# keepalive 1000 retry 3
#配置抢占为备,抢占延时为10秒。
hostB (ha-config )# preempt backup10
#启用HA主备模式
hostB (ha-config )# enable backup-master
(3) 接通设备A和设备B的ge2接口。
(4) 设备A和设备B的配置不相同,手动同步配置。
hostA# sync config
(1) 在设备上使用display ha state验证配置结果。
hostA# display ha state
Keepalive send interval 1000ms config interval 1000ms
Preempt style master delay time 10s config delay time 10s
Local : Hostname=hostA Status=Master Monitor interface status=OK
app lib version : 20140227
url lib version : 20140422
ips lib version : 20140419
av lib version : 20140107
Remote: Hostname=hostB Status=Backup Monitor interface status=OK
app lib version : 20140227
url lib version : 20140422
ips lib version : 20140419
av lib version : 20140107
SYNC state:
App lib sync state: LIB SYNC OK
Url lib sync state: LIB SYNC OK
Ips lib sync state: LIB SYNC OK
Av lib sync state: LIB SYNC OK
hostB# display ha state
Keepalive send interval 1000ms config interval 1000ms
Preempt style backup delay time 10s config delay time 10s
Local : Hostname=hostB Status=Backup Monitor interface status=OK
app lib version : 20140227
url lib version : 20140422
ips lib version : 20140419
av lib version : 20140107
Remote: Hostname=hostA Status=Master Monitor interface status=OK
app lib version : 20140227
url lib version : 20140422
ips lib version : 20140419
av lib version : 20140107
SYNC state:
App lib sync state: LIB SYNC OK
Url lib sync state: LIB SYNC OK
Ips lib sync state: LIB SYNC OK
Av lib sync state: LIB SYNC OK
(2) 待设备B重启后再用display ha state命令验证配置。
hostA# display ha state
Keepalive send interval 1000ms config interval 1000ms
Preempt style master delay time 10s config delay time 10s
Local : Hostname=hostA Status=Master Monitor interface status=OK
app lib version : 20140227
url lib version : 20140422
ips lib version : 20140419
av lib version : 20140107
Remote: Hostname=hostB Status=Backup Monitor interface status=OK
app lib version : 20140227
url lib version : 20140422
ips lib version : 20140419
av lib version : 20140107
SYNC state:
System config sync ok
App lib sync state: LIB SYNC OK
Url lib sync state: LIB SYNC OK
Ips lib sync state: LIB SYNC OK
Av lib sync state: LIB SYNC OK
hostB# display ha state
Keepalive send interval 1000ms config interval 1000ms
Preempt style backup delay time 10s config delay time 10s
Local : Hostname=hostB Status=Backup Monitor interface status=OK
app lib version : 20140227
url lib version : 20140422
ips lib version : 20140419
av lib version : 20140107
Remote: Hostname=hostA Status=Master Monitor interface status=OK
app lib version : 20140227
url lib version : 20140422
ips lib version : 20140419
av lib version : 20140107
SYNC state:
System config sync ok
App lib sync state: LIB SYNC OK
Url lib sync state: LIB SYNC OK
Ips lib sync state: LIB SYNC OK
Av lib sync state: LIB SYNC OK
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!