Linux centosVMware Linux集群架构LVS DR模式搭建、keepalived + LVS

一、LVS DR模式搭建

 三台机器

 分发器,也叫调度器(简写为dir

 davery :1.101

 rs1 davery01:1.106

 rs2 davery02:11.107

 vip 133.200

 dir上编写脚本 vim /usr/local/sbin/lvs_dr.sh //内容如下

#! /bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
ipv=/usr/sbin/ipvsadm
vip=192.168.1.200
rs1=192.168.1.106
rs2=192.168.1.107
#注意这里的网卡名字
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

 dir上编辑:

[root@davery ~]# vim /usr/local/sbin/lvs_dr.sh

[root@davery ~]# sh /usr/local/sbin/lvs_dr.sh

rs上编辑:

 两台rs上也编写脚本 vim /usr/local/sbin/lvs_rs.sh//内容如下

#/bin/bash

vip=192.168.1.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地址给客户端

#参考文档www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.html

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

 分别在dir上和两个rs上执行这些脚本

 vim /usr/local/sbin/lvs_rs.sh

 

[root@davery01 ~]# sh /usr/local/sbin/lvs_rs.sh

[root@davery02 ~]# vim /usr/local/sbin/lvs_rs.sh

 route -u 就可查看到绑定的vip了

ip add

dir上执行脚本sh /usr/local/sbin/lvs_dr.sh后同样会产生一个公网(内网)vip

 测试:浏览器访问192.168.1.200,刷新后就会看到网页在跳转了

 

 查看它的访问量

ipvsadm -ln

 

二、keepalived + LVS

完整架构需要两台服务器(角色为dir)分别安装keepalived软件,目的是实现高可用,但keepalived本身也有负载均衡的功能,所以本次实验可以只安装一台keepalived

keepalived内置了ipvsadm的功能,所以不需要再安装ipvsadm包,也不用编写和执行那个lvs_dir的脚本

三台机器分别为:

dir(安装keepalived)1.101

rs1 1.106

rs2 1.107

vip 1.200

编辑keepalived配置文件

vim /etc/keepalived/keepalived.conf//

内容请到https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D21Z/lvs_keepalived.conf 获取

需要更改里面的ip信息

执行ipvsadm -C

编辑配置文件:

[root@davery ~]# vim /etc/keepalived/keepalived.conf

启动keepalived

[root@davery ~]# systemctl start keepalived
[root@davery ~]#

查看进程

 

关闭keepalived就没有服务了

再次开启,real server再次执行脚本sh /usr/local/sbin/lvs_rs.sh就有服务

 关闭其中一台real server就会少一个服务

浏览器访问

原文地址:https://www.cnblogs.com/davery/p/9248511.html