F5负载均衡的配置详解和运行机制

解决方案 »

  1.   

    负载均衡器通常称为四层交换机或七层交换机。四层交换机主要分析IP层及TCP/UDP层,实现四层流量负载均衡。七层交换机除了支持四层负载均衡以外,还有分析应用层的信息,如HTTP协议URI或Cookie信息。一、F5配置步骤:
    1、F5组网规划
    (1)组网拓朴图(具体到网络设备物理端口的分配和连接,服务器网卡的分配与连接)
    (2)IP地址的分配(具体到网络设备和服务器网卡的IP地址的分配)
    (3)F5上业务的VIP、成员池、节点、负载均衡算法、策略保持方法的确定2、F5配置前的准备工作
    (1)版本检查
    f5-portal-1:~# b version
    Kernel:
    BIG-IP Kernel 4.5PTF-07 Build18
    (2)时间检查--如不正确,请到单用户模式下进行修改
    f5-portal-1:~# date
    Thu May 20 15:05:10 CST 2004
    (3)申请license--现场用的F5都需要自己到F5网站上申请license3、F5 的通用配置
    (1)在安全要求允许的情况下,在setup菜单中可以打开telnet及ftp功能,便于以后方便维护
    (2)配置vlan unique_mac选项,此选项是保证F5上不同的vlan 的MAC地址不一样。在缺省情况下,F5的各个vlan的MAC地址是一样的,建议在配置时,把此项统一选择上。可用命令ifconfig –a来较验
    具体是system/Advanced Properties/vlan unique_mac
    (3)配置snat any_ip选项选项,此选项为了保证内网的机器做了snat后,可以对ping的数据流作转换。Ping是第三层的数据包,缺省情况下F5是不对ping的数据包作转换,也就是internal vlan的主机无法ping external vlan的机器。(注意:还可以采用telnet来验证。)
    具体是system/Advanced Properties/snat any_ip4、F5 的初始化配置
    建议在对F5进行初始时都用命令行方式来进行初始化(用Web页面初始化的方式有时会有问题)。登录到命令行上,运行config或setup命令可以进行初始化配置。初次运行时会提示一些license的信息。
    default:~# config5、F5双机切换监控配置(有F5双机时需要)
    (1)在web页面中选择相应的vlan,在arm failsafe选择则可。Timeout为从F5收不到包的时间起,经过多长时间就发生切换。此配置不能同步,需要在F5的主备机上同时配置。每个vlan都可以配置vlan arm failsafe。
    具体在Network下
    (2)在web页面中选择system,在redundant properties中把gateway failsafe选择则可。Router是需要监控的地址。此配置不能同步,需要在F5的主备机上同时配置。一套F5上只能配置一个gateway failsafe
    具体在system/redundant properties/gateway failsafe6、F5 MAC masquerade配置
    Mac Masquerading是F5的Shared IP Address (Floating)的MAC地址,F5如果不配置此项,则shared IP Address的MAC地址与每台F5的vlan self IP Address的MAC地址是一样的。
    一般服务器是以shared IP Address为网关,在两台F5上都配置了Mac Masquerade(相同的MAC地址),这样当F5发生切换后,服务器上shared IP address的MAC不变,保证了业务的不中断
    具体在Network下7、F5的pool配置
    (1)在配置工具Web页面的导航面板中选择“Pools”中的“Pools”标签,点击“ADD”按钮添加服务器池(Pool)。
    (2)在池属性(Pool Properties)中的“Load Balancing Method”表格中选择负载均衡策略,通常采用默认策略:“Round Robin”
    (3)在“Resouces”表格中的“Member Address”文本框输入成员IP地址,在“Service”文本框中输入服务端口,点击“>>”添加到“Current Members”当前成员列表中。
    (4)添加所有组成员,点击“Done”完成配置。
    (5)在“Pools”中的“Pool Name”列选中特定池,然后池属性页面中选择“Persistence”标签。
    (6)在“Persistence Type”表格中选定会话保持类型。点击“Apply”应用配置。8、F5的virtual server配置
    (1)在配置工具Web页面的导航面板中选择“Virtual Servers”中的“Virtual Servers”标签,点击“ADD”按钮添加虚拟服务器。
    (2)在“Add Virtual Server”窗口的“Address”文本框中输入虚拟服务器IP地址,并在“Service”文本框中输入服务端口号或在下拉框中选择现有的服务名称,点击“Next”执行下一步。
    (3)在“Add Virtual Server”窗口的“Configure Basic Properties”页面中点击“Next”执行下一步。 在“Add Virtual Server”窗口的“Select Physical Resources”页面中点击单选按钮“Pool”,并在下拉框中选择虚拟服务器对应的负载均衡池。
    (4)按“Done”完成创建虚拟服务器。9、F5的monitor的配置
    (1)在配置工具Web页面的导航面板中选择“Monitor”中的“Monitors”标签,点击“ADD”按钮添加监控
    (2)根据需要选择相关关联类型:“Node Associations”标签、Node Address Associations”标签、Service Associations”标签。
    (3)被选关联标签中,在“Choose Monitor”表格中选择监控名称,点击“>>”按钮添加到“Monitor Rule”监控规格文本框中。监控规则可以为一条或多条。
    (4)选择监控规则后,在对应节点的“Associate Current Monitor Rule”复选框中选中。如果欲删除监控关联,则选中对应节点的“Delete Existing Assocation”复选框。
    (5)点击“Apply”关联监控10、F5的SNAT配置
    (1)在配置工具Web页面的导航面板中选择“NATs”中的“SNATs”标签,点击“ADD”按钮添加SNAT地址。
    (2)在“Add SNAT”窗口中“Translation Address”的“IP”文本框中输入SNAT IP地址,并在“Origin List”的“Origin Address”文本框中输入节点IP地址或在“Origin VLAN”下拉框中选择VLAN名称,点击“>>”加入“Current List”列表。
    (3)按“Done”完成添加SNAT IP地址。11、F5主备机同步及切换校验
    具体在system/Redundant Properties/synchonize Config...12、业务的校验
    F5主备机切换的校验
    F5主备机业务运行的校验其中1~6是基本配置,7~10业务配置,11~12校验二、F5负载均衡器的维护1、F5节点及应用的检查
    通过“System -> Network Map”页面查看节点及应用状态
    绿色:节点或虚拟服务器为“UP”
    红色:节点或虚拟服务器状态为“Down”
    灰色:节点或虚拟服务器被禁用2、日志的检查
    (1)当天日志:从web上查看logs中的system log、bigip log、monitor log,看日志中是否有异常。
    (2)7天内的日志
    系统日志文件 - /var/log/messages消息, 系统消息
    BIG-IP 日志文件 - /var/log/bigip
    “External” BIG-IP events
    Monitor 日志文件 - /var/log/bigd
    “Internal” BIG-IP Events
    3DNS 日志文件 - /var/log/3dns
    3DNS Information
    用gzcat、more、vi命令打开3、F5流量的检查
    (1)业务上的基本维护主要是在F5上查看F5分发到各节点的connect是否负载均衡,一般不应有数量级的差别
    (2)通过WEB->pool-> pool statistics中查看connection项中的total和current项,不应有明显的数量级的差别
    (3)F5 qkview命令
    执行qkview,执行完成后将输出信息保存在文件“/var/tmp/-tech.out”中,供高级技术支持用
    (4)F5 tcpdump命令
    TCPDUMP是Unix系统常用的报文分析工具,TCPDUMP经常用于故障定位,如会话保持失效、SNAT通信问题等
    tcpdump [ -adeflnNOpqRStvxX ] [ -c count ] [ -F file ]
    [ -i interface ] [ -m module ] [ -r file ]
    [ -s snaplen ] [ -T type ] [ -w file ]
    [ -E algo:secret ] [ expression ]