LVS_DR与RS的配置!

一 IP规划
DR IP:192.168.1.189 GW:192.168.1.1 虚拟设备名:eth0:0
VIP 192.168.1.200
RS1 IP:192.168.1.100 GW: 192.168.1.1
RS2 IP:192.168.1.101 GW: 192.168.1.1

二 DR上配置LVS
1. 在DR
ifconfig eth0:0 192.168.1.200 broadcast 192.168.1.200 netmask 255.255.255.255 up 先绑定一个虚拟设备eth0:0
route add -host 192.168.1.200 dev eth0:0 指定一条路由
#echo "1" >/proc/sys/net/ipv4/ip_forward 开启系统包转发功能,NAT模式需要开启,DR无需开启。

2. 配置IPVS
ipvsadm -C 清除内核虚拟服务器所有记录
ipvsadm -A -t 192.168.1.200:80 -s rr -p 600 添加新的虚拟IP记录, 持续服务时间为600s
ipvsadm -a -t 192.168.1.200:80 -r 192.168.1.100:80 -g 添加新的real server记录,模式为 路由模式
ipvsadm -a -t 192.168.1.200:80 -r 192.168.1.101:80 -g 添加新的real server记录,模式为 路由模式

3. 启动ipvs服务
ipvsadm


四 在Director 上配置Ldirectord
路径 /etc/ha.d/ldirectord.cf
#######全局配置####################
checktimeout=20 判断RS 出错的时间间隔
checkinterval=10 指定ldirectord在两次检查之间的间隔时间
fallback=127.0.0.1:80 当所有RS节点不工作时,web服务的重定向地址
autoreload=yes 是否自动重载配置文件,yes,当配置文件发生变化,将自动载入配置信息
logfile="/var/log/*.log" 日志文件地址
quiescent=no 为no时,如果一个节点在checktimeout设置的时间周期内没有响应,ldirectord将会从lvs路由表中直接移除RS,此时还中断现有所有客户端连接,并使lvs丢掉所有连接跟踪记录和持续连接模板,为yes时,当某个RS失效,ldirectord将失效节点的权值设置为0,新的连接将不可达,且不从lvs路由表中清除此节点,跟踪记录和程序连接模板仍然保留在director上面。
#####################################

############虚拟主机#################
virtual=192.168.1.200:80 指定虚拟IP地址和端口号
real=192.168.1.100:80 gate 指定RS服务器地址和端口号,同时设定lvs工作模式,gate表示DR,ipip表示tunl,masq表示NAT
real=192.168.1.101:80 gate
fallback=127.0.0.1:80 gate
service=http 指定服务的类型,是对http服务做负载均衡
request="index.html" 用来检测RS是否正常工作,此页面地址必须能正确访问,否则将视为此节点失效,而发生错误监控。
receive="Test Page" 指定请求和应答字串
scheduler=rr 指定调度算法,这里是轮询算法
protocol=tcp 指定协议类型
checktype=negotiate 指定ldirectord的检测类型,默认为ngotiate
checkport=80 指定监控的端口号
virtualhost=www.xxx.com 指定虚拟服务器的名称,可随意指定。
###########################################

配置完成后,重启服务
/etc/init.d/ldirectord start|stop


三 Real Server配置

1.配置 DR和Tun模式,需要增加虚拟VIP地址
可以创建脚本来实现:
#! /bin/bash
VIP=192.168.1.200
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up 还回设备上绑定虚拟IP地址,
/sbin/route add -host $VIP dev lo:0 与DR的虚拟IP保持互通。
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
sysctl -p
#禁止本机的ARP请求。


2. 添加执行权限
chmod 755 脚本文件

原文地址:https://www.cnblogs.com/rayong/p/2796061.html