本帖最后由 999的demo 于 2024-6-24 00:39 编辑
高可用性概念 用来解决网络中AF自身的单点故障的问题,两台满足条件的AF组合在一起,实现相互的冗余备份,提高网络的可靠性 老版本高可用部署(AF8.0.48及以下版本) 相关名词解释主线路和辅线路(心跳口) 主线路和辅线路都支持使用链路聚合接口,不过链路聚合接口的模式只支持“主备模式—1条为主,其余为备” 主线路 发送双机的心跳包,协商和建立双机;并同步设备配置、话表等信息 心跳包发送间隔默认为1s一次 辅线路 当主心跳故障后,辅心跳可承接主心跳进行心跳保持的工作 不过配置辅线路时,辅线路不支持配置同步(所以当主线路故障后,还需要立即为辅线路配置同步,否则会有业务风险) -HA的作用(新架构不需要配置-HA了,使用虚拟IP的方式使得两边AF的IP地址为同一网段的不同IP) -HA表示该接口的信息不会被同步(例如接口的IP地址),一般心跳口会配置为-HA 但是-HA不代表一定就是心跳口,有些管理接口也会配置上-HA 主备机——可以理解为数据层面的主备 设备加入到网口监视的业务接口在主机状态下允许进行正常的数据转发,在备机状态不允许进行数据转发 可以理解为VRRP备份组中的主备设备(主机能够进行数据转发,备机不能进行数据转发) 主备控——可以理解为配置层面的主备 主控允许修改设备配置,备控不允许修改设备配置 主机强制绑定为主控,备机强制绑定为备控 主备控配置同步的流程如下 备控向主控主动发起配置更新请求(10秒一次,发送需要同步配置文件的MD5到主控) 主控收到备控请求后,向备控同步当前的配置(比对有MD5差异的文件,把有差异的文件同步给备控) 双机配置同步原理 初次双机同步到的配置同步是批量同步 双机组建完成之后修改设备配置,自动同步配置是增量同步,手动同步配置是批量同步 网口监视 作用:实现双机切换、抑制备机的接口发包 网口监视有组的概念,同组中所有接口检测故障即判定该组故障;任意一组故障,即双机发生切换(即 eth2和eth1为同一组,只有该组的两个接口都故障后才会切换为eth3组) 双机切换 网口监视是双机切换条件之一,通过对接口物理状态进行检测的结果判定 如果网络监视的接口出现ifconfig down、网线脱落、协商失败等物理故障,则本端会在组播包发送prio=0(优先级为0),通知对端设备变为主机(理论上可以实现无延时切换) 抑制备机的接口发包 备机状态下,添加到网口监视中的接口,处于发包抑制状态,无法发送任何数据包 因此建议所有配置了业务的接口,都必须添加到网口监视中,否则双机配置同步后,主备机接口IP一致,就会导致网络中的IP冲突 链路监视 作用:实现双机切换 链路监视也有组的概念,同网口监视;通过检测链路连通性来进行双机切换 可以理解链路监视为检测接口的逻辑状态(有些情况下虽然接口的指示灯是亮的,但是接口是无法进行通信的);网口监视检测接口的物理/硬件状态 目前支持ARP、DNS、PING三种检测方法,并且可以任意组合 抢占 抢占指的是如果原主机因故障切换成备机,当原主机故障恢复后,会自动抢占成主机 当开启链路状态检测时,抢占功能不建议打开——会导致主备切换不正常,原因如下 主机网线出现故障,主机状态变成备机或者故障状态之后,网口默认不发包,设备链路检测状态为故障,当线路恢复正常,主机抢占回主状态,这个时候链路状态还未恢复,主机又会恢复成备机或者故障状态,会一直反复来回切换会增加切换频次 而且AF建立双主是要求硬件等参数一致,因此两台设备的性能差距不大,所以抢占也是没有必要的 高可用部署类型以及原理一:高可用的类型主备部署——一般部署在网络出口 基于VRRP协议实现,两台设备只有一台处于工作状态,还有一台处于热备状态。两台设备通过心跳口检测对端是否存在并同步配置及会话等信息,当主设备出现问题触发切换条件时,设备会自动把业务切换到备设备,并且通过会话同步等机制,保证业务不断,从而实现业务稳定的运行 主备部署是基于VRRP协议实现的,不过与VRRP协议又有点不同,两者的区别如下 | | | | 两个路由器的物理接口IP地址不一样,需要配置一个虚拟IP地址 | 两个路由器的物理接口IP地址一样(除了管理口和心跳口),不需要配置虚拟IP地址 | | 需要配置心跳口,进行心跳探测(心跳口就是一个普通网口) | | 根据虚拟组ID来建立主备关系(同一虚拟组的设备之间选主备) | 选举主备的条件:优先级高的为主,接口IP地址大的为主(由于AF的接口IP地址一样,此时是比较心跳接口的IP地址大小) | | 协商都是通过组播224.0.0.18发送(主备发送的是心跳报文) |
应用场景 主要是应用于网络可靠性高、业务连续性强的网络环境,在出现故障时能够快速切换到热备的线路上,保证业务的连续性(常用的是在路由模式、透明模式、虚拟网线模式下部署主备----一般建议部署路由主备)
主主部署——一般部署在网络内部 两台设备均处于工作状态,流量转发到不同的AF来进行数据处理,并通过心跳口同步配置及会话 主主部署包括路由主主和透明/虚拟网线主主,但目前AF版本默认不支持路由主主,使用透明/虚拟网线主主即可(推荐用无VRRP主主) 注意:透明/虚拟网线主主在链路聚合的环境下,需要配置双机聚合功能,防止出现非对称数据转发问题 主主又分为两种部署方式 依靠多个VRRP虚拟组实现的双主(有VRRP双主) 配置多组VRRP,AF设备在不同组担任不同的主备状态来实现主主 该方式不推荐,透明/虚拟网线模式下如果有VRRP双主一般会引导为无VRRP双主(或者可以理解为配置VRRP需要IP地址,但是对于主主来说只支持透明/虚拟网线部署,该部署方式下上下行一般不会配置IP地址,所以也就导致主主不会采用VRRP的方式来实现) 不配置VRRP组来实现双主(无VRRP双主) 不配置VRRP组,只配置双机基本信息和配置同步来实现主主(推荐这种方式) 根据AF的上下联设备把数据引流到不同的AF设备来进行承接 为什么需要双机聚合 在上下联两个设备启用链路聚合的场景下,AF做透明主主模式或者虚拟网线模式主主部署在中间,此时可能会出现请求和回应的数据流经过不同的AF (非对称流量) ,导致来回数据包在AF上的连接跟踪不一致而被AF丢包,而双机聚合功能则可以使非对称流量数据包经过AF时能够正常转发 双机聚合的原理 双机聚合功能开启后,每台AF都会在后台程序自动生成一个是0或者是1的编号,这个编号界面上看不到,所有经过AF的流量都会是经过算法(即根据源/目的IP地址)计算,看计算结果的值是0还是1,从而将对应数据包转发到对应编号的AF上进行转发(比如根据算法算出来的值是0,则从编号为0的AF转发数据) 因此双机聚合主要应用于上下联两个设备都启用链路聚合的场景下 双机聚合的开启条件 1、主主透明/虚拟网线模式下 2、有配置数据链路接口 3、有两个可用的二层口或成对虚拟网线口 主主应用场景 主要应用于对网络可靠性高,业务连续性强的网络环境,两台AF同时在工作 常用于透明/虚拟网线部署情况下VRRP组网环境和链路聚合环境 二:设备建立高可用的条件设备建立可用性的硬件条件 l 网口数量一致 l cpu核心个数、内存大小、磁盘大小需一致 l 设备序列号功能开启且保持一致 l appversion版本信息一致(设备通过升级客户端登录后,按F10看到的版本信息一致) 设备建立可用性的配置条件 l 配置同步的方式要一致 l VRRP虚拟组号的配置要一致 三:高可用注意事项l 双机热备页面中抢占与链路检测不能同时开启 l 不要使用两个成对的bypass接口做双机业务口,避免广播风暴(bypass接口在设备故障之后会直接变为直通状态) l MANAGE口(管理口)可做心跳口,但不能做双机的业务口 l 心跳口在配置时,需要加-HA,而管理口也可以通过加-HA来避免同步 l 加入到网口监视中的接口,如果该设备为备机,则该接口不会发包(即网口监视可以限制备机接口发包) l 主/备机和主/备控没有必然的联系,但是建议主机强制绑定为主控,备机强制绑定为备控(只有同时为主机和主控的设备才能加入到SCP中进行管理) l 网口监视和链路监视实现双机切换都有组的概念,同组中所有接口检测故障即判定该组故障,任意一组故障,即双机发生切换 四:状态切换的原因和时长
切换原因 | | | | 监控网口 down掉,主机发送priority=0的多播包 | | | | | | | | | | 主备部署/双机热备配置基本步骤主机配置双机热备的步骤 配置基础网络配置 配置接口IP地址、安全策略、路由等 配置心跳口和心跳线路-使用-HA 选择一个非业务口做心跳口并配置IP地址,地址后面加-HA 心跳接口配置完毕后配置心跳线路(主/辅线路) 启用双机热备 开启VRRP组配置功能 配置虚拟组 设置VRRP的组号,同组建立主备关系 配置优先级 优先级高的为主机 抢占 开启抢占后,优先级高的设备故障恢复后,可抢占为主机(一般不配置) 心跳时间 发送心跳探测的时间间隔,默认1s(选举主备、配置同步等) 网口监视 监视网口的物理状态,同组接口全部故障就发生切换 接口链路故障 监视接口的协议状态,需要在接口下开启链路故障检测,然后在此处调用(新版AF可以直接配置链路故障检测) 状态 查看当前设备的主备状态(检查设备配置是否正确) 主备切换 7.3及其以上版本,可以直接在此处手动把主机切换为备机 主机进行配置同步的配置
启用同步 开启双机配置同步功能(需要完成双机热备基础配置) 选择自动同步要同步的对象(内容) 自动同步是指 把配置的变动自动同步到对端设备,两端会相互同步(但是在7.3及其之后的版本,加入了主/备控的概念,只有主控角色会将配置同步到备控角色) 同步的对象有:用户认证信息、配置信息、会话表,后续新增OSPF路由信息 配置同步角色(同步角色也就是 主/备控) 7.3及其之后的版本加入的概念,只有主控才回将信息同步给备控 主/备控和主/备机没有关系,主/备控可以随时更改 进行手动同步 手动把当前的配置同步给对端 进行手动同步前需要移除自动同步选择的同步对象并保存 查看同步报告 查看当前同步是否完成(如果没有完成,造成的原因是什么) 备机进行双机热备和配置同步的配置 为了简化配置,备机可以只配置以下信息,剩余配置通过主机来同步 配置心跳口-使用-HA、配置心跳线(主线路) 启用双机热备(虚拟组、优先级、网口监视、接口链路监视等) 配置同步(建议同步角色手动改为备控) 此时可以查看双机状态,并检查备机是否配置同步 主主部署配置基本步骤一:无VRRP主主部署的步骤(无双机聚合)配置基础网络配置 配置接口、安全策略等 配置心跳口和心跳线路-使用-HA 选择一个非业务口做心跳口并配置IP地址,地址后面加-HA 心跳接口配置完毕后配置心跳线路(主/辅线路) 启用配置同步(同主备) 配置同步对象、同步角色 不需要启用双机热备(VRRP组) 二:无VRRP主主部署的步骤(双机聚合场景)配置基础网络配置 配置接口、安全策略等 配置心跳口和心跳线路-使用-HA 选择一个非业务口做心跳口并配置IP地址,地址后面加-HA 心跳接口配置完毕后配置心跳线路(主/辅线路) 启用配置同步 同主主部署,配置同步对象、同步角色 不需要启用双机热备(VRRP组) 配置双机聚合 选择本机和对端一个路由口作为数据同步口,并设置内外网区域的接口 其它模式下,数据同步口和心跳口为同一接口 配置接口联动 将上下联接口进行联动
新版高可用部署(AF8.0.51及以上版本) 新版名词概述控制链路(也就是老版的主线路) 控制链路负责传递双机心跳报文,同步配置信息;其中包含本端双机配置、本端双机状态等信息,两端通过控制链路进行协商主备机,并将主机的配置同步到备机 控制链路负责监控双机状态;默认每100ms发送一次Hello报文,连续9次没有收到Hello报文则认为对端设备发生故障(老版的心跳报文1s发一次) 数据链路(同之前的数据同步口-也有辅线路的功能) 负责同步会话等数据,在新版中数据链路为选填项,如果不配置数据链路,控制链路会代替数据链路工作,即通过控制链路来进行会话同步(但是在双机聚合场景必须配置) 控制链路故障时,数据链路也会承担心跳报文传输 接口监视组(同之前的网口监视) 作用于网口监视类似,都是监视接口的物理状态来实现双机切换 监视方式有两种 同时满足:当接口监视组引用的全部接口对象都处于“故障”状态时接口监视组进入“故障状态(可以理解为网口监视的组) 任一满足:当接口监视组引用的任一接口对象处于“故障”状态时接口监视组进入“故障状态” 组0和组1 一个组代表一套双机(这个两个组其实就是VRRP的两个虚拟组) 在主备模式中的配置里只能看到组0 因为主备模式只有一套双机 在主主模式中的配置中有组0和组1(就是老版本的有VRRP主主模式) 因为主主模式有两套双机,需要两台设备分别作为主机去承担业务;其中组0中一台设备作为主机,另一台设备作为备机;组1中一台设备作为主机,另一台设备作为备机 但是目前路由模式还不支持主主模式部署,主主部署只有透明/虚拟网线模式支持,一般关于主主透明模式会配置无VRRP主主 实IP 如果一个IP只在一台设备上攻击,不需要同步到另一台设备,则这个IP就称为实IP 实MAC 接口的网卡MAC地址,就是这个接口的实MAC 对于双机中同一个接口,因为使用了不同网卡,实MAC地址是不同的 当双机发生主备切换时,新主机会向上下游设备发送免费ARP报文,通知自己业务IP的MAC地址;此时如果使用网卡的MAC地址,主备机的同接口网卡MAC地址不同,上下游设备会修改对应的MAC值 虚IP 如果一个IP需要在主备机中同步,且承担双机的业务流量,那么这个IP被称为虚IP(虚拟IP可以和接口IP是不同网段的) 相比于实IP,虚IP会从主机同步到备机,只在主机下发,备机不下发;当主备发生切换时,新主机会下发虚IP,新备机会取消下发虚IP 虚MAC 虚MAC是双机内置的虚拟MAC地址,对于主备机来说,相同的虚IP使用相同的虚MAC相比于实MAC,使用虚MAC的好处在于,当主备机发生切换时,虚IP的MAC地址对于上下游来说没有发生变化 同步角色(同老版本同步角色) 有主控和备控两种角色,不同的高可用部署模式,同步角色的选举方式不同 主备非镜像模式:主机永远是主控,备机永远是备控;主备控不可手动切换 主备镜像模式:主机永远是主控,备机永远是备控;主备控不可手动切换 双主路由模式:组0为主机的设备是主控,组0为备机的设备是备控;主备控不可手动切换 双主透明模式:可以手动随意切换主备控 自动同步对象(同老版的自动同步对象,只是可选对象变少了) 目前可选的同步对象只有会话表 关于会话同步中存在的父子链接,先同步父链接,再同步子链接(如FTP的控制链接和数据链接) 会话同步由数据链路同步,如果没有配置数据同步口,则由控制链路负责同步 同步方式 实时同步:session发生增删改操作时会触发会话同步 手动同步:控制台触发 定时同步:定时触发双机同步 全同步:双机发生切换时批量同步期间不允许再次主备切换,如果某一项同步失败,立即停止同步 不会同步的会话 本机session不会同步 ICMP不会同步 接口down引起会话删除时不同步 配置信息同步 配置信息使用TCP同步保证可靠性,会话同步通过UDP传输 高可用部署方式 一:主备模式主备模式又分为主备镜像模式和主备非镜像模式 主备非镜像模式——通过虚拟IP和虚拟MAC实现 主备非镜像模式下,只有主机承担业务流量,备机不承担 主机会下发承担业务流量的虚IP,备机不下发;当主机发生故障时,触发主备切换,新主机会下发虚IP,新备机取消下发虚IP,实现双机切换无感知 在这个模式中,主机作为配置同步角色的主控,在主机中的配置会同步到备机,在备机中无法编辑配置 在主备非镜像模式中,只有配置了虚IP的接口会同步到备机,未配置虚IP的接口不会有IP、MAC等的同步 主备镜像模式——通过实IP和实MAC实现 就是老版本的主备模式 在主备镜像模式中,AF使用实IP替代虚IP 除带外管理口、控制链路、数据链路外,所有的接口都会同步到备机(需要加-HA),两台设备像镜像一样,甚至MAC地址都是一致的 二:主主模式主主模式分为主主透明模式和主主路由模式(目前不支持主主路由模式) 主主透明模式——同老版无VRRP主主模式(支持透明模式和虚拟网线模式) 在此模式下,上下游设备如果是聚合口,且存在来回路径不一致数据(非对称流量),则需要开启双机聚合功能(双机聚合只支持虚拟网线模式) 一般配置无VRRP主主模式 双机聚合(同老版本的双机聚合) 用于AF透虚拟网线模式主主部署模式下,AF上下联设备做了链路聚合,数据包存在来回路径不一致的场景(不支持透明二层模式) HA Traffic——非链路聚合情况下 用于上下游设备为路由设备(上下行链路没有做链路聚合),AF做透明/虚拟网线双主情况下存在来回路径不一致的场景;该场景下需要开启此功能,其它场景不需要开启此功能 HA Teaffic和双机聚合关系 如果上下行链路非链路聚合(可以是路由主主、透明/虚拟网线主主部署),而是不同路由口的场景下,需要开启HA Traffic功能,并且如果本机是在透明/虚拟网线模式下则还需要再开启双机聚合功能 如果上下行链路为链路聚合口(必须透明/虚拟网线主主),则需要开启双机聚合功能,不需要开启HA Traffic功能 HA Traffic的工作原理 开启此功能后,AF将业务口收到的所有数据包以hash分配方式决定是否通过同步口发送到对端设备进行数据包处理(保证同一条流得到的所有数据包都能在同一台设备进行安全检测,解决数据非对称转发中出现的网络不通和安全检测失效问题) 对端设备安全检测完成后,再将数据包通过同步口发回来,在本端做数据转发,避免了下游设备路由口因数据包目的MAC地址非本机而丢包,从而导致网络不通
主主路由模式——目前不支持 高可用工作原理主备协商 1.两台AF配置控制链路和数据链路后,会通过控制链路发送HELLO报文,通过双机协商协议,决定谁成为主机、谁成为备机 2.双机协商结束后,主机端会将配置(业务配置、网络配置等)通过控制链路同步给备机 3.在主机进行的配置会同步到备机(在备机不允许下发配置) 4.后续主机会将会话等信息通过数据链路同步给备机 高可用 高可用状态切换原理 双机切换的具体比较过程 如果不开启抢占开关,双机是否切换取决于设备故障值;谁的故障值小,谁是主机;如果故障值相同,主机始终保持主机状态不发生变化 如果开启抢占开关,双机是否切换取决于实时优先级;谁的实时优先级大,谁是主机;如果实时优先级一致,则会比较控制链路IP,谁的控制链路IP大谁是主机 相关术语的描述 设备故障值和监控项故障值 设备故障,接口监控和链路检测监控这些监控项都有内置故障值, 其中接口监控和链路检测监控的故障值可以编辑,默认255;设备故障值不可编辑,默认为0 当任意监控项发生故障时,设备故障值会增加相应的监控项故障值,即如果某个监控项发生故障,那么设备故障值从0上升到255 抢占切换时延——默认300s 开启抢占后,为了避免双机频繁切换,用户可以设置抢占切换延时(即 当发生抢占时,等待抢占延时过后再进行抢占) 如果同时配置了抢占切换延时和切换冷却时间,则以冷却结束时间较大的为准 实时优先级 实时优先级=配置优先级(配置的优先级)-设备故障值 状态切换的原因和时长 同老版 主备部署/双机热备配置基本步骤主机配置控制链路,根据需求配置数据链路 配置接口基本信息 主机启用双机热备 高可用部署方式、是否镜像、选择控制链路和数据链路等配置 主机配置优先级,根据需求选择是否配置虚拟IP 如果配置了主备镜像,则不需要配置虚拟IP 如果配置了主备非镜像,则需要配置虚拟IP 主机设置接口监视,并关联 选择需要监视的业务口 进行同步配置 配置同步对象、同步角色等 对备机进行对应配置即可完成双机主备组建 注意:备机组0优先级要比主机优先级低 二:透明主主模式配置(链路聚合场景)主控配置控制链路 需要在高级设置下开启巨帧 主控配置数据链路 需要在高级设置下开启巨帧 主控配置接口联动 主控启用双机热备 勾选透明模式 如上下游口非链路聚合而是不同的路由口,则需开启HA Traffic功能 主控配置双机聚合 配置同步 对备机进行对应配置即可完成双主组建 三:部署注意事项l 数据链路在非对称流量场景下需要开启接口巨帧功能,因为报文从一台AF设备通过控制链路接口发送到另一台AF设备时,需要在原来报文的基础上继续封装二三四层头以及HA头和Zmode信息,可能大于MTU值从而引起报文分片重组,影响性能,开启对应接口处巨帧功能后,就不存在报文分片重组的情况 l 上下联设备做链路聚合,建议是用LACP进行聚合,聚合口转发算法要改为源目IP(默认是源目mac),否则有概率出现所有流量都是非对称的场景,影响AF转发性能 l 控制链路如果有使用聚合接口,聚合模式建议使用负载均衡-RR l 双机聚合场景下数据链路接口如果有使用聚合接口,聚合模式建议使用LACP,HASH策略为-基于源IP和目的IP以及源端口和目的端口 l 在主备镜像模式和主备非镜像模式中推荐使用主备镜像模式,能够更快速的进行主备切换,实现双机切换不丢包 |