18.11 LVS DR模式搭建
准备工做:
三台机器
分发器,也叫调度器(简写为dir)
192.134
rs1
192.135
rs2
192.136
vip
192.200
若是作过上一章配置, 记得把 135和136的 网卡 网关改回来
-----------------------
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.192.200
rs1=192.168.192.135
rs2=192.168.192.136
#注意这里的网卡名字
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 //-g dr模式
$ipv -a -t $vip:80 -r $rs2:80 -g -w 1
sh /usr/local/sbin/lvs_dr.sh
两台rs上也编写脚本 vim /usr/local/sbin/lvs_rs.sh//内容以下
#/bin/bash
vip=192.168.192.200
#把vip绑定在lo上,是为了实现rs直接把结果返回给客户端
ifdown lo
ifup lo
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上执行这些脚本
sh /usr/local/sbin/lvs_rs.sh
测试
火狐浏览器 好用
18.12 keepalived + LVS
完整架构须要两台服务器(角色为dir)分别安装keepalived软件,目的是实现高可用,但keepalived自己也有负载均衡的功能,因此本次实验能够只安装一台keepalived
keepalived内置了ipvsadm的功能,因此不须要再安装ipvsadm包,也不用编写和执行那个lvs_dir的脚本
三台机器分别为:
dir(安装keepalived)192.134
rs1 192.135
rs2 192.136
vip 192.200
dir 编辑keepalived配置文件
vim /etc/keepalived/keepalived.conf//内容请到https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D21Z/lvs_keepalived.conf 获取
须要更改里面的ip相关信息
dir 上
执行ipvsadm -C 把以前的ipvsadm规则清空掉
systemctl restart network 能够把以前的vip清空掉
rs上
两台rs上,依然要执行/usr/local/sbin/lvs_rs.sh脚本
keepalived有一个比较好的功能,能够在一台rs宕机时,再也不把请求转发过去
测试
把rs 主机的nginx 服务停掉, 观察dir 的 ipvsadm
ipvsadm -nl
rs当掉 service nginx stop