设为首页 收藏本站
查看: 752|回复: 0

[经验分享] LVS ipvsadm+heartbeat+ldirecrtord安装配置指南

[复制链接]

尚未签到

发表于 2019-1-2 12:33:04 | 显示全部楼层 |阅读模式
LVS ipvsadm+heartbeat+ldirecrtord安装配置指南
VIP    172.16.6.250
master 172.16.6.204
backup 172.16.6.205
real   172.16.6.206
real   172.16.6.207
提供的服务器为web端口80
用到以下程序,ipvsadm,heartbeat,ldirecrtord,libnet,mailtools
libnet和mailtools是用来支持heartbeat和ldirecrtord的
编译安装ipvsadm
tar zxf ipvsadm-1.24.tar.gz
cd ipvsadm-1.24/
make
make install
编译安装libnet
tar zxf libnet-1.1.2.1.tar.gz
cd libnet
./configure
make
make install
编译安装mailtools
tar zxf MailTools-2.04.tar.gz
cd MailTools-2.04
perl Makefile.PL
make
make test
make install
编译安装heartbeat和ldirecrtord,他两在一起
tar jxf Heartbeat-STABLE-2-1-STABLE-2.1.4.tar.bz2
cd Heartbeat-STABLE-2-1-STABLE-2.1.4
./ConfigureMe configure
make
make install
编译安装完成后会在/etc/ha.d中生成一些文件,但是配置文件还是需要我们手动来创建或者cp默认的模板,位置在Heartbeat-STABLE-2-1-STABLE-2.1.4/doc中
你可以cp  authkeys,ha.cf,haresources,../ldirectord/ldirectord.cf文件到/etc/ha.d目录中
下一步我们来修改主配置文件ha.cf
vi ha.cf
debugfile /var/log/ha-debug
logfile /var/log/ha-log                             日志文件的路径
logfacility local0
keepalive 2                                         心跳检测的平率为2秒一次      
deadtime 30                                         如果30秒内没有相应心跳就做切换
warntime 10                                         指明心跳的延时为10秒做警告记录一条日志,没有其他动作
initdead 120                                        这个值设置成deadtime的两倍就可以了
udpport 694                                         数据通信的端口
bcast eth1                              eth1为心跳工作接口
ucast eth1 192.168.1.3                              检测对端心跳接口的地址
auto_failback on                                    当主节点回复后,自动切换
node    lvs_master                                  主控机计算机名 //主控机的在前面
node lvs_backup                                  备用机计算机名 //备用机的在后面
ping 172.16.6.254                                   检测网络是否正常,可以设置成网关地址
respawn root /usr/lib/heartbeat/ipfail              ipfail文件的路径
apiauth ipfail gid=root uid=root                    启用ipfail进程的用户是root
vi haresources
lvs_master 172.16.6.250  ipvs ldirectord
lvs_master只主节点的计算机名 172.16.6.250是VIP地址,ipvs和ldirecrtord是启动脚本,当主节点宕机或者备用节点宕机后都会通过这个脚本文件去启动服务,ldirecrtord脚本的位置可以再/etc/rc.d/init.d中找到,ipvs是手工创建的
vi ipvs
ipvs
#!/bin/sh
VIP=172.16.6.250
RIP1=172.16.6.206
RIP2=172.16.6.207
. /etc/rc.d/init.d/functions
case "$1" in
    start)
        echo " start LVS  "
#      # set the Virtual  IP Address
       /sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up
#       /sbin/route add -host $VIP dev eth0:1
       /sbin/ipvsadm -C
      /sbin/ipvsadm -A -t $VIP:80 -s rr
      /sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g
      /sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g
        ;;
    stop)
        echo "close LVS Director"
        /sbin/ipvsadm -C
        ;;
    *)
        echo "Usage: $0 {start|stop}"
        exit 1
esac
配置验证文件
vi authkeys
auth 1
1 crc
一共有三个级别,自己工具情况选择吧,我用的是第一种默认的
配置ldirecrtord.cf

checktimeout=3                        检测超时
checkinterval=1                       检测间隔
autoreload=yes                        从新载入客户机
logfile="/var/log/ldirectord.log"     日志路径
logfile="local0"
quiescent=no
virtual=172.16.6.250:80               VIP地址监听80端口
real=172.16.6.206:80 gate     真机IP地址和端口 路由模式
real=172.16.6.207:80 gate
  fallback=127.0.0.1:80 gate
service=http                  服务是http
request="test.html"           这个文件一定要在real的web目录中存在,并且能够正常访问的,ipvs通过它来判断客户端是否存活
receive="test"                文件内容
scheduler=rr                  
protocol=tcp                  
   checktype=negotiate
   checkport=80
把上面所有的配置文件复制到backup机上,别忘了ipvs的脚本文件也一样要复制的,唯一要改的地方是ha.cf中ucast eth1 192.168.1.3把他修改成主节点的心跳监听接口的地址
下面我来配置real
real不需要安装任何软件,我这里从网上找了一个脚本效果还不错
vi /etc/rc.d/init.d/real.sh
#!/bin/bash
#description : start realserver
VIP=172.16.6.250
/etc/rc.d/init.d/functions
case "$1" in
start)
echo " start LVS of REALServer"
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
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
;;
stop)
/sbin/ifconfig lo:0 down
echo "close LVS Directorserver"
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
修改它的执行权限,然后用./real.sh start来启动它
在master上运行/etc/rc.d/init.d/heartbeat start和/etc/rc.d/init.d/ldirectord start这两个服务
Backup上只运行/etc/rc.d/init.d/heartbeat start 就可以了ldirectord 服务器会在主节点宕机后自动通过读取haresources文件来启动
这样整个lvs结构就配置完成了,可以通过http://172.16.6.250来访问web了
在lvs上可以通过ipvsadm -lnc来查看具体的信息





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-658647-1-1.html 上篇帖子: centos6 搭建heartbeat 下篇帖子: LVS+Heartbeat+Ldirectord集群的部署安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表