一步一步搭建LVS-DR模型LB集群(二)

LVS的持久连接:

持久连接即是不考虑LVS的转发方法,确保所有来自同一个用户的连接转发到同一个RealServer上

-p  //表示此连接为持久连接
 N  //表示维持此持久连接的时间。默认6分钟。

持久连接的类型:

1.PCC(persistent client connector,持久用户连接)同一个用户所有的请求在超时范围之内都被定位到同一个RealServer上,这个时候在指定端口的时候使用的是0端口,就是所有的请求都转发出去。
2.PPC(persistent port connector)用户的所有请求在超时范围内按照端口定位到不同的RS上。
3.防火墙标记:把相关联的端口在防火墙上打上同样的标记,用户在访问两个相关联的服务的时候,就会定位到同一个RealServer上。

PCC实例

ipvsadm -A -t 192.168.1.110:0 -s rr -p 600

PPC就是根据服务的不同,定向到不同的RealServer上,在Directory上多写几个ipvsadm指向,注意端口要区分开来就行了

防火墙标记的持久连接

iptables -t mangle -A PREROUTING -d 192.168.1.110 -p tcp --dport 80 -j MARK --set-mark 10  
把目的地为1982.168.1.110:80标记为10
ipvsadm -A -f 10 -s rr -p 60  //使用上面标记的10定义集群服务
ipvsadm -a -f 10 -r 192.168.1.116 -g //为集群定义RealServer
ipvsadm -a -f 10 -r 192.168.1.117 -g

简单的后台RS健康监测脚本

#!/bin/bash
#
VIP=192.168.1.110
CPORT=80
FAIL_BACK=127.0.0.1
FBSTATUS=0
RS=("192.168.1.116" "192.168.1.117")
RSTATUS=("1" "1")
RW=("2" "1")
RPORT=80
TYPE=g
add() {
  ipvsadm -a -t $VIP:$CPORT -r $1:$RPORT -$TYPE -w $2
  [ $? -eq 0 ] && return 0 || return 1
}
del() {
  ipvsadm -d -t $VIP:$CPORT -r $1:$RPORT
  [ $? -eq 0 ] && return 0 || return 1
}
while :; do
  let COUNT=0
  for I in ${RS[*]}; do
    if curl --connect-timeout 1 http://$I &> /dev/null; then
      if [ ${RSTATUS[$COUNT]} -eq 0 ]; then
         add $I ${RW[$COUNT]}
         [ $? -eq 0 ] && RSTATUS[$COUNT]=1
      fi
    else
      if [ ${RSTATUS[$COUNT]} -eq 1 ]; then
         del $I
         [ $? -eq 0 ] && RSTATUS[$COUNT]=0
      fi
    fi
    let COUNT++
  done
  sleep 5
done
时间: 2024-10-27 08:46:03

一步一步搭建LVS-DR模型LB集群(二)的相关文章

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 连接虚拟服务器测试 环境准备:

LVS(DR)+Keepalived 服务器集群

LVS(DR)+Keepalived 服务器集群 LVS轮询服务器 可以保障当一个网站服务器宕掉后,仍能正常访问 Keepalived高可用服务器 可以保障当LVS宕掉后,仍能正常工作 搭建服务器集群 192.168.4.50 LVS+Keepalived VIP 192.168.4.253 192.168.4.53 192.168.4.51 网站服务器 192.168.4.52 [50:53] #yum -y install keepalived ipvsadm vim /etc/keepal

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

一步一步搭建LVS-DR模型LB集群(一)

LVS:全名linux virtual server,是一款使用非常多的负载均衡集群软件,作为工作在tcp四层的软件,使得它能够调度非常多的应用,并且性能比起应用层的负载均衡软件更加好. 准备实验环境: vmware workstation 10.0 OS:                centos 6.4 实验拓扑如下: Director的配置 配置dip和vip ifconfig eth0 192.168.1.115/24 up ifconfig eth0:0 192.168.1.110/

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

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

纯手工搭建kubernetes(k8s)1.9集群 - (二)核心模块部署

1. 部署ETCD(主节点) 1.1 简介 ??kubernetes需要存储很多东西,像它本身的节点信息,组件信息,还有通过kubernetes运行的pod,deployment,service等等.都需要持久化.etcd就是它的数据中心.生产环境中为了保证数据中心的高可用和数据的一致性,一般会部署最少三个节点.我们这里以学习为主就只在主节点部署一个实例. 如果你的环境已经有了etcd服务(不管是单点还是集群),可以忽略这一步.前提是你在生成配置的时候填写了自己的etcd endpoint哦~

一步一步搭建LVS-DR模型LB集群(三)

在lvs服务器上运行的脚本lvs.sh,绑定VIP地址到LVS-MASTER上,并设定LVS工作模式等 #!/bin/bash SNS_VIP=192.168.1.108 SNS_RIP1=192.168.1.106 SNS_RIP2=192.168.1.107 ./etc/rc.d/init.d/functions logger $0 called with $1 case "$1" in start) # set squid vip /sbin/ipvsadm-set 30 5 6

搭建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

LVS集群DR、NAT模型配置, 及使用ldirectord完成LVS DR模型集群搭建

首先我们有三台主机:其中172.16.192.168作为前台主机:另外172.16.254.18和172.16.254.105作为后端主机,作为测试分别运行有web服务,并测试可用,如下图. 一.LVS NAT模型集群配置实验 1.首先在后端Real Server上设置默认网关,执行前端Virtual Server 2.在前端Virtual Server上开启路由转发功能 3.配置前端LVS集群 4.测试 总结:经过初步测试,我们可以看出已经可以实现rr轮询调度,修改相应的调度算法则可以实现不同