首页 > 技术文章 > Centos 7 下 Corosync + Pacemaker + psc + HA-proxy 实现业务高可用

weijie0717 2018-03-08 13:55 原文

一、介绍:

  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 的 服务高可用全部配置完成。

三、测试

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

   

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

 

 

推荐阅读