一、介绍:

  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:
balance roundrobin
option tcpka
option httpchk
option tcplog
server ceph1 ceph1: check port inter rise fall
server ceph2 ceph2: check port inter rise fall
server ceph3 ceph3: check port inter rise fall

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

三、测试

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

   

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

 

Centos 7 下 Corosync + Pacemaker + psc + HA-proxy 实现业务高可用的更多相关文章

  1. Centos 7 下 Corosync + Pacemaker + psc 实现 httpd 服务高可用

    一.介绍 高可用,大家可能会想到比较简单的Keepalived,或者更早一点的 heartbeat,也可能会用到 Corosync+Pacemaker,那么他们之间有什么区别. Heartbeat到了 ...

  2. Centos 7 下 Corosync + Pacemaker + DRBD + psc + crmsh 实现 mysql 服务高可用

    一.介绍 高可用,大家可能会想到比较简单的Keepalived,或者更早一点的 heartbeat,也可能会用到 Corosync+Pacemaker,那么他们之间有什么区别. Heartbeat到了 ...

  3. CentOS 6.3下部署LVS(NAT模式)+keepalived实现高性能高可用负载均衡

    一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台:CentOS 6.3 Kernel:2.6.32-279.el6.i686 LVS版本:ipvsadm-1.26 keepalive ...

  4. 原创hadoop2.6.4 namenode HA+Federation集群高可用部署

    今天下午刚刚搭建了一个高可用hadoop集群,整理如下,希望大家能够喜欢.   namenode HA:得有两个节点,构成一个namenode HA集群 namenode Federation:可以有 ...

  5. 采用pacemaker+corosync实现postgresql双机热备、高可用方案

    环境说明 参照上章已完成postgresql流复制配置,并关闭postgres服务. su - postgres pg_ctl -D /data/postgresql/data/ stop -m fa ...

  6. Corosync+Pacemaker+crmsh构建Web高可用集群

    一.概述: 1.1 AIS和OpenAIS简介 AIS应用接口规范,是用来定义应用程序接口(API)的开放性规范的集合,这些应用程序作为中间件为应用服务提供一种开放.高移植性的程序接口.是在实现高可用 ...

  7. 高可用集群之corosync+pacemaker

    1.概念 在传统Linux集群种类,主要分了三类,一类是LB集群,这类集群主要作用是对用户的流量做负载均衡,让其后端每个server都能均衡的处理一部分请求:这类集群有一个特点就是前端调度器通常是单点 ...

  8. 理解 OpenStack 高可用(HA)(1):OpenStack 高可用和灾备方案 [OpenStack HA and DR]

    本系列会分析OpenStack 的高可用性(HA)概念和解决方案: (1)OpenStack 高可用方案概述 (2)Neutron L3 Agent HA - VRRP (虚拟路由冗余协议) (3)N ...

  9. 全是干货---Linux 高可用(HA)集群基本概念详解

    http://www.linuxidc.com/Linux/2013-08/88522.htm 高可用集群的衡量标准    HA(High Available), 高可用性群集是通过系统的可靠性(re ...

随机推荐

  1. Centos7 下搭建SVN + Apache 服务器

    1. 安装httpd 安装httpd服务: $ sudo yum install httpd 检查httpd是否安装成功: $ httpd -version Server version: Apach ...

  2. 转载:C++函数中new一块内存,作为返回值

    转载来自:http://blog.itpub.net/7728585/viewspace-2123621/ 今天遇到一个问题,C++编程时,函数中new一块内存,然后将申请内存的指针作为返回值.怎么d ...

  3. 白鹭引擎 - 事件机制 ( Event, addEventListener, dispatchEvent )

    1, 自定义事件, MyEvent class MyEvent extends egret.Event { /** * 一般会定义一个 DATA 字段作为事件 * 绑定事件监听器时, 一般用 类.DA ...

  4. HTML5 Canvas 小例子 简易画板

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. redisCluster 使用 pipeline功能

    Redis从3.0版本后引入了令人兴奋的cluster集群模式,相信很多人都尝试过了,在高兴之余却发现redis官方的cluster对于Java客户端的jedis支持却不是很好,至少目前的版本clus ...

  6. day3 python 阿狸的进阶之路

    函数概念: 1.为什要有函数 组织结构不清晰,可读性差,代码冗余,可扩展性差. 2.什么是函数   具备某一个功能的工具--->函数     事先准备工具->函数的定义     拿来就用. ...

  7. Servlet基本_オブジェクトのスコープ

    1.スコープ種類Servletには以下のスコープがあります.Request.Session.Applicationの順にスコープは広くなっていきます.・Applicationスコープ:アプリケーション ...

  8. Ftp命令使用

    FTP> ? 显示 ftp 命令说明.? 与 help 相同. 格式:?  [command] 说明:[command] 指定需要帮助的命令名称.如果没有指定 command,ftp将显示全部命 ...

  9. haproxy + nginx + proxy protocol 获得客户真实IP方法

    公司网站架构为: 前面2台HA负载均衡,后面3台Nginx负载均衡反向代理,然后后面有N台WEB服务器 由于要统计IP,需要在WEB服务器日志里体现客户端真实IP 那么问题来了,通过HA代理的HTTP ...

  10. 二、消息队列之如何在C#中使用RabbitMQ(转载)

    二.消息队列之如何在C#中使用RabbitMQ 1.什么是RabbitMQ.详见 http://www.rabbitmq.com/. 作用就是提高系统的并发性,将一些不需要及时响应客户端且占用较多资源 ...