Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6875254
  • 博文数量: 3857
  • 博客积分: 6409
  • 博客等级: 准将
  • 技术积分: 15948
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-02 16:48
个人简介

迷彩 潜伏 隐蔽 伪装

文章分类

全部博文(3857)

文章存档

2017年(5)

2016年(63)

2015年(927)

2014年(677)

2013年(807)

2012年(1241)

2011年(67)

2010年(7)

2009年(36)

2008年(28)

分类:

2012-11-13 19:57:52

原文地址:ubuntu下配置heartbeat 作者:zupie

heartbeat

apt-get update

echo master >/etc/hostname

hostname master

如果使用现有的主机名,则跳过此配置

ha.cf

ha.cfheartbeat的配置文件

crm on

debugfile /var/log/ha-debug

logfile /var/log/ha-log

logfacility     local0

keepalive 500ms

deadtime 10

warntime 5

initdead 30

udpport 694

ucast   eth1     192.168.11.189       # Linux

auto_failback off

node master

node slave

#debug 1

respawn root /usr/lib/heartbeat/pingd -m 100 -d 4s -a pingd

EOF

ucast eth1为在哪个网卡接口上配置心的跳发送和接受,eth1为网卡接口名。此处需要用绞叉线在masterslave的在eth1的端口进行串联。或者使用ucast eth1 IPaddres 参数,此处的Ipadreess master上此处为slaveIP,在slave上位masterIP.ucast 为单播,bcast为组播。

Node指定HA成员节点的主机名。一般为业务的业务的名称,如SMS-1SMS-2

Keepalive 心跳发送频率,默认为秒。

Warntime 警告时间,默认为秒。

Deadtime 资源失效或宕机的时间,默认为秒。

Auto_failback master宕机后恢复回来,是否将资源切回master上。Off为不切回。

debug       最好不要打开debug日志,因为此日志非常大。如果为了测试可以开启debug日志,等测试完成后再将参数注销,重启heartbeat

ping 192.168.11.254 监测网络状态,192.168.11.254为外网网关,heartbeat会不断地ping网关,当发现网关不通后,就会认为当前网络出现故障。在结合cib.xml中的配置会自动降级到slave状态。

Crm on  开启heartbeatcrm模式,此模式的相关信息:

cat > /etc/ha.d/authkeys <

auth 3

3 md5 Hello!

EOF

chmod 600 /etc/ha.d/authkeys

HA认证加密模式,本手册采用md5加密方式。

haresources文件

master 192.168.11.251 资源名

EOF

master 是主机名,192.168.11.252为虚拟IP也就是VIP资源名为监控资源的名称,是个可执行的脚本文件。需要是LSB或者ocf风格的脚本,此脚本的特点就是脚本跟statusmonitor 参数,实现监控服务是否在工作,如果不在则返回大于0的状态码。

本手册使用tomcat作为heartbeat需要监控的资源,heartbeat通过tomcat_sms.shtomcat进行管理(启动、关闭、监控)。上面配置的资源名实际就是tomcat_sms.sh,为了方便后续的配置,假设此脚本已经编写完成,为ocf格式,存放在/usr/lib/ocf/resource.d/heartbeat/目录下。

示例:tomcat_sms.sh

master 192.168.11.251 tomcat_sms.sh

haresources文件支持多行,每一行为一个监控资源组。例如:

master 192.168.11.251 tomcat_sms.sh

slave 192.168.11.252 mailserver.sh

这样在HAmaster主机上运行tomcat_sms.sh资源,而在slave主机上运行着mailserver.sh资源,这样可以最大限度的发挥主机的性能。

资源名 监控脚本

此脚本是/etc/ha.d/haresources里定义的脚本(资源名),本手册中示例为:tomcat_sms.sh,通过此脚本可管理SMS业务的启动、关闭、监控。Heartbeat3总脚本风格,分别为ocflsbheartbeatHeartbeat调用ocf风格的脚本都放置在/usr/lib/ocf/resource.d/heartbeat/下。Tang部署的平台的heartbeat都是用ocf风格的脚本格式。

并赋予脚本执行权限。

Heartbeat    /etc/ha.d/resource.d/

Ocf                 /usr/lib/resource.d/heartbeat/

Lsb                 /etc/init.d/

cib.xml文件

/usr/lib/heartbeat/haresources2cib.py

cib.xml

修改crm监控资源的间隔,本手册采用的是每个7秒查看一次资源是否正常,如果5秒脚本没有执行结束,将超时并且heartbeat将资源切到slave上。此处间隔时间和超时根据业务的需要进行设置。

sed -i -e '/default-resource-stickiness/ s:value="0":value="100":g' /var/lib/heartbeat/crm/cib.xml

#sed  -i -e '/default-resource-failure-stickiness/ s:value="0":value="-100":g' /var/lib/heartbeat/crm/cib.xml

当主机宕机后恢复,是否将资源切回主机上。此设置为不切回。Heartbeat使用了一个负责的故障切换策略。详情请见:http://steven1981.itpub.net/post/7967/494028

sed -i -e 's:class="lsb":class="ocf":g' /var/lib/heartbeat/crm/cib.xml

将管理资源的脚本设置为ocf脚本格式,因为heartbeat默认使用这个脚本来管理资源(启动、关闭、监控运行状态。。),此值修改的tomcat_sms.sh脚本的配置。这步不是需要做的。

sed -i -e 's:primitive class="heartbeat" id=:primitive class="ocf" id=:g' /var/lib/heartbeat/crm/cib.xml

如果资源脚本的脚本类型为heartbeat需要修改成ocf或者lsb,这样heartbeat才能使用它。

chown -R hacluster:haclient /var/lib/heartbeat

ln -s /usr/lib/ocf/resource.d/ /resource.d

cib.xml文件中的标签下的后添加内容

               

                       

                               

                                        

                               

                       

                         

                           

                              attribute="pingd" operation="not_defined"/>

                           

                              attribute="pingd" operation="lte" value="0"/>

                         

                       

               

       

       

监控网络状态,当发现网络故障后,自动将自己降级为slave

group_1">  此处的group1cib.xml文件中中的下的group1相对应。

如果heartbeat监控多个资源组,在此处的配置也需要相应的改变,需要配置多个group_1">,每个配置段的名称需要相应的改变。例如

                        group_1">

                         

                           

                              attribute="pingd" operation="not_defined"/>

                           

                              attribute="pingd" operation="lte" value="0"/>

                          

                       

                       my_resource11:connected" rsc="group_11">

                          my_resource11:connected:rule" score="-INFINITY" boolean_op="or">

                            my_resource11:connected:expr:undefined"

                              attribute="pingd" operation="not_defined"/>

                            my_resource11:connected:expr:zero"

                              attribute="pingd" operation="lte" value="0"/>

                         

                       

截断

默认的heartbeat的日志是按周截断的,需要修改成按天截断,修改成如下:

/etc/logrotate.d/heartbeat

/var/log/ha-debug {

missingok

    rotate 7

    daily

    compress

}

/var/log/ha-log {

Missingok

    rotate 7

    daily

    compress

}

被监控的资源的启动关闭都是由heartbeat控制的,因此需要关闭这些资源自身的自启动功能。示例:ipvsadmldirectord

关闭资源自启动

update-rc.d -f ldirectord remove

update-rc.d -f ipvsadm remove

heartbeat

由于heartbeat默认安装后是启动的,经过修改后的heartbeat需要先关闭,或者直接使用kill -9强制杀手

/etc/init.d/heartbeat stop

/etc/init.d/heartbeat start

/* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Calibri","sans-serif"; mso-bidi-font-family:"Times New Roman";}
阅读(729) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~