- 哈喽!大家好今天跟大家分享一下关于F5负载均衡设备HA高可用性能理论典故,关于高可用性F5产品V9---V10版本都是集中于system里操作,至今为止F5产品随着版本升级优化将HA高可用性能功能单独模块提出Device Management(中文意思"设备管理器") 不得不说F5这个功能模块做的属实简洁易懂操作便捷。
我们先来看看HA高可用如何配置流程:
首先我们需要配置互联接口
(这里互联接口并不一定非要占用单独一个物理口,使用业务口同样均可实现作为心跳,但是为了安全考虑建议使用单独物理口互联,因为我们需要对此端口开启22/443端口,否则对端设备查询不到设备信息)
配置好我们的HA互联地址之后可以再使用对端设备Telnet 443与22端口并验证设备端口流量是否可达
[root@F5_BIGIP_LINK_A:Active:In Sync] config # telnet 1.1.1.2 443
Trying 1.1.1.2...
Connected to 1.1.1.2.
Escape character is '^]'.
Connection closed by foreign host.
[root@F5_BIGIP_LINK_A:Active:In Sync] config #
OK! 以上配置完成之后我们可以点击Device Management >>Device>>当前设备名称,在这里我来解释一下当前配置界面 红色标出分别作用与功能:
Device Connectivity>>ConfigSync配置同步这里需要选择指定IP VLAN接口对后续HA热备的配置 更新同步
Device Connectivity>>Failover Network这里其实也很好理解哦,网络故障转移(说白了就是心跳线)添加一根心跳线 小朋友们注意啦:如果咱们HA环境已经部署完成这里不添加心跳线对端主机或者备机是无法获取设备状态信息,由standby设备状态转变active状态,这里原有主机的active状态不发生任何变化。(两台设备均为Active状态)
Device Connectivity>>Mirroring 镜像同步 这里有两个一个是本地镜像另一个是外界辅助镜像,一般我们会使用本地镜像,这个镜像不是我们F5版本镜像文件哦,属于我们客户端请求会话同步至我们的备机,如果不使用会话镜像,主机设备出现故障时在F5高可用机制切换同时客户端已经请求并建立TCP连接会完全断开,需重新由客户端发起请求重亲建立TCP连接,这里就展现出镜像会话同步的一个功能。
以上呐基本就这些,但是还没有结束哈!走跟着我的节奏接着往下看哈,连接配置完成之后,但是我们需要添加的备机设备同样也需要以上配置步骤,上面我们只是建立两台设备之间基本的相互通讯,那么我们接下来建立相互信任关系,我来解释一下哈peer list 是对端设备列表可以添加好多台相互建立信任关系,先来看一下选项关系。
Device IP Address 对端HA IP接口地址。 Administrator Username 设备admin账户用户名。 Administrator Password 设备admin账户密码。填写完整后我们点击Retrieve Device Informationl来检索对端设备信息。完成后我们直接添加即可。
当我们完成获取设备信任信息后,这里我们需要新建一个设备组,设备组的类型一定要选择sync-failover 同步与故障转移,随后将我们需要建立故障转移的设备拉至左边小框框哦
下面有三个需要勾选的三个按钮一次分别是:配置自动同步、保存配置自动同步、完全同步(注意哈:这个full sync不能同时与自动同步勾选使用),一般不建议勾选自动同步个人爱好吧 哈哈
创建完成之后随后您就会观察到,其中有一台设备状态转变为是standby,在overview里我们可以看到系统默认还存在一个组device_trust_group 仅配置同步类型
还有一点要记住哦!device management >>device group 组名称 failover设置一定要开启哦 (默认是开启) 故障转移间隔时间为0.0秒 简称我们常说的毫秒级别,在这里基本就配置完成了,感谢大家观看哈不要走开,接下来我会抓包看看通过什么样的方式实现呢
F5负载设备TCPDMP抓包实验:
1026端口:F5会使用UDP协议探测发送对端设备信息验证对端设备状态使用端口为 UDP协议 1026默认 (1029端口为默认端口,更改方式:Device Management>>Devices >>failover unicast address setting)不建议修改。
4353端口: big3d进程F5产品独立配置同步 iQuery协议端口,通过抓包我们可以清楚的看到,IP:1.1.1.1主机Device同步到 GroupIP:1.1.1.2, 主机设备会使用我们之前关联HA心跳配置同步VLAN地址去进行与对端设备进行TCP三次握手,当主机去发送SYN到对端会生成随机 源端口53272—> 目的端口4353,随后再往下看 TLSv1.2再次进行握手建立信任 (这里我们来讲一哈为什么会使用TLSv1.2安全协议,很好理解哈,因为我们的F5产品设备GUI界面是通过自签名加密的所以我们的F5设备两端必须建立安全协议哦)
1029端口:此端口不固定端口范围 (1029—1049)设为默认,根据官方信息从V11.4.0开始BIG-IP系统为每个流量组维护一个镜像通道,并为创建的每个新流量组或通道增加一个增量类似于递增方式(镜像会话同步)
好了以上为实现对端设备之间相互探测实现故障转移原理,我们看一下下面为探测 业务VLAN 流量与 探测网关POOL池来实现故障切换哦,不要误解下面这个功能模块只是属于Device Management仅只是增加了一个故障切换条件而已
来吧上图!
首先我们先看一下这个图System Trigger Properties下拉框我们可以看到很多选项功能我就不多概括了引起故障后此设备应该如何做出反应,通常我们会选择故障转移
Fail_safe_Gateway这个功能很强大 我们先来看一下选项,首先应该知道pool里面可以针对健康检查、时间、多个节点地址、服务等做出判断流量的可达性,选择我们已经创建好的Gateway pool 这里要选择设备本机或者当前为active设备,如果当我们的pool里可用节点少于我们所定义的可用个数设备将发生重启、或者故障转移,声明一下这个超时时间在pool里健康检查自定义,所谓时间伸缩自如哈哈
Fail-Safe:VLAN 此功能相对比较简单通过探测指定VLAN 流量来实现触发故障转移,通常超时时间默认为90秒建议修改15秒,随后选择我们所需要的触发事件:重启或故障转移
我们下次抓包看看探测VLAN与Gateway pool 探测机制是否一样呢