博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用红帽 Piranha 方案实现 WEB 负载均衡
阅读量:6196 次
发布时间:2019-06-21

本文共 2222 字,大约阅读时间需要 7 分钟。

hot3.png

Piranha 方案优点:
1.1.1 配置简洁高效:
配置简便一个 lvs.cf 配置文件即可搞定(类 keepalived 方案.)
 
1.1.2 WEB 配置界面.
WEB 配置对于那些不懂 LVS 配置的人员来说非常吸引力,你几乎只要花 15 分钟就可
以配置好一个完美的负载均衡及高可用性方案.
 
1.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), 192.168.2.117
一个作为备份 LVS Router(Backup LVS Router)。 192.168.2.15
 
活动 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 进程来调度客户端请求。
真是服务器,192.168.2.243
                     192.168.2.111
虚拟ip 192.168.2.27
Piranha的安装和配置
yum install piranha  -y (两个都要)
给这个网页服务设置密码
piranha-passwd  (192.168.2.117)
把它的web图形配置打开
/etc/init.d/piranha-gui start (192.168.2.117)
查看他开启的端口 netstat -antlp (http的端口)
现在在网页上配置
192.168.2.117:3636

配置完成后就会生成lvs.cf的文件,如果需要修改,可直接修改文件,但两边要同步。(/etc/sysconfig/ha/lvs.cf)
可以用一个命令查看此文件的连续变化  tail -f /etc/sysconfig/ha/lvs.cf
配置完成后将lvs.cf文件传输给另一台备份 LVS Router上将piranha服务的后台服务开启
/etc/init.d/pulse start (两个都开)
在real server上配置
192.168.2.243
ifconfig eth0:0 192.168.2.27 netmask 255.255.255.255 up
 arptables -A IN -d 192.168.2.27 -j DROP
 arptables -A OUT -s 192.168.2.27 -j mangle --mangle-ip-s 192.168.2.243
    /etc/init.d/arptables_jf save
   /etc/init.d/arptables_jf restart
192.168.2.111
ifconfig eth0:0 192.168.2.27 netmask 255.255.255.255 up
 arptables -A IN -d 192.168.2.27 -j DROP
 arptables -A OUT -s 192.168.2.27 -j mangle --mangle-ip-s 192.168.2.111
 /etc/init.d/arptables_jf save
  /etc/init.d/arptables_jf restart
测试:访问虚拟ip 192.168.2.27 再访问时就会出现real server的轮询

转载于:https://my.oschina.net/u/1772820/blog/271693

你可能感兴趣的文章
ecshop最全去版权
查看>>
php 视频、音频录制
查看>>
java编程思想-第六章-某些练习题
查看>>
leetcode--Validate Binary Search Tree
查看>>
Spring Boot 特性以及代码模板实例
查看>>
个人作业-Week3
查看>>
[LeetCode]27. Remove Element移除元素
查看>>
关系图
查看>>
项目管理协作平台 ...
查看>>
[Asp.net]SignalR实现实时日志监控
查看>>
FastReport快速入门
查看>>
NYOJ 6(贪心)
查看>>
基于matlab的fft变换中参数的设置
查看>>
数据库操作重要知识集锦一
查看>>
什么是跨域?怎么解决跨域?
查看>>
通达信公式-接近均线
查看>>
在iphone程序中打开word、execl、pdf等文档的源代码
查看>>
《常微分方程教程》习题2.3.5,(1)
查看>>
群给我的直观印象
查看>>
spring-security(2)
查看>>