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:
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 实现业务高可用的更多相关文章
- Centos 7 下 Corosync + Pacemaker + psc 实现 httpd 服务高可用
一.介绍 高可用,大家可能会想到比较简单的Keepalived,或者更早一点的 heartbeat,也可能会用到 Corosync+Pacemaker,那么他们之间有什么区别. Heartbeat到了 ...
- Centos 7 下 Corosync + Pacemaker + DRBD + psc + crmsh 实现 mysql 服务高可用
一.介绍 高可用,大家可能会想到比较简单的Keepalived,或者更早一点的 heartbeat,也可能会用到 Corosync+Pacemaker,那么他们之间有什么区别. Heartbeat到了 ...
- CentOS 6.3下部署LVS(NAT模式)+keepalived实现高性能高可用负载均衡
一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台:CentOS 6.3 Kernel:2.6.32-279.el6.i686 LVS版本:ipvsadm-1.26 keepalive ...
- 原创hadoop2.6.4 namenode HA+Federation集群高可用部署
今天下午刚刚搭建了一个高可用hadoop集群,整理如下,希望大家能够喜欢. namenode HA:得有两个节点,构成一个namenode HA集群 namenode Federation:可以有 ...
- 采用pacemaker+corosync实现postgresql双机热备、高可用方案
环境说明 参照上章已完成postgresql流复制配置,并关闭postgres服务. su - postgres pg_ctl -D /data/postgresql/data/ stop -m fa ...
- Corosync+Pacemaker+crmsh构建Web高可用集群
一.概述: 1.1 AIS和OpenAIS简介 AIS应用接口规范,是用来定义应用程序接口(API)的开放性规范的集合,这些应用程序作为中间件为应用服务提供一种开放.高移植性的程序接口.是在实现高可用 ...
- 高可用集群之corosync+pacemaker
1.概念 在传统Linux集群种类,主要分了三类,一类是LB集群,这类集群主要作用是对用户的流量做负载均衡,让其后端每个server都能均衡的处理一部分请求:这类集群有一个特点就是前端调度器通常是单点 ...
- 理解 OpenStack 高可用(HA)(1):OpenStack 高可用和灾备方案 [OpenStack HA and DR]
本系列会分析OpenStack 的高可用性(HA)概念和解决方案: (1)OpenStack 高可用方案概述 (2)Neutron L3 Agent HA - VRRP (虚拟路由冗余协议) (3)N ...
- 全是干货---Linux 高可用(HA)集群基本概念详解
http://www.linuxidc.com/Linux/2013-08/88522.htm 高可用集群的衡量标准 HA(High Available), 高可用性群集是通过系统的可靠性(re ...
随机推荐
- ubuntu14.04 rabbitmq安装与使用 --修改RabbitMQ数据存储位置
参考:https://blog.csdn.net/tianjiewang/article/details/58383062 说明: ubuntu14.04 rabiitmq 默认 安装路径 /va ...
- <基础> PHP 进阶之 函数(Function)
引用参数 $name = "eko"; function chang_name(&$name){ $name .= '_after_change'; } chang_nam ...
- 网关协议学习:CGI、FastCGI、WSGI
网关协议学习:CGI.FastCGI.WSGI https://www.biaodianfu.com/cgi-fastcgi-wsgi.html
- ios http请求 配置
需要在xcode 中配置下才能请求
- 企业微信二次开发之-如何获取secret序列号
第一步:登录JEEWX后台,配置微信企业号账号信息(企业号.企业号应用) [1].配置企业微信信息 参数对应位置参考如下: [2].配置应用信息 必须四字段: 第二步: 登录企业微信后台,配置企业号应 ...
- fb 4.7英文版 显示行数
窗口(window)à首选项(Preference)—>常规(General)—>编辑器(Editors)—>文本编辑器(Text Editors)—>“显示行号”(Show ...
- 1:python 简介与基础
什么是python? 1.python是一种面向对象的解释型语言,它继承了传统编译语言的通用性和强大性,同时也借鉴了简单脚本和解释语言的易用性. 2.python 在自动化测试.人工智能.数据分析等方 ...
- dependencies与dependencyManagement的区别
1.DepencyManagement应用场景 当我们的项目模块很多的时候,我们使用Maven管理项目非常方便,帮助我们管理构建.文档.报告.依赖.scms.发布.分发的方法.可以方便的编译代码.进行 ...
- [Linux]实际操作中命令 su 与 sudo 的区别
------------------------------------------------------------------------------------------------ 首先我 ...
- Android Studio 打包时 Signature Version 选择V1还是V2 ?
只勾选V2会导致 7.0 以下的安卓机出现 INSTALL_PARSE_FAILED_NO_CERTIFICATES 的问题 ,推荐全选. 解决方案一v1和v2的签名使用1)只勾选v1签名并不会影响什 ...