Centos7 安装部署 heartbeat 3.0.6

一、 下载源码包
http://www.linux-ha.org/wiki/Downloads 下载三个源码包

Heartbeat 3.0.6    	      Cluster Glue 1.0.12       Resource Agents 3.9.6
958e11be8686.tar.bz2   	  0a7add1d9996.tar.bz2      resource-agents-3.9.6.tar.gz

二、配置基础依赖

yum install -y bzip2 autoconf automake libtool glib2-devel libxml2-devel   bzip2-devel libtool-ltdl-devel asciidoc libuuid-devel

三、 安装编译

  1. 安装Cluster Glue
# tar  -jxvf  0a7add1d9996.tar.bz2
# cd Reusable-Cluster-Components-glue–0a7add1d9996/
# groupadd haclient
# useradd -g haclient hacluster
# ./autogen.sh
# ./configure --prefix=/usr/local/heartbeat/
# make && make install
  1. 安装Resource Agents
# tar xf v3.9.6.tar.gz
# cd resource-agents-3.9.6/
# ./autogen.sh
# export CFLAGS="$CFLAGS -I/usr/local/heartbeat/include -L/usr/local/heartbeat/lib"
# ./configure --prefix=/usr/local/heartbeat/
 ln -s  /usr/local/heartbeat/lib/* /lib/ 将生成的动态库 添加快捷方式到/lib下 
  ln -s  /usr/local/heartbeat/lib/* /lib64/  在make过程中需要在lib下找到Cluster Glue的so文件
# make && make install
  1. 安装heartbeat
```
# tar xf 958e11be8686.tar.bz2
# cd Heartbeat-3-0-958e11be8686
# ./bootstrap
# export CFLAGS="$CFLAGS -I/usr/local/heartbeat/include -L/usr/local/heartbeat/lib"
# ./configure --prefix=/usr/local/heartbeat/
# vi /usr/local/heartbeat/include/heartbeat/glue_config.h
 /*define HA_HBCONF_DIR “/usr/local/heartbeat/etc/ha.d/”*/ #把这一行用/**/注释掉    未注释的错误信息/usr/local/heartbeat/include/heartbeat/glue_config.h:105:0: error: "HA_HBCONF_DIR" redefined [-Werror]
# make && make install

重复以上步骤安装备机
建立软连接 主备机都需要

ln -svf /usr/local/heartbeat/lib64/heartbeat/plugins/RAExec/* /usr/local/heartbeat/lib/heartbeat/plugins/RAExec/
ln -svf /usr/local/heartbeat/lib64/heartbeat/plugins/* /usr/local/heartbeat/lib/heartbeat/plugins/

四、配置heartbeat
1. heartbeat中有三个配置文件需要修改 路径为 /usr/local/heartbeat/etc/ha.d/ ,该目录下有 authkeys ha.cf haresources
这三个文件需要修改 。首先 修改主机 备机的hostname
例: 主机 ha1 备机 ha2
修改authkeys
auth 3
#1 crc
#2 sha1 HI!
3 md5 Hello!
或者自定义一个密码 ,主机备机 这个文件内容必须一致 ,
# chmod 600 authkeys 修改权限否则启动报错。
2. 修改 ha.cf

debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 30
warntime 10
initdead 60
udpport 694
ucast eth0 172.16.10.111    #此处需要修改 设置另一台机器的ip 网卡 0 或者 1 的ip 
auto_failback on
node ha1       #此处默认为master机器的hostname  需要自己手动修改
node ha2     #此处默认为slave机器的hostname
ping 172.16.10.1   # 此处设置自己的网关
ping 172.16.10.1
respawn hacluster /usr/local/heartbeat/libexec/heartbeat/ipfail   #此处我就写了一行  看别的资料有写两行、三行的 ,我在日志看到有报错就写了一行。

把需要修改的地方自己处理下可以直接放进去
该文件 主备机 唯一一处不同的就是 ucast 后面的ip 分别为对方的ip

  1. 修改 haresources
ha1 IPaddr::172.16.10.99/24/eth0:0

master主机名 IPaddr ::虚拟浮动ip/掩码/网卡0或者1 :0

五、启动heartbeat
service heartbeat start
service heartbeat status
或者
systemctl start heartbeat
systemctl status heartbeat
查看日志
tail -f /var/log/message
或者
tail -f /var/log/ha-log
或者
tail -f /var/log/ha-debug
六、问题解决
1. 启动报错 没有找到某些文件 是没有建立软连接
ln -svf /usr/local/heartbeat/lib64/heartbeat/plugins/RAExec/* /usr/local/heartbeat/lib/heartbeat/plugins/RAExec/
ln -svf /usr/local/heartbeat/lib64/heartbeat/plugins/* /usr/local/heartbeat/lib/heartbeat/plugins/
2. 无法操作authkeys 原因 没有对该文件进行权限设定
chmod 600 authkeys
3. 常见的 [ping] [ucast] 这样的错误关键字
一般是 ha.cf 文件中配置问题 1.确保ping网关没问题 2.确保两个node 主机名 没有问题 3. 确保 ucast 。。。。这一长串书写没问题。
七、参考链接
https://blog.csdn.net/liaomin416100569/article/details/76087448
八、有什么错误可以留言 一块讨论
笔芯

你可能感兴趣的:(linux,工具类)