关注于系统高可用、网站架构
分类: 系统运维
2010-08-24 09:38:10
[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 <
auth 1
1 crc
EOF
[root@node1 ha.d]# #cat >/etc/ha.d/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<
node1 10.10.31.132 runhttp.sh rungc.sh runeim.sh runinfo.sh //写入Conference 和 web 的VIP
node1 10.10.31.133 repmonHA //写入DB的vip
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 ]
[root@node1 ~]# crm_mon
查看所有资源
crm_resource -L
注意:
1、设置主服务器和备份服务器时间同步
虽然Heartbeat不要求在两个服务器上使系统钟同步主要和备份服务器,但是系统时钟应该在的几十秒之内,否则在高可用性服务的环境下会产生故障。在在两个系统启动Heartbeat之前,你应该人工检查并且放置系统时间(使用date命令)。关于一种更好的长期的解决的方法你应该在两个系统上使用NTP软件同步钟。