文档章节

pacemaker之haproxy web(httpd)高可用实战详解

tantexian
 tantexian
发布于 2017/06/07 18:24
字数 691
阅读 194
收藏 0
点赞 0
评论 0

本博文分别完成如下实验:

1>首先实验简单的pacemaker+httpd高可用

2>在1的基础上面实现haproxy web负载均衡高可用

 

一:pacemaker+httpd高可用

1、首先需要根据之前博文步骤将node31、node32的pacemaker基础环境配置好。(node31、node32 IP地址为172.31.2.31 172.31.2.32)

 

centos7只pacemaker高可用安装配置详解:https://my.oschina.net/tantexian/blog/648990

或者:

查看配置好pacemaker的基础环境:

pcs cluster status

 


2、配置安装apache httpd服务(node31、node32都需要配置):

yum install httpd -y

vim /var/www/html/index.html

I'm node31!!! My IP is 172.31.2.31...(PS:在node32上面为:I'm node32!!! My IP is 172.31.2.32...)

重启httpd:systemctl restart httpd

 

页面请求:

Apache 1.3.2 及以后的版本,apache自带的功能server-status。可以用来查看apache进程占用的服务器资源及apache进程状态信息。

 

PS:由于后面pacemaker需要根据httpd server-status来进行检测(当然也可以使用其他页面/index.html)

开启httpd server-status:

vi /etc/httpd/conf/httpd.conf

<Location /server-status>

SetHandler server-status

Order Deny,Allow

Deny from all

Allow from localhost

</Location>

systemctl restart httpd

更多关于如何配置httpd请参考博文:http://blog.csdn.net/tantexian/article/details/50056199

 

 

3、添加一个VIP来给外界提供服务:

查看pcs使用帮助:pcs resource help

 

pcs resource create WebVIP ocf:heartbeat:IPaddr2 ip=172.31.2.100 cidr_netmask=32 op monitor interval=30s nic=eth0

注:上述的VIP必须与系统所有在网络处于同一个网段(但是没有被使用的IP,执行完上述命令则可以ping通WebVIP 172.31.2.100)。

解释ocf:heartbeat:IPaddr2:

ocf:代表pacemaker支持的资源标注类型,更多请参考博文:http://blog.csdn.net/tantexian/article/details/50160959

heatbeat:表示资源脚本所在ocf的命名空间。

IPaddr2:资源脚本名称。

 

 

3、配置好WEBVIP查看当前pacemaker状态:

 

 

4、查看pacemaker默认支持的apache使用:

pcs resource list | grep apache

 

pcs resource describe ocf:heartbeat:apache

 

 

5、添加apache到集群pacemaker控制中:

pcs resource create MyWeb ocf:heartbeat:apache configfile=/etc/httpd/conf/httpd.conf statusurl="http://localhost/server-status" op monitor interval=5s

设置为每隔5秒钟检测一次server-status状态。

 

 

启动整个集群节点:pcs cluster start --all)

 

 

启动resource(pcs没有直接启动resource的命令,只能通过):

pcs resource enable MyWeb

 

 

确保资源在同一个节点运行:

pcs constraint colocation add WebVIP MyWeb INFINITY

 

 

  • Resource Location(资源位置):定义资源可以、不可以或尽可能在哪些节点上运行;

  • Resource Collocation(资源排列):排列约束用以定义集群资源可以或不可以在某个节点上同时运行;

  • Resource Order(资源顺序):顺序约束定义集群资源在节点上启动的顺序;

 

 

6、当一个节点宕机,VIP会自动漂移到其他无故障主机,从而达到高可用。(可以使用关机模拟)。

© 著作权归作者所有

共有 人打赏支持
tantexian
粉丝 194
博文 470
码字总数 718362
作品 0
成都
架构师
haproxy负载均衡和配合keepalived的快速部署

四台服务器 server1.example.com //realserver 本次实验作为httpd服务器 server2.example.com //realserver 本次实验作为httpd服务器 server3.example.com //安装haproxy 和 keepalived ser......

月黑风高杀人夜
2015/07/18
0
1
keepalived+haproxy实现高可用负载均衡集群

keepalived+haproxy 实现高可用、负载均衡服务器集群 实验环境:iptables和selinux关闭 前端高可用负载均衡调度主机:vm7 172.25.28.7 vm8 172.25.28.8 后台应用服务器: vm1 172.25.28.1 vm...

yagujj
2015/07/17
0
0
高可用高性能负载均衡软件HAproxy详解指南-第一章(简介、安装)

第一章:HAproxy简介及安装配置 对Linux有兴趣的朋友加入QQ群:476794643 在线交流 本文防盗链:http://zhang789.blog.51cto.com 目录 HAproxy简介 为什么要使用HAproxy haproxy 性能特点 负...

好笔记运维
06/26
0
0
RedHat 7配置keepalived实现HAproxy群集

在之前的博文中,我搭建了一个1台HAproxy+2台Apache的WEB负载均衡测试环境,然而1台HAproxy终归存在单点故障的风险,如果能使用2台HAproxy做高可用,形成主备群集,对外提供一个VIP在两台HAp...

jianlong1990
06/26
0
0
HAProxy双机高可用方案之HAProxy+Keepalived

HAProxy双机高可用方案之HAProxy+Keepalived 一、keepalived高可用 Keepalived 的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的w...

lee_ypp
2014/07/26
0
4
Haproxy+Nginx搭建Web群集

Haproxy 是一种群集调度工具 ,是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。 Haproxy特别适用...

若此生无缘
06/23
0
0
HAProxy + Keepalived + Flume 构建高性能高可用分布式日志系统

一、HAProxy简介 HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代 理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通...

peng0819
2013/07/10
0
0
使用Haproxy及Nginx搭建Web群集

什么是HAProxy? HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理,可以运行于大部分主流的Linux操作系统上。 本次实验使用...

cchenyz
06/22
0
0
基于keepalived的Haproxy高可用配置

一、概述: HAProxy是一个用于4层或7层的高性能负载均衡软件,在大型网站的大型Web服务器群集中,HAProxy可用来替代专业的硬件负载均衡设备,节省大量的开支。 通常情况下,为了避免整个体系...

OutManLinux
07/01
0
0
利用HAProxy简单实现wordpress动静分离示例

系统拓扑图如下: 此处我利用Centos7.5作为服务器,将访问到此处的报文动静分离到下端服务器,Centos7.5A与Centos7.5B作为动态页面相应服务器,Centos7.5C用来反馈静态页面;Centos7.5 IP地址...

sherlockR
07/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

ES12-词项查询

1.词项查询介绍 全文查询将在执行之前分析查询字符串,但词项级别查询将按照存储在倒排索引中的词项进行精确操作。这些查询通常用于数字,日期和枚举等结构化数据,而不是全文本字段。 或者,...

贾峰uk
17分钟前
0
0
http状态码与ajax的状态值

ajax状态值 1.1 200 & OK:状态请求成功

litCabbage
20分钟前
0
0
iOS动画效果合集、飞吧企鹅游戏、换肤方案、画板、文字效果等源码

iOS精选源码 动画知识运用及常见动画效果收集 3D卡片拖拽卡片叠加卡片 iFIERO - FLYING PENGUIN 飞吧企鹅SpriteKit游戏(源码) Swift封装的空数据提醒界面EmptyView 沙盒文件浏览与分享调试控...

sunnyaigd
23分钟前
0
0
AngularJS配置.run()块中设置路由事件的监听器以及过滤未经授权的请求

AngularJS中的run方法初始化全局数据,只对全局作用域起作用,如$rootScope.多个控制器之间可以共享数据,如下代码所示: <script type="text/javascript"> var m1 = angular....

孟飞阳
23分钟前
0
0
Java语言学习(十):输入/输出

Java中,I/O操作代表着输入、输出,Java所有的I/O机制都是基于数据流进行输入输出。java.io类包提供了很多的输入输出处理功能方法,大家可以参考下JDK文档中关于I/O的一些处理方法:JDK在线中...

海岸线的曙光
33分钟前
1
0
基于阿里出得ng-Alain搭建后台管理系统

首先跟大家介绍一下ng_Alain(阿里团队出品) ng-alain技术栈基于 Typescript、Angular、g2、@delon 和 ng-zorro-antd,提前了解和学习这些知识会非常有帮助。 ng-alain 脚手架是基于 Angular ...

方宏春
37分钟前
1
0
Spring框架IOC和AOP的实现原理

一、IoC(Inversion of Control) (1). IoC(Inversion of Control)是指容器控制程序对象之间的关系,而不是传统实现中,由程序代码直接操控。控制权由应用代码中转到了外部容器,控制权的转...

HaierBrother
40分钟前
1
0
C++模版编程实现Haskell的函数模式匹配特性[图]

C++模版编程实现Haskell的函数模式匹配特性[图]: 大神 Bartosz Milewski 在2009年写了一篇文章《What Does Haskell Have to Do with C++?》,使用C++实现Haskell函数式编程语言的一些特性。...

原创小博客
41分钟前
1
0
${value}

1、就算 mapper 里面配置的名称是configSql ,在xml 里面配置的时候要注意 报错:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.Reflectio......

职业搬砖20年
47分钟前
1
0
Xamarin 学习笔记 - Layout(布局)

本文翻译自CodeProject文章:https://www.codeproject.com/Articles/1227733/Xamarin-Notes-Xamarin-Forms-Layouts 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案...

葡萄城技术团队
48分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部