硬件负载均衡原理 (负载均衡硬件搭建教程)

硬件负载均衡配置教程,负载均衡硬件搭建教程

上篇介绍了硬件负载均衡的基本元素、负载策略、以及常用的负载模式。同学们应该没看过瘾,本老狗加班加点,喝掉了几杯枸杞茶,赶制出来了硬件负载均衡的下篇。

言归正传,废话不说,继续介绍硬件负载均衡。

硬件负载均衡配置教程,负载均衡硬件搭建教程

01 Profile 介绍

上篇中介绍的地址池Pool本身只能做负载组的分发,不能实现应用的优化。想要实现加速、压缩、连接复用、会话保持等功能,就需要使用profile来做。

Profile用来决定流量如何处理。负载组VS必须至少关联一个profile,即使没有手工关联,LTM也会至少自动关联一个profile,这样才能进行流量的正常处理。

LTM中的Profile类型如下图所示。

硬件负载均衡配置教程,负载均衡硬件搭建教程

接下来介绍几类常用的Profile。

02 Service Profiles

常用的包括HTTP、HTTP Compression 、HTTP acceleration、FTP 、rewrite。

(1).HTTP

HTTP Profile用于处理网页类的请求。

在配置HTTP Profile时,注意选择代理模式。如下图所示。

硬件负载均衡配置教程,负载均衡硬件搭建教程

Reverse为默认模式,即反向代理模式;Explicit,显式模式,即正向代理模式,用于F5作为网关的情形;Transparent,透明模式,F5会把无效的HTTP流转发到一台特定的服务器上,而不是丢弃。

(2).HTTP-Compression

HTTP-Compression Profile用于处理网页类的压缩请求。

在配置HTTP-Compression Profile时,注意选择压缩等级。如下图所示。

硬件负载均衡配置教程,负载均衡硬件搭建教程

1-Least compression (Fasted)代表压缩的不严重,F5性能牺牲的最少

9-Most Compression(Slowest)代表数据压缩到最小,F5处理速度最慢

(3).HTTP-Accleration

HTTP加速用于处理网页类的加速请求。需要开启web cache。

Web cache是F5对B/S架构的一种优化方式。客户端访问后台的图片时,F5缓存到自己的缓存中。后续访问会加快速度。

(4).FTP

FTP业务要用standard type和FTP profile。

03 Persistence profiles

会话保持Profile,能够根据不同的会话保持策略,将会话保持在同一台或者一组服务器上。基本原理如下图所示.

硬件负载均衡配置教程,负载均衡硬件搭建教程

常用的会话保持方式包括:源地址会话保持、哈希会话保持、Cookie会话保持。

源地址会话保持:对于从同一源地址收到的请求,都会发往同一台服务器。

哈希会话保持:将一个连接中的源 IP 和目的 IP 地址进行 Hash 计算。根据计算得到的结果并根据后台存在多少台服务器来选择将请求分配到那台服务器。

Cookie会话保持:当客户端进行第一次请求时,客户HTTP请求(不带 cookie)进入 LTM。LTM根据负载均衡算法策略选择后端一台服务器,后台服务器进行HTTP回复cookie并发回LTM,再发回到客户端。当客户端请求再次发生时,客户HTTP请求携带有上次服务器写的cookie进入LTM,然后LTM根据cookie里的会话保持数值,将HTTP请求(带有与上面同样的cookie)发到指定的服务器。

04 FastL4 Profile

如果无法判断是TCP还是UDP,可以选择FastL4的Profile。

FastL4 Profile中的部分参数含义如下:

硬件负载均衡配置教程,负载均衡硬件搭建教程

Reset on Timeout:设置tcp连接空闲超时时间,当超过该设置时间,系统发reset并删除该连接。

Idle timeout:设置connection得空闲超时时间,当idle超过该时间connection将被删除。

TCP handshake:连接中,client SYN 和 client ACK之间的idle时间,如果超过该时间,系统将自动关闭该连接。

TCP close timeout:设置LTM系统一旦收到针对某个连接的close包时,删除这个连接前保持的idle时间。

05 Fast HTTP Profiles

快速HTTP Profile,之所以快速该是profile默认开启oneconnect和automap功能。

该Profile下,客户端和LTM三次握手完成,LTM也不会和后台服务器建立连接,除非客户端进行HTTP的request请求。第二台客户端和LTM建立完成TCP三次连接后,LTM直接复用上次和后台的TCP连接(需要在保活期限内)。

Fast HTTP Profile中的部分参数含义如下:

硬件负载均衡配置教程,负载均衡硬件搭建教程

Maximum Pool Size:设置一个负载均衡pool可最大接受connection的数量

Maximum Reuse:设置系统re-use当前connection的最大次数。

Idle Timeout Override:设置在OneConnect中一个连接的空闲时间,超时将删除该连接。该时间优先于Idle Timeout。

