码迷,mamicode.com
首页 > 其他好文 > 详细

实现DR模式的LVS

时间:2017-10-30 21:53:22      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:lvs和ldirectord

实验:实现DR模式的LVS:

环境:五台主机,一台客户端,一台充当路由器,一台vs服务器,两台rs服务器;


网路拓扑图:技术分享

客户端:外网地址;172.18.77.66

路由器:两个网卡,内网和外网都有

  内网:192.168.77.74

  外网:172.18.77.74

vs服务器: 仅主机模式,一个网卡绑定两个ip,一个是vip一个是dip

vip:192.168.77.99

dip:192.168.77.77

rs服务器:rs1:192.168.77.7

rs2:192.168.77.6


配置:

在客户端加上路由器的网关 route add default gw 172.18.77.74

在路由器上 echo 1 > /proc/sys/net/ipv4/ip_forward

在vs服务器上添加一条路由 route add default gw 192.168.77.74

添加一个vip ----> ip a a 192.168.77.99 dev eth1


添加rs服务器

[root@centos7 ~]#ipvsadm -A -t 172.18.77.99:80 -s wrr
[root@centos7 ~]#ipvsadm -a -t 172.18.77.99:80 -r 192.168.77.7 
[root@centos7 ~]#ipvsadm -a -t 172.18.77.99:80 -r 192.168.77.6
在rs服务器上配置vip 建议在回环网卡上配置 ip a a 192.168.77.99/32 dev lo:1
添加网关指向路由器的内网地址 route add default gw 192.168.77.74

修改文件:

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

上述的服务器确定selinux和iptables的关闭和httpd服务的开启


测试:

[root@centos6 ~]#for i in {1..10};do curl 192.168.77.99;done
这是rs2机器
这是rs-1机器
这是rs2机器
这是rs-1机器
这是rs2机器
这是rs-1机器
这是rs2机器
这是rs-1机器
这是rs2机器
这是rs-1机器


小提示:做测试时减少反应时间,报错时可快速报错 curl --connect-time 1 192.168.77.7


ldirectord 工具

包名ldirectord

[root@centos7 ~]#cp /usr/share/doc/ldirectord-3.9.6/ldirectord.cf /etc/ha.d/ldirectord.cf
[root@centos7 ~]#systemctl start ldirectord
ldirectord:监控和控制LVS守护进程,可管理LVS规则
包名:ldirectord-3.9.6-0rc1.1.1.x86_64.rpm
文件:
/etc/ha.d/ldirectord.cf 主配置文件
/usr/share/doc/ldirectord-3.9.6/ldirectord.cf 配置模版
/usr/lib/systemd/system/ldirectord.service 服务
/usr/sbin/ldirectord 主程序
/var/log/ldirectord.log 日志
/var/run/ldirectord.ldirectord.pid pid文件

Ldirectord配置文件示例

checktimeout=3  监控后端rs的状态 ,多长时间检查一次,超时时间是多少
checkinterval=1  多长时间检查一次
autoreload=yes  修改配置文件自动生效
logfile=“/var/log/ldirectord.log“ #日志文件
quiescent=no #down时yes权重为0,no为删除
virtual=192.168.77.77#指定VS的FWM或IP:port
real=172.16.0.7:80 gate 2
real=172.16.0.8:80 gate 1
fallback=127.0.0.1:80 gate #sorry server
service=http
scheduler=wrr
checktype=negotiate
checkport=80
request="index.html"
receive=“Test Ldirectord"


  为了从主Director将LVS负载均衡资源故障转移到备用Director,并从集群中自动移除节点,我们需要使用ldirectord程序,这个程序在启动时自动建立IPVS表,然后监视集群节点的健康情况,在发现失效节点时将其自动从IPVS表中移除。

  为了监视web集群内的真实服务器,ldirectord守护进程使用HTTP协议向每个真实服务器请求一个专用的web页面,如果真实服务器是健康的,Director知道将从真实服务器接收到什么内容,如果从真实服务器返回应答字串或web页面的时间太长,或根本没有返回任何内容,或返回的内容不是预期的,Director就知道该真实服务器出错了,并从IPVS表中将这个真实服务器移除。


实现DR模式的LVS

标签:lvs和ldirectord

原文地址:http://13157090.blog.51cto.com/13147090/1977590

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!