linux集群系列(4) --- LVS之负载均衡集群 --- 持久连接

一、简介

1.1. lvs的持久连接简介

先说说lvs的持久连接能干什么:无论你选择lvs的何种转发策略,如果你想确定来自某一个客户端的所有连接均返回到同一台Real Server,就需要LVS的持久连接了。经常用于SSL,建立一个SSL连接,需要交换SSL密钥,当启用持久性连接时,只需要做一次验证即可。

显然LVS持久连接的定义也就知道了:某一个周期(时间段)之内,来自于同一个用户的请求,都转向同一个RS。

1.2. 持久连接模板:

当使用LVS持久连接时,分发器使用一个连接跟踪(持久连接模板)使所有来自同一客户端的连接被标记为相同的real server;而当客户端向集群服务器请求连接时,分发器(director)会查看持久连接模板,是否real server已经被标记为这种类型的连接,若没有,director重新为每次连接创建一个正常连接的跟踪记录表(持久连接模板)。

1.3. 持久连接超时:

我们可以在director使用ipvsadm为持久连接模板规定一个具体的时间段,如果记数器归零,而且是激活状态(客户端一直在和real server通信),不管你设置的持久连接时长是多少,记录器将会重置一个默认值2分钟,并开始计数,下降为零后,再开始再一下重置。

1.4. 持久连接类型:

PCC(persistent client connections):持久的客户端连接,也叫做零端口的持久连接;

#ipvsadm -A 192.168.0.10:0 -s rr -p [6000](只需将VIP的端口设为0接口表示所有端口都持久)

PPC(persistent port connections):持久的端口连接;

一个持久端口连接到同一个real server强制所有从客户端计算机的连接为一个特定的目的端口号

# ipvsadm -A 192.168.0.10:80 -s rr -p [6000]

PNMPP(Persistent Netfilter Marked Packet persistence):基于防火墙标记的持久性连接;

这种防火墙标记仅在数据包在分发器上时有影响,数据包一旦离开director,就不再被标记。

把多个目标端口标记为同一个标记mark(1~99),持久后保证可以cookie、session可用。

# ipvsadm -A -f mark -s rr -p [600]

# ipvsadm -a -f mark -r 192.168.10.12 -g

# ipvsadm -a -f mark -r 192.168.10.13 -g

案例示意拓扑:

二、手动配制示例


 2.1. 实验环境:


案例1. 持久的端口连接ppc


director配置:

ipvsadm  -A -t 192.168.2.254:0 -s rr -p

ipvsadm  -a -t 192.168.2.254:0 -t 192.168.2.10 -g  //-g:使用网关直接路由

ipvsadm  -a -t 192.168.2.254:0 -t 192.168.2.10 -g

service ipvsadm save    //保存配置

service ipvsadm start   //启动服务

server1与server2同:

[[email protected] html]# echo 1 >  /proc/sys/net/ipv4/conf/lo/arp_ignore

[[email protected] html]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

[[email protected] html]# echo 1 >  /proc/sys/net/ipv4/conf/all/arp_ignore

[[email protected] html]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

# ifconfig lo:0 192.168.2.254 netmask 255.255.255.255  配置回环接口

# route add -host 192.168.2.254 dev lo:0        添加默认路由

案例2:持久的客户端连接ppc


#ipvsadm -C                 //清除ipvsadm规则表

#ipvsadm -At 192.168.2.254:80 -s rr -p 1800  //80端口

# ipvsadm -at 192.168.2.254:80 -r 192.168.2.20 -g

# ipvsadm -At 192.168.2.254:3306 -s rr -p 1800

# ipvsadm -at 192.168.2.254:3306 -r 192.168.2.10 -g

# ipvsadm -At 192.168.2.254:22 -s rr -p      //22端口,使用默认时间300秒

# ipvsadm -at 192.168.2.254:22 -r 192.168.2.10 -g   //-g:使用网关直接路由

# ipvsadm -At 192.168.2.254:80 -s rr -p

# ipvsadm -at 192.168.2.254:80 -r 192.168.2.20 -g

#service ipvsadm save    //保存配置

#service ipvsadm start    //启动服务

可通过ipvsadm -Ln来查看策略匹配情况,

案例3: ftp持久连接,防火墙标记


#ipvsadm -C     //清除ipvsadm规则表

#iptables -t mangle -A PREROUTING -d 192.168.2.254 -p tcp --dport 21 -j MARK --set-mark 10

#iptables -t mangle -A PREROUTING -d 192.168.2.254 -p tcp --dport 10000:20000 -j MARK --set-mark 10

#ipvsadm -A -f 10 -s rr -p 1800

#ipvsadm -a -f 10 -r 192.168.2.10 -g  //-g:使用网关直接路由

#ipvsadm -a -f 10 -r 192.168.2.20 -g

#service ipvsadm save    //保存配置

#service ipvsadm start    //启动服务

案例4:http与https


#iptables -t mangle -A PREROUTING -d 192.168.2.254 -p tcp --dport 80 -j MARK --set-mark 80

#iptables -t mangle -A PREROUTING -d 192.168.2.254 -p tcp --dport 443 -j MARK --set-mark 80

#ipvsadm -C

# ipvsadm -A -f 80 -s rr -p 300     //修改时间为300秒

# ipvsadm -a -f 80 -r 192.168.2.10 -g  //-g:使用网关直接路由

# ipvsadm -a -f 80 -r 192.168.2.20 -g

