高可用集群之简单资源配置

来源:互联网 发布:weui 开发案例 源码 编辑:程序博客网 时间:2024/06/06 08:24

pacemaker + corosync 的高可用集群搭建成功后,配置简单的web服务进行测试

搭建问题记录

  • 问题1:node unclean (offline)
    这里写图片描述

    解决办法禁用stonith

    crm(live)configure#property stonith-enabed=falsecrm(live)configure#verifycrm(live)configure#commit
  • 问题2:双机同时启动,但是都显示对方offline
    故障排查:
    再次检查双机通信情况 【可以通信】
    查找资料怀疑时间同步问题,重新设置集群内时间服务器,同步校对时间 【时间同步】
    查看corosync日志error和warning 【未发现问题】
    怀疑问题出在防火墙上,搭建前已经关闭iptables和SELinux,经查找果然centos7中还存在firewall作为默认防火墙。关闭后重启pacemaker,双机同时在线。

简单web资源部署

  • 配置IP地址资源
crm(live)# configurecrm(live)configure# primitive webip ocf:heartbeat:IPaddr params ip=192.168.116.228 op monitor interval=30s timeout=20s on-fail=restartcrm(live)configure# verify     crm(live)configure# commit     

webip 部署IP地址资源名
ocf:heartbeat:IPaddr 使用的服务代理
ip=192.168.116.228 是指定对外提供web服务的虚拟地址(node1=192.168.116.128; node2=192.168.116.129),当服务节点故障时,部署的webip可以转移到备用服务器上,保证对外提供服务。

这里写图片描述

在node2上使用ssh指令,关闭node1上得corosync服务,此时资源转移到node2

这里写图片描述

至此IP资源配置成功

  • 配置httpd资源
    Linux 中httpd服务对应Apache web服务

首先安装httpd服务

查看代理资源lsb中没有httpd服务代理
这里写图片描述

查找资料,找到类似问题的解决办法,在/etc/rc.d/init.d路径下创建服务脚本文件httpd,内容如下:
这里写图片描述

此时lsb中可以查看到httpd,部署资源

crm(live)configure# primitive webserver lsb:httpd op monitor interval=30s timeout=20s on-fail=restartcrm(live)configure# verifycrm(live)configure# commit

这里写图片描述

因为集群为了平衡复杂自动将资源部署于不同的节点上,现在通过定义组资源使这两个资源部署于同一个节点

crm(live)configure# group webGroup webip webServercrm(live)configure# verifycrm(live)configure# commit

(crm status 展示图待补充)

最后进行测试,在本机(宿主)访问192.168.116.228,kill掉服务节点centos1仍然可以访问页面,此时由centos2提供服务
这里写图片描述