06 TCP Profiles

TCP Profile是最基础的Profile之一,也是最常用的Profile。正常使用时,可以直接套用模板,不做参数的修改。

但是TCP Profile参数众多,可以通过修改参数来适用不同的场景。如下图所示。

硬件负载均衡配置教程,负载均衡硬件搭建教程

Idle timeout:设置TCP连接的最大Idle时间,超出该时间将删除该连接。

Reset on Timeout:当会话超过idle timeout值,系统会发送RST重置会话(重置F5到客户端的这侧)

Time wait : 设置TCP连接进入time-wait状态多久后该连接进入close状态。

07 Oneconncet Profiles

Oneconncet Profiles 能够实现连接聚合降低服务器的连接总数。

Onecconnet处理流程如下

(1).当第一个客户端连接到LTM开始发送请求的时候,LTM会以这个客户端的源IP地址和后台服务器建立一个连接,并把客户端的请求转发到服务器。

(2).此时客户端连接和服务器的TCP连接形成了绑定的关系。

(3).当服务器响应了请求之后,由于LTM可以识别HTTP请求,因此当LTM检查到服务器端的回应结束了之后,就拆除了第一个客户端TCP连接和服务器TCP连接之间的对应关系。

(4).即使在客户端关闭连接的情况下,LTM和后台服务器的TCP连接也保持Open的状态。

(5).当下一个客户端和LTM建立连接并发送请求的时候,LTM会在当前和后台服务器之间的TCP连接里面挑选一个空闲的连接,将第二个客户端的请求塞到空闲的连接里面发送到服务器,

(6).这时第二个客户端连接和为第一个客户端建立的服务器连接就形成了新的对应关系。在第二个客户端的请求结束之后,LTM又拆除其对应关系。如果第三个客户端连接和请求到达LTM的时候,第二个客户端的请求并没有结束,也就是当前LTM和后台没有空闲连接的时候,LTM 就会和服务器端再建立一个新的TCP连接,传送第三个客户端的请求到服务器。

(7).这样当客户端不停的建立连接,拆除连接的时候,LTM始终可以保持较少的后台服务器连接。 LTM在这里面完成的工作主要就是根据请求结束和新的用户请求到达的时刻点,来切换连接的不同连接对应关系。

Oneconnect Profile中的部分参数含义如下:

硬件负载均衡配置教程,负载均衡硬件搭建教程

source Prefix length:设置子网掩码管理client对connection reuse情况。

Maximum Size:设置系统在connection re-use pool中允许的最大连接数。

Maximum age:设置一个连接在connection re-use pool的最大存活时间。

Maximum Reuse: 设置一个server端的connection最大re-use的次数。

idle timeout override: 设置一个connection的最大空闲时间。

08 监控检查介绍

负载均衡的主要作用就是将客户端的请求分配到多台服务器上,通过健康检查来判断后台服务器的健康状态,从而进行正确的负载调度。

健康检查包括节点检查(Address check monitors)、服务检查(Service check monitors)、内容检查(Connect check monitors)、交互式经检查(Application check monitors)。

下面做具体介绍。

09 节点检查

(1).ICMP:只能针对nodes进行检查。

(2).Gateway ICMP:只能针对members进行检查。

(3).TCP echo:通过使用TCP echo协议,验证tcp的端口开放情况。

TCP echo的检查方式如下图所示。

硬件负载均衡配置教程,负载均衡硬件搭建教程

10 节点检查

(1).TCP检查:正常的建立TCP连接,并进行TCP连接关闭,验证TCP服务的可用情况。

(2).TCP_half_open检查:只进行TCP连接的前两次会话,然后LTM发送RST报文中断TCP会话,验证TCP服务的可用情况。

(3).UDP检查使用ICMP目的不可达的差错报文(ICMP port unreachable),告知端口不可达。

TCP检查方式如下图所示。

硬件负载均衡配置教程,负载均衡硬件搭建教程

11 内容检查

进行HTTP请求,获取HTTP响应信息,判断服务的健康情况。

内容检查方式如下图所示。

硬件负载均衡配置教程,负载均衡硬件搭建教程

12 交互式检查

交互式检查主要用在FTP中,通过向服务器交互FTP服务的用户名和密码,获取反馈信息,来判断 FTP服务器的健康情况。

交互检查方式如下图所示。

硬件负载均衡配置教程,负载均衡硬件搭建教程

13 总结

通过上下两篇的学习,同学们应该对硬件负载均衡的主要功能有了清晰的认识。老狗这里抛砖引玉,希望能勾起同学们对负载均衡的学习兴趣,更深入的研究相关技术知识。

--喜欢的同学请点击@IT管理局关注哦--

本局精彩文章:

  • 就是让你搞懂硬件负载均衡(上篇)
  • 一文秒懂 TCP/IP实际五层结构(上篇)
  • Wireshark数据包分析三板斧