#service ipvsadm save                //保存配置

#service ipvsadm start                //启动服务

对于ca的配置略,

---end---

时间: 2024-10-01 07:20:37

linux集群系列(4) --- LVS之负载均衡集群 --- 持久连接的相关文章

linux集群系列(3) --- LVS之负载均衡集群DR实例

一.简介     1.1.  负载均衡集群:LB (load balancing) LVS 是linux virtual server 的简写,即linux的虚拟服务器,是一个虚拟的服务器集群系统.ip负载均衡技术是在负载调度器的实现技术中效率最高的,在已有的ip负载均衡技术中,主要通过网络地址转换(即VS/NAT 技术).由于使用nat技术会使分派器成为瓶颈,所以提出了通过ip隧道实现虚拟服务器(即VS/TUN)和通过直接路由实现虚拟服务器的方法即VS/DR. VS/NAT.VS/TUN和VS

LVS DR 负载均衡集群

LVS DR 负载均衡集群 试验准备:五台主机ABCDE,主机ABCDE均为单网卡,IP地址分别为192.168.10.2,192.168.10.3,192.168.10.4,192.168.10.5,192.168.10.6.主机A作为内网客户端,主机B负载均衡调度器,主机C和主机D作为网站服务器,主机E作为共享存储,均清除防火墙和SELINUX.操作系统均为RHELx86_64,为最小化安装. 主机A操作 #vim /etc/sysconfig/network-scripts/ifcfg-e

RHEL6 搭建LVS/DR 负载均衡集群 案例

搭建LVS/DR 负载均衡集群 案例 实验拓扑图: 操作流程: Director Server :        192.168.4.50 pc50 安装并启用ipvsadm 配置辅助IP地址 创建虚拟服务器,向虚拟服务器中加入节点 Real Server:        192.168.4.51 pc51        192.168.4.52 pc52 配置WEB 服务器 配置辅助IP地址,调整内核参数 Clinet :192.168.4.253 pc253 连接虚拟服务器测试 环境准备:

linux下lvs搭建负载均衡集群

常用开源集群软件有:lvs,keepalived,haproxy,nginx,apache,heartbeat 常用商业集群硬件有:F5,Netscaler,Radware,A10等 一.LVS介绍 LVS是linux virtual server的简写linux虚拟服务器,是一个虚拟的服务器集群系统,可以再unix/linux平台下实现负载均衡集群功能.该项目在1998年5月由章文嵩博士组织成立. LVS的三种工作模式:1.VS/NAT模式(Network address translatio

LVS搭建负载均衡集群

1.集群的概念: 服务器集群就是将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器 2.集群的分类: 高可用集群(HA) 主要用于高可用解决方案的实现,节点间以主备形式,实现容灾:在大型故障的情况下实现快速恢复,快速提供服务 工作方式: 主从方式:主机工作,备机监控 互为主从:两服务器同时在线,一台服务器故障可切换到另一台上.有效的利用服务器资源,但当服务器故障时候,将可能导致服务器负载过大 多台服务器主从:大部分服务器在线使用,小部分监控:若有部分服务器故障,可切换到指定

使用lvs搭建负载均衡集群

有时候,单台服务器的性能可能无法应付大规模的服务请求,且其一旦出现故障,就会造成用户在一段时间内无法访问.通过集群技术,可以在付出较低成本的情况下获得在性能.可靠性.灵活性方面的相对较高的收益. 集群是一组相互独立的.通过网络互联的计算机组,并以单一系统的模式加以管理,或用于分摊负载,或用于增强可靠性,或用于高速计算. 一.集群类型 LB:Load Balancing,负载均衡集群,用于消除单点故障,当一个节点出现故障而无法正常提供服务时,自动.快速地切换到另外的节点上去:常见软件或实现方式有l

Centos7搭建lvs+keepalive负载均衡集群

keepalived简介 keepalived是分布式部署解决系统高可用的软件,结合lvs(LinuxVirtual Server)使用,解决单机宕机的问题. keepalived是一个基于VRRP协议来实现IPVS的高可用的解决方案.对于LVS负载均衡来说,如果前端的调度器direct发生故障,则后端的realserver是无法接受请求并响应的.因此,保证前端direct的高可用性是非常关键的,否则后端的服务器是无法进行服务的.而我们的keepalived就可以用来解决单点故障(如LVS的前端

搭建LVS+Keepalived负载均衡集群

这两天学习了LVS+Keepalived负载均衡的搭建.网上的教程非常多,可是动起手来遇到不少问题. 如今把自己的搭建过程以及遇到的一些问题给分享下. 硬件环境: Macbook 8G内存.250G SSD,双核 软件环境: 因为资源有限.搭建了4个虚拟机. 虚拟机 [[email protected] work]# uname -a Linux rs-1 2.6.18-238.el5 #1 SMP Thu Jan 13 15:51:15 EST 2011 x86_64 x86_64 x86_6

Linux集群:LVS搭建负载均衡集群(二)

一.DR模式LVS搭建 1.准备工作 调度器dir:192.168.242.128 真实服务器rs1:192.168.242.129,网关恢复为之前的原始网关 真实服务器rs2:192.168.242.130,网关恢复为之前的原始网关 VIP:192.168.242.110 2.dir上编写脚本 [[email protected] ~]# vim /usr/local/sbin/lvs_dr.sh #! /bin/bash echo 1 > /proc/sys/net/ipv4/ip_forw