Centos 7 下 Corosync + Pacemaker + psc + HA-proxy 实现业务高可用

一、介绍:

  1、本博客Corosync + Pacemaker + psc + HA-proxy 实现业务高可用,以httpd 服务实现高可用为例。

  2、架构思路

    a、三台web 节点,功能:全部安装 Corosync + Pacemaker + psc + HA-proxy 

    b、HA-proxy 绑定 和监听VIP 80端口,负载web 节点的 实际IP的80端口

    c、httpd 服务监控本地实际IP的80端口

  3、上一博客: Centos 7 下 Corosync + Pacemaker + psc 实现 httpd 服务高可用     

二、安装、配置 (继续上一博客继续配置)

  1、删除现有的WebSite 资源

    # pcs resource delete WebSite

  2、安装 haproxy 服务 (所有节点)

    # yum  -y  install haproxy

  3、配置 httpd 服务监控本地网卡80服务  (所有节点)

    # vim /etc/httpd/conf/httpd.conf

      Listen  80  修改为  Listen 网卡IP:80

    # systemctl restart httpd   

   4、配置 haproxy  (所有节点)

    # vim /etc/haproxy/haproxy.cfg  

#--------------------------------------------------------------------- # listen httpd server #--------------------------------------------------------------------- listen httpd_cluster bind 虚拟ip:80 balance roundrobin option tcpka option httpchk option tcplog server ceph1 ceph1:80 check port 80 inter 2000 rise 2 fall 5 server ceph2 ceph2:80 check port 80 inter 2000 rise 2 fall 5 server ceph3 ceph3:80 check port 80 inter 2000 rise 2 fall 5

 

 

  5、创建 haproxy 资源

    # pcs resource create haproxy systemd:haproxy op monitor interval="5s" 

    

    资源已创建、启动,但是有报错,这是因为在其他节点的haproxy配置中监控的 虚拟IP并没有落在这些节点上。

  6、配置 资源和 VIP的关系。

    1、资源和VIP 绑定,保持 VIP 和资源 始终在同一节点启动

      # pcs constraint colocation add haproxy with VIP INFINITY

    2、VIP 资源启动后,启动 haproxy 资源

      # pcs constraint order VIP then haproxy

  7、配置第5步之后,清除集群报错重新启动haproxy资源,集群恢复正常。

    1、清除集群报错

      # pcs resource cleanup

    2、重启 haproxy资源

      # pcs resource restart haproxy

    

  8、在集群节点小于2个,无法仲裁时,忽略仲裁,保证业务提供(集群所有节点均正常时配置)

    # pcs property set no-quorum-policy=ignore

 

  到此处,httpd 的 服务高可用全部配置完成。

三、测试

  结果如下:(轮询方式负载)

   

       另外,如果节点允许,可以 禁用网卡、重启服务器等方式暴力测试  集群以及服务高可用情况。

 

 


__EOF__

本文作者语 默
本文链接https://www.cnblogs.com/weijie0717/p/8528056.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   语~默  阅读(1352)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· Qt个人项目总结 —— MySQL数据库查询与断言
点击右上角即可分享
微信分享提示