配置DR

LVS工具ipvsadm

LB负载均衡集群之LVS(DR)_DR

环境说明

四台机器:

Director负载均衡调度器,网卡(公网IP,实验用nateth0192.168.134.140

                                             Vipetho:0:192.168.134.150

Real server1真实机器、真实服务器,网卡(公网IP,实验用nateth0192.168.134.137

Real server2真实机器、真实服务器,网卡(公网IP,实验用nateth0192.168.134.138

Client 客户端 网卡(公网IP,实验用nateth0192.168.134.131-- 用来测试curl

 

1

Director负载均衡调度器安装yum install-y  ipvsadm

两台真实服务器都安装yum install –y nginx

 

直接在Director调度器编写脚本

vim /usr/local/sbin/lvs_dr.sh

#! /bin/bash

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

ipv=/sbin/ipvsadm - 做个变量

vip=192.168.134.150 --可以说是定义变量VIP192.168.134.150

rs1=192.168.134.137 -- 定义Realserver1真实机器、真实服务器IP192.168.134.137

rs2=192.168.134.138 -- 定义Realserver2真实机器、真实服务器IP192.168.134.138

#ifconfig eth0:0 down -- 重启脚本时要先删除eth0:0,才能在添加vip

ifconfig eth0:0 $vip broadcast $vip netmask255.255.255.255 up - 添加一张网卡echo:0引用VIP这个变量,设置broadcast引用VIP这个变量设置子网掩码为255.255.255.255

目的是为了让它能出网,而不能接收回来,这就是DR原理,直接通过服务器发给客户端,这

里主要是设置vip

route add -host $vip dev eth0:0 添加网关

$ipv C 把之前的规则清空掉

$ipv -A -t $vip:80 -s wrr ---  -A 添加 t 添加VIP s添加算法,轮询算法,均摊分配

$ipv -a -t $vip:80 -r $rs1:80 -g -w 3 - g DR模式 -w表示权重

$ipv -a -t $vip:80 -r $rs2:80 -g -w 1

 

两台Real server真实服务器上也要编写脚本

vim /usr/local/sbin/lvs_dr_rs.sh

 

#! /bin/bash

vip=192.168.134.150  #注意这个是VIP

ifconfig lo:0 $vip broadcast $vip netmask255.255.255.255 up

route add -host $vip lo:0

echo "1">/proc/sys/net/ipv4/conf/lo/arp_ignore

echo "2">/proc/sys/net/ipv4/conf/lo/arp_announce

echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore

echo "2">/proc/sys/net/ipv4/conf/all/arp_announce

 

然后director上执行: bash /usr/local/sbin/lvs_dr.sh

ipvdadm –ln -- 查看集体的IP是谁

两台rs上执行: bash /usr/local/sbin/lvs_dr_rs.sh

最后就是测试了

client 客户端测试

curl 192.168.134.150  -- 测试vip,测试多次。(测试成功)