Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1425749
  • 博文数量: 77
  • 博客积分: 2104
  • 博客等级: 大尉
  • 技术积分: 2322
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-19 13:21
个人简介

关注于系统高可用、网站架构

文章分类

全部博文(77)

文章存档

2018年(1)

2017年(1)

2015年(4)

2014年(8)

2013年(4)

2012年(12)

2011年(17)

2010年(30)

分类: 系统运维

2010-08-24 09:38:10

      HEARTBEAT INSTALLATION GUIDE
              ========================
yum install heartbeat
 

[root@node1 ha.d]# cat >/etc/hosts <

 # Do not remove the following line, or various programs

 # that require network functionality will fail.

 127.0.0.1               localhost.localdomain localhost node1      //本机主机名

 ::1                      localhost6.localdomain6 localhost6

 10.10.31.131            node2              //写入备份服务器的IP地址和主机名

 EOF

[root@node1 ha.d]# cat >/etc/ha.d/authkeys <     //创建authkeys文件,并写入相关配置

auth 1

1 crc

EOF

[root@node1 ha.d]# #cat >/etc/ha.d/ha.cf<     //创建ha.cf文件,并写入相关配置

debugfile /var/log/ha-debug

logfile /var/log/ha-log

logfacility     local0

keepalive 2

deadtime 15

warntime 5

initdead 60

udpport 694

ucast eth0 node2           //heartbeat用来检查健康状态的网口,以及对端主机名

node node1              

node node2

ping   网关ip

crm yes

apiauth cibmon   uid=hacluster

respawn hacluster /usr/lib64/heartbeat/cibmon -d

EOF

注:

keepalive 2

设定heartbeat之间的时间间隔为2秒。

warntime 10

在日志中发出“late heartbeat“警告之前等待的时间,单位为秒。

deadtime 30

30秒后宣布节点死亡。

initdead 120

在某些配置下,重启后网络需要一些时间才能正常工作。这个单独的”deadtime”选项可以处理这种情况。它的取值至少应该为通常deadtime的两倍


  logfacility local0 #这个是设置heartbeat的日志,这里是用的系统日志

 

root@node1 ha.d]# cat >/etc/ha.d/haresources<        //创建haresource文件,并写入相关配置

node1 10.10.31.132 runhttp.sh rungc.sh runeim.sh runinfo.sh     //写入Conference web VIP

node1 10.10.31.133 repmonHA               //写入DBvip

EOF

 

每一行表示一个资源组,
启动的时候从左到右依次运行脚本,关闭的时候从右到左依次关闭.

[root@node1 ha.d]# chmod 600 /etc/ha.d/authkeys   //修改haresource的权限为600

[root@node1 ha.d]# /usr/lib64/heartbeat/haresources2cib.py --stout -c /etc/ha.d/ha.cf /etc/ha.d/haresources

                                                                    //生成cib.xml文件

/var/lib/heartbeat/crm/cib.xml 文件的作用与/etc/ha.d/haresources相同,是二者择一的关系。

[root@node2 ha.d]# cd /var/lib/heartbeat/crm                      //切换到crm目录

[root@node2 ha.d]# perl -i -pe 's/120s/10s/g' *                 //将所有”120s”值改为”10s”

[root@node2 ha.d]# vi /var/lib/heartbeat/crm/cib.xml       //vi修改cib.xml文件参数

``````````

   

  //”i”切换成编辑模式,将”0”改为”infinity”

 

 

对于INFINITY-INFINITY这两个值,实际上主要用途就是为了控制永远不切换和只要失败必须切换用的。因为代表的意思就是拥有正无穷大的分数和失败就到负无穷大,主要用来满足极端规则的简单配置项。

resource-stickiness:资源的初始分数

resource-failure-stickiness:资源在每次失败之后所减掉的分数

LSB格式的resource agent script中必须支持status功能,必须能接收start,stop,status,三个参数,如果是OCF格式agent,则必须支持start,stop,monitor三个参数.其中status和monitor参数是用来监控资源的,非常重要
 

 

[root@node1 ~]# /etc/init.d/heartbeat start

Starting High-Availability services:

[  OK  ]

大概过3分钟后,执行下一步
[root@node2 ~]# /etc/init.d/heartbeat start
Starting High-Availability services:
[  OK  ]

 

1.2         Check Heartbeat status

[root@node1 ~]# crm_mon

 

查看所有资源

  crm_resource -L

注意:

1、设置主服务器和备份服务器时间同步
    虽然Heartbeat不要求在两个服务器上使系统钟同步主要和备份服务器,但是系统时钟应该在的几十秒之内,否则在高可用性服务的环境下会产生故障。在在两个系统启动Heartbeat之前,你应该人工检查并且放置系统时间(使用date命令)。关于一种更好的长期的解决的方法你应该在两个系统上使用NTP软件同步钟。     

2、修改heartbeat目录权限,可以用以下命令:
 find / -type d -name "heartbeat" -exec chown -R hacluster {} \;
         find / -type d -name "heartbeat" -exec chgrp -R haclient {} \;



阅读(3946) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~