lvs架构的DR模式

 

DR模式简单的说就是客户端请求数据进来结果ld,而出去的时候不通过ld了,直接去找路由器了,这样就能够减小分发器的压力了,这样使得能够调度更多的访问。算法

特色:server pool中的主机ip为公有ipbash

          ld,real server 都要绑定一个虚ip服务器

          real server绑定的虚拟ip,只须要主机知道就好,路由器不须要知道。网络

配置过程以下:负载均衡

1.client配置ide

#ifconfig eth0 192.168.18.106性能

#route add default gw 192.168.18.254测试

2.router 配置优化

#ifconfig eth0 192.168.18.254url

#ifconfig eth0:0 192.168.19.100

打开转发:

echo 1 > /proc/sys/net/ipv4/ip_forward

3.分发器的配置:

安装lvs到分发器上面

配置好yum源,保证可以读取到介质中的Cluster目录!

cat /etc/yum.repos.d/aa.repo

[aa]

name=aa

baseurl=file:///media/Server

enabled=1

gpgcheck=0

[Cluster]

name=cluster

baseurl=file:///media/Cluster

enabled=1

gpgcheck=0

#yum -y install ipvsadm

#ifconfig eth0 192.168.19.200

绑定vip

#ifconfig eth0:0 192.168.19.250 netmask 255.255.255.255 broadcast 192.168.19.250 up

设定正确的路由

route add -host 192.168.19.250 dev eth0:0

设定分发规则

19.200#ipvsadm -A -t 192.168.19.250:80 -s rr

19.200#ipvsadm -a -t 192.168.19.250:80 -r 192.168.19.101 -g

19.200#ipvsadm -a -t 192.168.19.250:80 -r 192.168.19.102 -g

19.200#ipvsadm -a -t 192.168.19.250:80 -r 192.168.19.103 -g

-A 添加服务  -t 服务所使用的虚拟ip地址:端口 (虚拟地址工业环境应该是公网ip -s 算法    (rr 算法就是你一个,我一个)

注意是 -g 【(-a  添加real server  -r real serverip -g (DR模式)

算法介绍:

1.rr轮叫调度(Round Robin)

调度器经过“轮叫”调度算法将外部的请求按顺序轮流分配至集群中的真是服务器中,均等的对待每一台服务器,而无论服务器上面的实际链接数和系统负载。

2.wrr加权轮叫(Weighted Round Robin)

调度器经过“加权轮叫”调度算法根据真是服务器的不一样处理能力来调度访问请求。这样能够保证处理能力强的服务器处理更多的访问请求。调度器能够自动询问真是服务器的负载状况,并动态地调整其权值。

3.lc最少链接(Least Connections)

调度器经过”最少链接“调度算法动态的将网络请求调度到已创建的链接数最少的服务器上。若是集群系统的真实服务器具备相近的系统性能,采用”最少链接“调度算法能够较好的均衡负载状况。

4.wlc加权最少链接(Weighted Least Connections)

在集群系统中的服务器性能差别较大的状况下,调度器采用”加权最少链接:调度算法优化负载均衡性能,具备较高的权值的服务器将承受较大比例的活动链接负载。调度器能够自动询问真是服务器的负载状况,并动态的调度其权值。

5.lblc基于局部性的最少链接

6.LBLCR带复制的基于局部性的最少链接

7.DH目标地址散列

8.SH源地址散列

我这里就不在清楚的介绍其余的算法了,如今一共支持12中算法,但愿大家去了解吧。

real server的配置:

绑定vip

#ifconfig lo:0 192.168.19.250 netmask 255.255.255.255 broadcast 192.168.19.250 up

设置到主机的路由

#route add -host 192.168.19.250 dev lo:0

设置默认路由

#route add default gw 192.168.19.100

保证arp协议在链接过程当中,路由器上,只知道网络中192.168.19.250对应的是分发器

19.101#echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

19.101#echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

19.101#echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

19.101#echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

其余的real server配置同上

绑定VTP:还能够利用脚原本实现:

#!/bin/bash
VIP=192.168.19.250
ROUTE=192.168.19.100
start() {
ifconfig lo:0 $VIP/32 broadcast $VIP up
route add -host $VIP dev lo:0
route add default gw $ROUTE
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo start;
}

stop() {
route del default gw $ROUTE
route del -host $VIP dev lo:0
ifconfig lo:0 down
echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
echo stop;
}

case $1 in

start)
    start
    ;;
stop)
    stop
    ;;
restart)
    stop
    start
    ;;
*)
    echo 'start | stop'
esac

重启服务

/etc/init.d/httpd restart

开始测试:

18.106#elinks http://192.168.19.250 --dump

   102

18.106#elinks http://192.168.19.250 --dump

   101

相关文章
相关标签/搜索