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

[经验分享] Rhel6-heartbeat+lvs配置文档

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-9-5 09:03:56 | 显示全部楼层 |阅读模式
系统环境: rhel6 x86_64 iptables and selinux disabled
主机: 192.168.122.119 server19.example.com
192.168.122.25 server25.example.com
192.168.122.163 server63.example.com
192.168.122.193 server93.example.com
所需的包:heartbeat-3.0.4-1.el6.x86_64.rpm heartbeat-libs-3.0.4-1.el6.x86_64.rpm heartbeat-devel-3.0.4-1.el6.x86_64.rpm ldirectord-3.9.2-1.2.x86_64.rpm


Realserver1192.168.122.163:apache
Realserver2192.168.122.193:apache
LoadBalance 192.168.122.119:heartbeat apache
LoadBalance 192.168.122.25:heartbeat apache


#配置LoadBalance
以下步骤在server19server25上实施:
[iyunv@server19kernel]# yum localinstall heartbeat-3.0.4-1.el6.x86_64.rpmheartbeat-devel-3.0.4-1.el6.x86_64.rpmheartbeat-libs-3.0.4-1.el6.x86_64.rpm ldirectord-3.9.2-1.2.x86_64.rpm-y
[iyunv@server19kernel]# yum install perl-IO-Socket-INET6 ipvsadm -y
[iyunv@server19ha.d]# modprobe softdog
[iyunv@server19ha.d]# echo modprobe softdog >> /etc/rc.d/rc.local
[iyunv@server19ha.d]# yum install httpd -y
[iyunv@server19ha.d]# echo `hostname` > /var/www/index.html
[iyunv@server19ha.d]# /etc/init.d/httpd stop

以下步骤在server19server25上实施:
[iyunv@server19kernel]# cd /usr/share/doc/heartbeat-3.0.4/
[iyunv@server19heartbeat-3.0.4]# cp authkeys haresources ha.cf /etc/ha.d/
注:这三个配置文件可以通过rpm-q heartbeat -d 查看其位置
[iyunv@server19heartbeat-3.0.4]# cd /usr/share/doc/packages/ldirectord/
[iyunv@server19ldirectord]# cp ldirectord.cf /etc/ha.d/
注:这个配置文件可以通过rpm-q ldirectord -d 查看其位置
[iyunv@server19ldirectord]# cd /etc/ha.d/


#配置/etc/ha.d/authkeys
[iyunv@server19ha.d]# vim authkeys
auth3
#1crc
#2sha1 HI!
3md5 Hello! (去掉注释)
[iyunv@server19ha.d]# chmod 600 authkeys
认证文件(/etc/ha.d/authkeys),文件的权限必须是600

#配置/etc/ha.d/ha.cf
[iyunv@server19ha.d]# vim ha.cf
debugfile/var/log/ha-debug (去掉注释)
调试日志文件文件,取默认值
logfile/var/log/ha-log (去掉注释)
系统运行日志文件,取默认值
logfacilitylocal0
日志等级,取默认值
keepalive2(去掉注释)
心跳频率,自己设定。1:表示1 秒;200ms:表示200 毫秒
deadtime30(去掉注释)
节点死亡时间阀值,就是从节点在过了30后还没有收到心跳就认为主节点死亡,自己设定
warntime10 (去掉注释)
发出警告时间,自己设定
initdead120 (去掉注释)
守护进程首次启动后应该等待120秒后再启动主服务器上的资源
udpport694 (去掉注释)
心跳信息传递的udp端口,使用端口694进行bcast和ucast通信,取默认值
bcasteth0 (去掉注释)
采用udp广播播来通知心跳
auto_failbackon
当主节点恢复后,是否自动切回
watchdog/dev/watchdog (去掉注释)
watchdog能让系统在出现故障1分钟后重启该机器,这个功能可以帮助服务器在确实停止心跳后能够重新恢复心跳
nodeserver19.example.com
主节点名称,与uname--n 保持一致.排在第一的默认为主节点,所以不要搞措顺序
nodeserver25.example.com
副节点名称,与uname--n 保持一致
ping192.168.122.1
respawnhacluster /usr/lib64/heartbeat/ipfail
apiauthipfail gid=haclient uid=hacluster
默认heartbeat并不检测除本身之外的其他任何服务,也不检测网络状况。所以当网络中断时,并不会进行LoadBalancer 和Backup之间的切换。可以通过 ipfail插件,设置'pingnodes'来解决这一问题,但不能使用一个集群节点作为ping的节点.


