Failover特性是Cisco安全产品高可用性的一个解决方案,目的是为了提供不间断的服务,需要两台完全一样的设备,通过一个连接,连接到对方(这个连接也叫心跳线)。该技术用到的两台设备分为 主用和备用,备用处于待机状态。当主用设备故障后,备用设备可启用,并设置为主用,运行自主用设备复制过来的配置(配置是跟随主用设备移动的)。
Failover配置要求两个进行Failover的设备通过专用的failover线缆和可选的Stateful Failover线缆互相连接;活动设备的接口被monitor,用于发现是否要进行Failover切换;
Failover分为failover和Stateful Failover,即故障切换和带状态的故障切换;
不带状态的failover在进行切换的时候,所有活动的连接信息都会丢失,所有Client都需要重新建立连接信息,那么这会导致流量的间断;
带状态的failover,主设备将配置信息拷贝给备用设备的同时,也会把自己的连接状态信息拷贝给备用设备,那么当主的设备down的时候,由于备用设备上保存有连接信息,因此Client不需要重新建立连接,那么也就不会导致流量的中断;
Failover link
两个failover设备频繁的在failover link上进行通信,进而检测对等体的状态。以下信息是通过failover link通信的信息:
设备状态(active or standby);
电源状态(只用于基于线缆的failover;)
Hello messages (keep-alives);
Network link 状态;
MAC地址交换;
配置的复制和同步;
Note :所有通过failover 和 stateful failover线缆的信息都是以明文传送的,除非你使用failover key来对信息进行加密;
在stateful link上,拷贝给备用设备的连接状态信息有:
NAT 转换表;
TCP连接状态;
UDP连接状态;
ARP表
2层转发表(运行在透明模式的时候)
HTTP连接状态信息(如果启用了HTTP复制)
ISAKMP和IPSec SA表
GTP PDP连接数据库
以下信息不会拷贝给备用设备:
HTTP连接状态信息(除非启用了HTTP复制)
用户认证表(uauth)
路由表
DHCP服务器地址租期
Active/Standby Failover(A/S)中,一个设备为活动设备,转发流量,另一个设备作为备份,当主设备down的时候,备份设备开始接管流量;备用设备接管以后,会继承主IP地址和MAC地址,继续转发流量。
Failover设备之间,主要的不同就是角色问题,即哪个设备为active哪个设备为standby,同时也决定了哪个IP地址以及哪个设备转发流量;
如果两个设备同时启动,那么配置为primary的设备为active;
Primary设备的MAC地址总是和active IP地址绑定在一起。唯一的例外就是当standby设备变为active后,不能够通过failover link上获得primary设备的MAC地址,那么这时候就使用secondary设备的MAC地址。
设备的初始化和配置同步:
当Failover设备启动的时候,配置才会同步,配置信息总是从active同步到standby设备;当standby设备完成初始化以后,它就清除自己的running configure(除了failover命令以外,因为这些命令需要和active进行failover通信);
Active设备是根据以下情况决定的:
设备启动后,如果检测到对等体已经存在为active,那么它自己将为standby;
如果没有检测到对等体存在,那么它将成为active;
如果设备同时启动,那么根据配置中指定的primary和secondary来决定设备的角色是active还是standby;
假设A被指定为primary,B被指定为secondary;当B启动后,没有检测到A的存在,那么B将为Active,它使用自己的MAC地址和active IP做绑定。然而,当primary启动可用后,secondary设备将会用primary设备的MAC地址和active IP绑定,这可能会导致流量的中断;避免方法是可以配置failover 虚拟MAC地址。
Failover的触发:
1.设备发生硬件失败或电源故障;
2.设备出现软件失败;
3.太多的monitored接口fail;
4. No failover active命令在active设备上被输入或在standby设备上输入failover active命令。
文章节选自:https://blog.51cto.com/72297/572044
助教:马季