【8】 通过Piranha程序实现(VS-DR方式的HTTP LB Cluster)的高可用性
1】 Piranha简介
Piranha是一个用来监视、配置、和管理LVS集群的基于WEB的工具。它是维护/etc/sysconfig/ha/lvs.cf 集群配置文件的默认工具。
2】 网络拓扑结构
Client 8.8.48.22
|
|
| 8.8.48.1
DGW ----------------------
| 4.4.64.1 |
| |
| 4.4.64.66 (VIP) |
Director(主) Director(备)
| 4.4.64.100 (DIP) | 4.4.64.200(DIP)
| |
---------------------------------------------------
| | |
A B C (real http server) (RIP)
eth0:4.4.64.201 4.4.64.202 4.4.64.203
lo:0 4.4.64.66 4.4.64.66 4.4.64.66
3】 DGW ,Director(主) 和 real http server 的配置同上 6
Director(备)的配置同Director(主) 然后测试 主备 都正常工作
4】 在Director(主)和Director(备)上均安装Piranha软件
yum install piranha
5】 Director(主)上的配置
a】 piranha-passwd #生成网站登录密码
依赖此配置文件:
/etc/sysconfig/ha/conf/httpd.confb】 /etc/init.d/piranha-gui start #启动服务
c】 netstat -naltp | grep :3636 #查看服务是否启动成功
d】 firefox :3636/piranha/ #打开登录页面
e】 根据页面提示进行配置,配置完成后退出 查看生成的配置文件
cat /etc/sysconfig/ha/lvs.cf
serial_no = 20 primary = 4.4.64.100 service = lvs backup_active = 1 backup = 4.4.64.200 heartbeat = 1 heartbeat_port = 539 keepalive = 3 deadtime = 10 network = direct debug_level = NONE monitor_links = 1 syncdaemon = 0 virtual web_lb { active = 1 address = 4.4.64.66 eth0:0 sorry_server = 127.0.0.1 vip_nmask = 255.255.255.0 port = 80 send = "GET / HTTP/1.0\r\n\r\n" expect = "HTTP" use_regex = 0 load_monitor = none scheduler = rr protocol = tcp timeout = 2 reentry = 10 quiesce_server = 0 server RSA { address = 4.4.64.201 active = 1 port = 80 weight = 1 } server RSB { address = 4.4.64.202 active = 1 port = 80 weight = 1 } server RSC { address = 4.4.64.203 active = 1 port = 80 weight = 1 } } f】 scp /etc/sysconfig/ha/lvs.cf 4.4.64.200:/etc/sysconfig/ha/ #将配置文件拷贝到Director(备)上
g】 配置Director(主) 和 Director(备)的Sorry页面,当所有realserver都故障时,请求会被分发给director提供的sorry页面);
echo Sorry,please wait... > /var/www/html/index.html
service httpd start
h】 /etc/init.d/pulse start
Director(主) 和 Director(备) 均启动此服务
i】 ps aux | grep lvs #查看启动的进程
/usr/sbin/lvsd #此进程用于在主备director间检查心跳,并进行浮动资源部署和故障切换
/usr/sbin/nanny #此进程用于检查realserver健康情况,有几个realserver就有几个nanny进程
j】 两边都启动pulse服务后,可以看到在主director(2.2.2.100)上能看到浮动资源(VIP和lvs分发策略),而备director上并没有这些资源至此配置完成.
h】 进行测试
Director(主)故障后,自动切到Director(备)上 ,Director 恢复后 自动切回
三个realserver 都故障后,显示 Sorry 页面