#配置/etc/ha.d/haresources
[iyunv@server19ha.d]# vim haresources
server19.example.comIPaddr::192.168.122.178/24/eth0 ldirectord httpd
注:192.168.122.178为虚拟IP
这个文件中定义了实现集群所需的各个软件的启动脚本,这些脚本必须放在/etc/init.d或者/etc/ha.d/resource.d目录里IPaddr的作用是启动VirutalIP,它是HeartBeart自带的一个脚本.ldirectord 的作用是启动ldirectord监控程序,它会使ldirectord.cf中定义的lvs生效,并监听其健康状;httpd是apache服务的启动脚本。


#配置/etc/ha.d/ldirectord.cf
[iyunv@server19ha.d]# vim ldirectord.cf
#Sample for an http virtual service
virtual=192.168.122.178:80虚拟IP:服务端口
real=192.168.122.163:80gate   realserver:服务端口
real=192.168.122.193:80gate  realserver:服务端口
fallback=127.0.0.1:80 gate  当realserver全挂掉后,由调度器上的服务来提供服务
service=http  服务名
scheduler=rr  算法
#persistent=600 持续连接时间
#netmask=255.255.255.255
protocol=tcp
checktype=negotiate
checkport=80  检测端口
request="index.html"   检测有无inde.html测试页
#      receive="Test Page" 检测测试页中的内容
#      virtualhost=www.x.y.z


[iyunv@server19ha.d]# scp authkeys ha.cf haresources ldirectord.cf root@192.168.122.25:/etc/ha.d/


#配置Realserver
以下步骤在server63上实施:
[iyunv@server63~]# yum install arptables_jf httpd -y
[iyunv@server63~]# arptables -A IN -d 192.168.122.178 -j DROP
[iyunv@server63~]# arptables -A OUT -s 192.168.122.178 -j mangle --mangle-ip-s192.168.122.163
[iyunv@server63~]# /etc/init.d/arptables_jf save


[iyunv@server63~]# ifconfig eth0:0 192.168.122.178 netmask 255.255.255.255 up

[iyunv@server63~]# ip addr add 192.168.122.178 dev eth0
注:可用ipaddr show查看


[iyunv@server63~]# echo `hostname` > /var/www/html/index.html
[iyunv@server63~]# /etc/init.d/httpd start

以下步骤在server93上实施:
[iyunv@server93~]# yum install arptables_jf httpd -y
[iyunv@server93~]# arptables -A IN -d 192.168.122.178 -j DROP
[iyunv@server93~]# arptables -A OUT -s 192.168.122.178 -j mangle --mangle-ip-s192.168.122.193
[iyunv@server93~]# /etc/init.d/arptables_jf save


[iyunv@server93~]# ifconfig eth0:0 192.168.122.178 netmask 255.255.255.255 up

[iyunv@server93~]# ip addr add 192.168.122.178 dev eth0
注:可用ipaddr show查看


[iyunv@server93~]# echo `hostname` > /var/www/html/index.html
[iyunv@server93~]# /etc/init.d/httpd start


#启动
以下步骤在server19server25上实施:
[iyunv@server19ha.d]# /etc/init.d/heartbeat start


测试
访问192.168.122.178反复刷新页面,如果页面在server63server93直接来回切换,说明正常。
:server63server93上的apache服务关闭后,访问的将是调度器上的apache页面,如果调度器上的apache也关闭,将无法访问到页面.当一台调度器宕掉后,另一台调度器会接管,发挥调度的作用(即调度器之间实现了高可用)

运维网声明 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.iyunv.com/thread-109580-1-1.html 上篇帖子: LVS概述 下篇帖子: LVS-HA
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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