五、配置主节点的heartbeat
Heartbeat的主要配置文件有ha.cf、haresources、authkeys,均在/etc/ha.d目录下,在通过yum安装Heartbeat后,默认并没有这三个文件,可从解压的源码目录中找到,这里手动创建并编辑。
1、主配置文件:ha.cf
配置heartbeat的检测机制
本次实例中,内容设置如下:
-----------------------------------------------
[root@server01 ~]# cat /etc/ha.d/ha.cf
debugfile /var/log/ha-debug #用于记录heartbeat的调试信息
logfile /var/log/ha-log #用于记录heartbeat的日志信息
logfacility local0 #系统日志级别
keepalive 2 #设定心跳(监测)间隔时间,默认单位为秒
warntime 10 ##警告时间,通常为deadtime时间的一半
deadtime 30 # 超出30秒未收到对方节点的心跳,则认为对方已经死亡
initdead 120 #网络启动时间,至少为deadtime的两倍。
hopfudge 1 #可选项:用于环状拓扑结构,在集群中总共跳跃节点的数量
udpport 694 #使用udp端口694 进行心跳监测
ucast eth1 192.168.50.1 #采用单播,进行心跳监测,IP为对方主机IP
auto_failback on #on表示当拥有该资源的属主恢复之后,资源迁移到属主上
node server01 #设置集群中的节点,节点名须与uname –n相匹配
node server02 #节点2
ping 10.8.1.254 #ping集群以外的节点,这里是网关,用于检测网络的连接性
respawn root /usr/lib/heartbeat/ipfail
apiauth ipfail gid=root uid=root #设置所指定的启动进程的权限
-----------------------------------------------
注:heartbeat的两台主机分别为主节点和从节点。主节点在正常情况下占用资源并运行所有的服务,遇到故障时把资源交给从节点并由从节点运行服务。
2、资源文件haresources
ha.cf文件设置了heartbeat的检验机制,没有执行机制。Haresources用来设置当主服务器出现问题时heartbeat的执行机制。其内容为:当主服务器宕机后,该怎样进行切换操作。切换内容通常有IP地址的切换、服务的切换、共享存储的切换,从而使从服务器具有和主服务器同样的IP、SERVICE、SHARESTORAGE,从而使client没有察觉。在两个HA节点上该文件必须完全一致。
本次实例中,内容设置如下:
-----------------------------------------------
[root@server01 ~]# cat /etc/ha.d/haresources
server01 IPaddr::10.8.50.0/16 httpd
-----------------------------------------------
注:优先在server01上绑定一个虚拟IP 10.8.50.0 给eth0:0,并管理本机上的http服务;如果server01宕机后,server02可以自动启动http服务,并新分配虚拟IP 10.8.50.0给server02的eth0:0
3、认证文件authkeys
用于配置心跳的加密方式,该文件主要是用于集群中两个节点的认证,采用的算法和密钥在集群中节点上必须相同,目前提供了3种算法:md5,sha1和crc。其中crc不能够提供认证,它只能够用于校验数据包是否损坏,而sha1,md5需要一个密钥来进行认证。
本次实例中,内容设置如下:
-----------------------------------------------
[root@server01 ~]# cat /etc/ha.d/authkeys
auth 1
1 crc
-----------------------------------------------
注:需要更改该文件的属性为600,否则heartbeat启动将失败
[root@server01 ~]#chmod 600 /etc/ha.d/authkeys
六、配置从节点的heartbeat
将主节点上的heartbeat配置文件拷贝到从节点,并确保两个节点上的配置文件权限相同:
-----------------------------------------------
[root@server01 ~]# scp /etc/ha.d/ha.cf root@server02:/etc/ha.d/
[root@server01 ~]# scp /etc/ha.d/haresources root@server02:/etc/ha.d/
[root@server01 ~]# scp /etc/ha.d/authkeys root@server02:/etc/ha.d/
-----------------------------------------------
ha.cf文件需修改ucast的内容,将其指向主节点:
ucast eth1 192.168.50.1 #指定对方IP
其他文件内容无需修改。