您的位置:首页 > 其它

DR模式LVS搭建、keepalived+LVS

2018-09-09 21:21 801 查看

DR模式LVS搭建

准备

三台机器,需要三台机器的公网IP,并且需要一个VIP。

调度器IP:192.168.42.128

服务器rs1 IP:192.168.42.129

服务器rs2 IP:192.168.42.130

VIP:192.168.42.200

在调度器上编写一个shell脚本/usr.local/sbin/lvs_dr.sh:

#! /bin/bash 
echo 1 > /proc/sys/net/ipv4/ip_forward 
ipv=/usr/sbin/ipvsadm 
vip=192.168.42.200
rs1=192.168.42.129
rs2=192.168.42.130
#注意这里的网卡名字
ifdown ens33
ifup ens33
ifconfig ens33:2 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip dev ens33:2 
$ipv -C 
$ipv -A -t $vip:80 -s wrr 
$ipv -a -t $vip:80 -r $rs1:80 -g -w 1
$ipv -a -t $vip:80 -r $rs2:80 -g -w 1

在两台服务器上编写一个脚本 /usr/local/sbin/lvs_re.sh:

#/bin/bash
vip=192.168.42.200
#把vip绑定在lo上,是为了实现rs直接把结果返回给客户端
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip lo:0
#以下操作为更改arp内核参数,目的是为了让rs顺利发送mac地址给客户端
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

在三台机器上执行各自的脚本

测试

浏览器访问VIP

keepalived+LVS

LVS架构中,不论是NAT模式还是DR模式,当后端的真实服务器宕掉的时候,调度器依然会把请求转发给宕掉的服务器上,这样的结果并不是我们想要看到的。使用keepalived就可以解决这个问题,keepalived不仅有高可用功能,还有负载均衡的功能。在调度器上安装了keepalived,就不用再安装ipvsadm,一不用编写LVS相关的脚本,因为keepalived已经嵌入了LVS功能。完整的keepalived+LVS架构需要两台调度器实现高可用,提供调度服务的需要一台,另外一台做备用。

准备

为节省资源,值设置一台调度器上安装keepalived,并且准备两台服务器和准备一个VIP。

主keepalived:192.168.42.128

服务器rs1:192.268.42.129

服务器rs2:192.168.42.130

VIP:192.168.42.200

编辑keepalived配置文件 /etc/keepalived/keepalived.conf

需要更改里面ip信息,

如果以前执行过LVS的脚本就需要执行一些操作:

ipvsadm -C

systemctl restart network

两台服务器上都执行设置DR模式的脚本

调度器上启动keepalived

systemctl start keepalived

查看有没有keepalived进程

ps aux |grep keepalived

在浏览器上访问vip来检验是否成功,然后把其中一台服务器的Nginx关闭,然后刷新浏览器查看结果。

使用ipvsadm -ln查看连接数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: