文档章节

红帽 Piranha 方案实现 WEB 负载均衡

lee_ypp
 lee_ypp
发布于 2014/07/26 10:37
字数 1141
阅读 3370
收藏 96
点赞 10
评论 17

利用红帽 Piranha 方案实现 WEB 负载均衡 

系统环境: RHEL6.5x86_64 small install selinux and iptables disabled

Virtual IP             192.168.2.253

192.168.2.162    server62.exampl.com     (主节点)

192.168.2.163    server63.example.com(备用节点)

192.168.2.52      desktop52.example.com(real server)

192.168.2.53      desktop53.example.com(real server)

编辑/etc/hoststs做以上解析

一. Piranha 方案基本简绍. 

1. Piranha 方案优点: 

1.1 配置简洁高效: 

配置简便一个 lvs.conf 配置文件即可搞定(类 keepalived 方案.)

1.2 WEB 配置界面. 

WEB 配置对于那些不懂 LVS 配置的人员来说非常吸引力,你几乎只要花 15 分钟就可以配置好一个完美的负载均衡及高可用性方案. 

1.3    完整的功能: 

主备 LVS (Load Balancer)的 Heartbeat 和 HA (pulse, send_arp) ,Load Balancer 和 Real Server 间进程服务的 Heartbeat (nanny) 

*IPVS 功能  (lvsd) 

*IPVS 的管理  (ipvsadm) 

2. Piranha 方案原理结构描述: 

Piranha 方案是基于 LVS 基础上设计的一套负载均衡高可用解决方案. 

LVS 运行在一对有相似配置的计算机上: 

一个作为活动 LVS Router(Active LVS Router), 一个作为备份 LVS Router(Backup LVS Router)。 

活动 LVS Router 服务有两个角色: 

*  均衡负载到真实服务器上。 

*  检查真实服务器提供的服务是否正常。 

备份 LVS Router 用来监控活动的 LVS Router,以备活动的 LVS Router 失败时由备份 LVS Router 接管。

Pulse: 

Pulse 进程运行在活动 LVS Router 和备份 LVS Router 上。 在备份 LVS Router 上,pulse 发送一个心跳(heartbeat)到活动 LVS Router 的公网接口上以检查活动 LVS Router 是否正常。 

在活动 LVS Router 上,pulse 启动 lvs 进程并响应来自于备份 LVS Router 的心跳。

lvsd: 

lvs 进程调用 ipvsadm 工具去配置和维护 IPVS 路由表,并为每一个在真实服务器上的虚拟服务启动一个 nanny 进程。 

nanny: 

每一个 nanny 进程去检查真实服务器上的虚拟服务状态,并将故障情况通知 lvs进程。假如一个故障被发现,lvs 进程通知 ipvsadm 在 IPVS 路由表中将此节点删除。 

send_arp: 

如果备份 LVS Router 未收到来自于活动 LVS Router 的响应, 它将调用 send_arp 将虚拟 IP 地址再分配到备份 LVS Router 的公网接口上。 并在公网接口和局域网接口上分别发送一个命令去关掉活动 LVS Router 上的 lvs进程。同时启动自己的 lvs 进程来调度客户端请求。 

3. Piranha 方案基本套件安装: 

#yum install ipvsadm modcluster piranha system‐config‐cluster php php‐cli php‐common 

4. 配置文件介绍: 

/etc/sysconfig/ha/lvs.cf          //由http://ip:3636 web界面配置的配置文件写入此文件. 

/etc/init.d/piranha‐gui start    //启动 piranha 服务的 WEB 配置界面. 

/etc/init.d/pulse                      //启动 piranha 服务读取的就是/etc/sysconfig/ha/lvs.cf. 

二. Piranha 配置 

通过 WEB 界面配置 Piranha 服务. 

# /etc/init.d/piranha‐ gui start    //启动 Piranha 服务. 

#/usr/sbin/piranha‐ passwd    //设置密码,请设置你的 piranha 服务 WEB 配置登陆密码. 

http://192.168.2.162:3636    //输入用户名: piranha  及刚才设置的密码登陆. 

登陆后,选择 Global Settings  这是对 LVS 的配置 

Primary server public IP  输入公网 IP:192.168.2.162,应用后按 ACCEPT 按钮保存设置。 

通过 WEB 配置主 LVS 的信息 

1. 配置主 LVS 

2.配置备份 LVS 

3. 配置添加 LVS( VIP 信息) 

4. 配置 Realserver 

 启动节点


5.启动 LVS 服务 pulse 

# /etc/init.d/pulse start 

Starting pulse:                                                                                        [    OK    ] 

如果不报错,表示启动成功! 

到此 LVS 的服务器已经配置完成了启动两个程序   

1、piranha‐gui    是用来配置 LVS 的 

2、pulse              是用来启动 LVS 的 
     
  6.    备份 LVS 安装与配置 

备份 LVS 安装同主 LVS 安装方法同样.直接将 lvs.conf 拷贝到相应的目录下: 

#scp    /etc/sysconfig/ha/lvs.cf root@192.168.2.163:/etc/sysconfig/ha/ 

# /etc/init.d/pulse start  启动服务即可. 

7. 配置 Realserver 

#yum install -y arptables_jf

#ifconfig eth0:1 192.168.2.253 netmask 255.255.255.255

#arptables -A IN -d 192.168.2.253 -j DROP

#arptables -A OUT -s 192.168.2.253 -j mangle --mangle-ip-s 192.168.2.53

#service arptables_jf save

以上操作会自动生成文件/etc/sysconfig/arptables

#cd /var/www/html/        //进入Apache默认发布目录

#echo `hostname` >  index.html

#service httpd start        //启动Apache服务

测试:

1).访问虚拟ip查看能否访问到两台realserver节点的httpd服务。刷新页面显示不同内容,说明实现了轮转循环。

2).停掉负载主节点的pulse服务,备用节点自动接管任务。

3).交替stop掉或者全部stop掉两台realserver的httpd服务,查看转发列表的变化。

                ——leeypp@gmail.com  


© 著作权归作者所有

共有 人打赏支持
lee_ypp
粉丝 64
博文 43
码字总数 58692
作品 0
程序员
加载中

评论(17)

lee_ypp
lee_ypp

引用来自“酒瓶不倒”的评论

引用来自“酒瓶不倒”的评论

这个架构不稳定

引用来自“lee_ypp”的评论

这个架构红帽已经过二次开发,其实是比较稳定的@酒瓶不倒
你在生成线用过吗,因为我用过

领教了,谢谢@酒瓶不倒
酒瓶不倒
酒瓶不倒

引用来自“酒瓶不倒”的评论

这个架构不稳定

引用来自“lee_ypp”的评论

这个架构红帽已经过二次开发,其实是比较稳定的@酒瓶不倒
你在生成线用过吗,因为我用过
lee_ypp
lee_ypp

引用来自“elain”的评论

这是N年前的东西了,并不是什么新东西

这个架构红帽已经过二次开发,其实是比较稳定的 @酒瓶不倒
lee_ypp
lee_ypp

引用来自“elain”的评论

这是N年前的东西了,并不是什么新东西
是的,但是现在rhel7.0已经用keepalived和haproxy代替了prianha@elain
lee_ypp
lee_ypp

引用来自“AkataMoKa”的评论

这个和 haproxy 的负载均衡相比,有什么差异?
你可以看看这篇文章http://blog.sina.com.cn/s/blog_49afe3df01018qlr.html,haproxy是与keepalived整合到一起的,我的另一篇博客介绍了具体的搭建过程;而prinaha是红帽自己开发的,它将lvs整合到其中,图形化界面便于操作@AkataMoKa
lee_ypp
lee_ypp

引用来自“酒瓶不倒”的评论

这个架构不稳定
这个架构红帽已经过二次开发,其实是比较稳定的@酒瓶不倒
妩媚的悟空
妩媚的悟空

引用来自“酒瓶不倒”的评论

这个架构不稳定
相当不稳定,pluse进程老当,比nginx的差远了。。。
AkataMoKa
AkataMoKa
这个和 haproxy 的负载均衡相比,有什么差异?
人头马没面
人头马没面
相对nginx还是有点复杂啊 也不好维护
e
elain
这是N年前的东西了,并不是什么新东西
Veritas 联手红帽 共同保障OpenStack关键业务应用程序部署

北京 – 2016 年 9 月 14 日 – 今日,全球信息管理解决方案领导厂商Veritas Technologies宣布将与全球领先开源解决方案提供商红帽( Red Hat, Inc,纽约证交所代码:RHT)携手合作,共同致力...

玄学酱 ⋅ 05/15 ⋅ 0

Nginx+Tomcat关于Session的管理

前言 Nginx+Tomcat对Session的管理一直有了解,但是一直没有实际操作一遍,本文从最简单的安装启动开始,通过实例的方式循序渐进的介绍了几种管理session的方式。 nginx安装配置 1.安装nginx...

ksfzhaohui ⋅ 05/31 ⋅ 0

利用红帽 Piranha 方案实现 WEB 负载均衡

Piranha 方案优点: 1.1.1 配置简洁高效: 配置简便一个 lvs.cf 配置文件即可搞定(类 keepalived 方案.) 1.1.2 WEB 配置界面. WEB 配置对于那些不懂 LVS 配置的人员来说非常吸引力,你几乎只要花...

joansun ⋅ 2014/06/02 ⋅ 0

基于lvs的piranha负载均衡高可用集群

基于lvs的piranha负载均衡高可用集群 一.Piranha方案基本简绍. 1.Piranha方案优点: 配置简洁高效: 配置一个lvs.conf配置文件即可搞定(类keepalived方案.) WEB配置界面: WEB配置对于那些不懂...

cunlifang ⋅ 2014/05/31 ⋅ 0

piranha-基于web界面的HA配置管理平台

piranha构建高可用平台 使用piranha红帽配置lvs集群:(虚拟伺机服务器) 内网私有ip(心跳线,用来加强ha集群的健壮度) pulse和piranha进程 前者是启动服务的,后者是进行开启图形 nanny具有后...

Andy-xu ⋅ 2014/05/31 ⋅ 4

红帽推出All-In-One数据中心存储解决方案

  【IT168 资讯】Red Hat(红帽)是一家软件公司,以出售Linux起家,但现在该公司似乎想通过一个名为Red Hat Storage One的产品,进入一个新的领域。这是一款即插即用的软件定义存储设备,不...

it168网站 ⋅ 04/27 ⋅ 0

RHEL7下 nginx 的详细配置

Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-l...

老唐6 ⋅ 04/15 ⋅ 0

如何利用集群技术实现Web服务器的负载均衡

集群(Cluster)所谓集群是指一组独立的计算机系统构成的一个松耦合的多处理器系统,它们之间通过网络实现进程间的通信。应用程序可以通过网络共享内存进行消息传送,实现分布式计算机。 负载均...

范堡 ⋅ 2009/05/07 ⋅ 0

[转载]利用集群技术实现Web服务器的负载均衡

本文出自《网管员世界》2002年第10期“系统维护”栏目 集群和负载均衡的概念 集群(Cluster) 所谓集群是指一组独立的计算机系统构成的一个松耦合的多处理器系统,它们之间通过网络实现进程间的...

红薯 ⋅ 2009/05/06 ⋅ 1

红帽企业Linux 7.5正式发布,功能增强

红帽今天宣布推出红帽企业Linux 7.5操作系统,并提供混合云环境和企业界所需的新功能和安全增强功能。 红帽企业Linux 7.5提升了性能,增强了安全性,并且部署了大量新功能,让桌面,服务器和...

六库科技 ⋅ 04/20 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Java NIO之字符集

1 字符集和编解码的概念 首先,解释一下什么是字符集。顾名思义,就是字符的集合。它的初衷是把现实世界的符号映射为计算机可以理解的字节。比如我创造一个字符集,叫做sex字符集,就包含两个...

士别三日 ⋅ 37分钟前 ⋅ 0

Spring Bean基础

1、Bean之间引用 <!--如果Bean配置在同一个XML文件中,使用local引用--><ref bean="someBean"/><!--如果Bean配置在不同的XML文件中,使用ref引用--><ref local="someBean"/> 其实两种......

霍淇滨 ⋅ 42分钟前 ⋅ 0

05、基于Consul+Upsync+Nginx实现动态负载均衡

1、Consul环境搭建 下载consul_0.7.5_linux_amd64.zip到/usr/local/src目录 cd /usr/local/srcwget https://releases.hashicorp.com/consul/0.7.5/consul_0.7.5_linux_amd64.zip 解压consu......

北岩 ⋅ 45分钟前 ⋅ 0

Webpack 4 api 了解与使用

webpack 最近升级到了 v4.5+版 01 官方不再支持 node4 以下版本 官方不再支持 node4 以下版本官方不再支持 node4 以下的版本,所以如果你的node版本太低,先开始升级node吧!话说node10 ...

NDweb ⋅ 55分钟前 ⋅ 0

使用nodeJs安装Vue-cli

Vue脚手架就是一个Vue框架开发环境 脚手架的意思是帮你快速开始一个vue的项目,也就是给你一套vue的结构,包含基础的依赖库,只需要 npm install就可以安装,让我们不需要为了编辑或者一些其...

木筏笔歆 ⋅ 今天 ⋅ 0

【微信小程序开发实战】0x00.开发前准备工作

写在开始 本人资深后端码农一枚,近期项目需求,接触到了微信小程序,将学习过程整理成文分享给小伙伴们,由于是边学边整理难免有表述不对的地方,望大家及时指正,感谢。 本人微信号: dream...

dreamans ⋅ 今天 ⋅ 0

linux redis的安装和php7下安装redis扩展

安装redis服务器 (1)下载安装包: $ wget http://download.redis.io/releases/redis-2.8.17.tar.gz (2)编译程序: $ tar xzf redis-2.8.17.tar.gz $ cd redis-2.8.17 $ make $ cd src &&......

concat ⋅ 今天 ⋅ 0

Guava EventBus源码解析

一、EventBus使用场景示例 Guava EventBus是事件发布/订阅框架,采用观察者模式,通过解耦发布者和订阅者简化事件(消息)的传递。这有点像简化版的MQ,除去了Broker,由EventBus托管了订阅&...

SaintTinyBoy ⋅ 今天 ⋅ 0

http怎么做自动跳转https

Apache 版本 如果需要整站跳转,则在网站的配置文件的<Directory>标签内,键入以下内容: RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)?$ https://%{SERVER_NAME......

Helios51 ⋅ 今天 ⋅ 0

Python爬虫,抓取淘宝商品评论内容

作为一个资深吃货,网购各种零食是很频繁的,但是能否在浩瀚的商品库中找到合适的东西,就只能参考评论了!今天给大家分享用python做个抓取淘宝商品评论的小爬虫! 思路 我们就拿“德州扒鸡”...

python玩家 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部