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

[经验分享] Heartbeat+Mon简单测试-

[复制链接]

尚未签到

发表于 2015-11-21 12:38:12 | 显示全部楼层 |阅读模式
  http://dsxl.bokee.com/3369776.html
  
主要参考了下面两个网址:

http://linux-ha.org/GettingStarted

http://www.in-addr.de/pipermail/lvs-users/2001-September/003299.html

下面的网址有很多监控脚本可供参考

https://bugzilla.andrew.cmu.edu/cgi-bin/cvsweb.cgi/src/netsage/mon/mon.d/

整个测试都是在虚拟机中完成,两个虚拟机共享一个分区,以smb服务为例。

简单来说Heartbeat用来实现心跳和高可用性,Mon用来监控服务

SLES9上面自带了Heartbeat和Mon,RHEL4要单独安装,我测试时Heartbeat使用了tar包,其他的程序都使用了rpm包,可以从下面地址查找到:

http://rpmfind.net/linux/rpm2html/search.php?query=perl-mon&submit=Search+...&system=&arch=

注意:RHEL4下面提示缺少perl/Time-period时,直接查找perl-period即可

先配置Heartbeat:


ha.cf:

bcast eth1 -->使用网络心跳,eth1上面配置的是内部地址

keepalive 2 -->心跳的间隔设为2s

warntime 10 -->10s中不能通讯的话在日志中写入late heartbeat警告

deadtime 30 -->30s中不能通讯的话宣告节点死亡

initdead 120 -->启动时由于网络服务可能需要较长时间才能起来,因此设定了一个较长的时间来应对这种情况,至少2倍于上面的时间间隔

udpport 694 -->缺省的心跳通讯端口

auto_failback off -->设定备份模式:主备或者互备

node rhel.dsxl.com -->节点主机名,使用uname -n得到

node sles

respawn hacluster /usr/local/lib/heartbeat/ipfail -->测试参考节点是否正常,用来测试网络

ping 10.167.13.166 -->参考节点的地址

对于RHEL4,需要添加haclient用户组,然后添加hacluster用户,设定其组别为haclient


haresources:

rhel.dsxl.com 10.167.13.23 Filesystem::/dev/sdc7::/sharefolder::vfat smb

第一栏表示服务的优先节点,第二列表示虚拟服务主机所在的IP且必须在这里配置,第三列Filesystem表示加载文件系统,最后面的smb表示要启动 的服务。HA会在resource.d和/etc/init.d目录下依次寻找服务的启动脚本。HA启动时依次从左到右启动服务,关闭时依次从右到左关闭 服务。不需指定虚拟主机IP在哪个网络接口上面启动,HA会自动选择。


authkeys:

auth 1

1 crc

这种是最简单的,只使用crc校验,没有使用md5或者sha1。auth后面的数字1表示采用下面keys列表以1开头的key。对于sha1这样写:

1 sha1 key-for-sha1-any-text-you-want

设定后把authkeys的权限设为600

日至文件位于/var/log/ha-log,方便查错

配置完成后进行测试,在一边停止HA服务,看另一边是否会启动并接管资源

注意:如果使用HA管理服务,那么不要在系统本身启动服务,对于数据库尤其如此!!!!!


配置Mon

mon.cf:

在RHEL4上面,注释掉下面两行:

#authtype    = pam

#userfile    = /etc/mon/userfile

添加:

authtype = getpwnam

编辑其他的设定:

hostgroup servers localhost

servers:设定服务所在的一组主机的名字

watch servers  -->设定要监控的主机组

    service samba  -->设定要监控的服务,随意

        interval 5s -->设定监控的间隔

        monitor tcp.monitor -p 139 localhost  -->设定要监控的主机和端口

        period all_the_time: wd {Sun-Sat} -->设定要监控的时间

        alert test.alert  -->如果服务失败,那么运行test.alert

Mon自带了很多监控脚本,对于这些我也没有深入研究

test.alert的内容为:

echo "`date` $*" >> /tmp/test.alert.log

关闭HA,开启和关闭smb服务,查看test.alert.log文件,看mon是否检测到服务的状态

如果测试正常,那么先关闭smb和mon服务,更改haresources文件:

rhel.dsxl.com 10.167.13.23 Filesystem::/dev/sdc7::/sharefolder::vfat smb mon -->在最后面增加了mon,这个一定要在最后面

更改test.alert文件,增加下面一行:

/etc/init.d/heartbeat restart

完毕后即可进行全面的测试,在系统本身只需启动heartbeat服务即可,HA监控的全部服务都不要在系统本身启动,全部由HA自动控制

观察首先启动HA的机器,会发现smb和mon都正在运行,使用mount观察加载的分区,发现/dev/sdc7已经加载。手动停止掉smb服务,在 HA的日志里面会发现mon服务被关闭,smb再次被关闭,随后HA关闭然后重新启动(很奇怪,在SLES9上面HA只能关闭,却不会自动启动,然后在命 令行下面却可以自动重启动,实在奇怪;RHEL4上面正常);再另一个节点,会发现HA会自动接管资源然后启动服务。


这方面还有很多可以做的,关于负载均衡方面,等以后再研究,目前还是以数据库为先。

运维网声明 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-141815-1-1.html 上篇帖子: Heartbeat--haresources配置文件详解 下篇帖子: Heartbeat安装与配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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