利用红帽 Piranha 方案实现 WEB 负载均衡
博客专区 > joansun 的博客 > 博客详情
利用红帽 Piranha 方案实现 WEB 负载均衡
joansun 发表于4年前
利用红帽 Piranha 方案实现 WEB 负载均衡
  • 发表于 4年前
  • 阅读 24
  • 收藏 0
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

摘要: 构建 WEB 高可用负载均衡解决方案.
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的轮询


  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 4
博文 8
码字总数 8931
×
joansun
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: