一、介绍:

  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. 如何消除“为帮助保护您的安全,Internet Explorer 已经限制此文件显示可能访问您计算机

    如何消除“为帮助保护您的安全,Internet Explorer 已经限制此文件显示可能访问您计算机的活动内容.单击此处查看选项...”每次打开都出现警告音,可以打开浏览器的工具--> Inte ...

  2. PHP实现防sql注入

    在查询数据库时需要防止sql注入 实现的方法: PHP自带了方法可以将sql语句转义,在数据库查询语句等的需要在某些字符前加上了反斜线.这些字符是单引号(').双引号(").反斜线(\)与 ...

  3. python 阿狸的进阶之路(7)

    面向对象 转自林海峰的博客  http://www.cnblogs.com/linhaifeng/articles/6182264.html 面向对象的理解: 将数据分类,比如学生类.数据有关的函数, ...

  4. MFC+OpenGL基础绘制<转>

    转载地址:https://blog.csdn.net/u013232740/article/details/47904115 ------------------------------------- ...

  5. css样式表2

    <head> <style type="text/css"> .main { height:42px; width:100%; text-align:cen ...

  6. Go的50度灰:Golang新开发者要注意的陷阱和常见错误(转)

    目录 [−] 初级 开大括号不能放在单独的一行 未使用的变量 未使用的Imports 简式的变量声明仅可以在函数内部使用 使用简式声明重复声明变量 偶然的变量隐藏Accidental Variable ...

  7. 多线程中的join总结笔记

    join方法的原理 就是调用相应线程的wait方法进行等待操作的,假如线程1中调用了线程2的join方法,则相当于在线程1中调用了线程2的wait方法,当线程2执行完(或者到达等待时间),线程2会自动 ...

  8. Logstash收集nginx日志之使用grok过滤插件解析日志

    grok作为一个logstash的过滤插件,支持根据模式解析文本日志行,拆成字段. nginx日志的配置: log_format main '$remote_addr - $remote_user [ ...

  9. $event Object angularjs

    You can pass the $event object as an argument when calling the function. The $event object contains ...

  10. 【372】Kaggle 相关经验

    参考:机器学习系列(3)_逻辑回归应用之Kaggle泰坦尼克之灾 参考:Kaggle泰坦尼克特征工程和模型融合 『解决一个问题的方法和思路不止一种』『没有所谓的机器学习算法优劣,也没有绝对高性能的机器 ...