您的位置:首页 > 运维架构 > Linux

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

2014-07-28 08:07 323 查看
摘要: Piranha WEB负载均衡

利用红帽 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息