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

jopen 10年前

linux下的高可用架构可以使用很多方案,比如开源的heartbeat、keepalived,红帽官方的RHCS以及piranha。红帽官方提供的两个解决方案都可以使用基于web界面的管理和配置,本章将讲解piranha配置相关的高可用集群。

使用piranha红帽配置lvs集群:(虚拟伺机服务器)

内网私有ip(心跳线,用来加强ha集群的健壮度)

pulsepiranha进程

前者是启动服务的,后者是进行开启图形

nanny具有后端检测功能(heartbeat中使用ldirectord来检测后端RS的健康状况)

实验环境:

RHEL6.4   selinux is disabled   iptables 关闭

主机以及IP准备:

node3 192.168.2.88              (VIP:192.168.2.83 PrivateIP:10.0.0.1)

node4 192.168.2.89 (VIP:192.168.2.83 PrivateIP:10.0.0.2)

node5 192.168.2.90 (VIP:192.168.2.83/32)

node6 192.168.2.93 (VIP:192.168.2.83/32)

主机规划分析:

node3node4作为HA高可用负载均衡集群平台,VIP为发布IPprivateIP用来检测主备的存活状态,增强HA的强壮度的。

node5node6作为后端的RS,提供真实服务。VIP的设置是因为使用LVS策略,需要直接对用户进行响应。

在每个主机/etc/hosts文件进行本地解析

node3 192.168.2.88

node4 192.168.2.89

node5 192.168.2.90

node6 192.168.2.93

安装与配置:

node3主机上进行安装配置:

# yum install piranha -y

# /etc/init.d/piranha-gui start 启动图形管理界面(开启的3636web接口)

# netstat -antlp | grep httpd

tcp        0      0 :::3636                    :::*                        LISTEN      2107/httpd

# piranha-passwd 设置图形管理密码

node4主机进行安装

# yum install piranha -y

piranha的相关配置文件

/etc/rc.d/init.d/piranha-gui                 用来配置HA

/etc/rc.d/init.d/pulse   用来启动piranha主进程

/etc/sysconfig/ha/conf/httpd.conf

/etc/sysconfig/ha/web/index.html

启动后在web界面进行配置:

http://192.168.2.88:3636 用户名piranha 密码登录

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

全局配置关闭

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

进行HA全局配置,设置主节点信息(私有IP是可选的,增强HA的健壮度)

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

设置BACKUP信息:

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

配置VIRTUAL SERVERS

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

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

添加服务:添加RS(node5node6,权值是lvs的策略问题,用于不同负载主机的配置)

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

脚本配置(默认配置就可以):

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

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

启用RSVirtual-Servers.

配置成功后的配置文件:

[root@node3 ha]# cat /etc/sysconfig/ha/lvs.cf

serial_no = 15

primary = 192.168.2.88

service = lvs

backup_active = 1

backup = 192.168.2.89

heartbeat = 1

heartbeat_port = 888

keepalive = 2

deadtime = 5

network = direct

debug_level = NONE

monitor_links = 1

syncdaemon = 0

virtual web {

active = 1

address = 192.168.2.83 eth0: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 = 6

reentry = 15

quiesce_server = 0

server node5 {

address = 192.168.2.90

active = 1

port = 80

weight = 1

}

server node6 {

address = 192.168.2.93

active = 1

port = 80

weight = 2

}

}

因为做的是高可用的负载均衡集群,因此node3node4上之前已经安装了LVS,如果没有安装可以#yim install ipvsadm -y 进行安装lvs具体的调度策略以及模式,请自行阅读,这里不做讲解。

HA平台搭建完毕,配置RS相关的设置

修改RSarpVIP

# vim /etc/sysconfig/arptables        两台rs都做相同的操作哦,因为VIP变化

*filter

:IN ACCEPT [0:0]

:OUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

[0:0] -A IN -d 192.168.2.83 -j DROP

[0:0] -A OUT -s 192.168.2.83 -j mangle --mangle-ip-s 192.168.2.90

COMMIT

# /etc/init.d/arptables_jf restart

#ifconfig eth0:1 192.168.2.83 netmask 255.255.255.255 up           RS端配置VIP/32

注意:生产环境中,rs的配置中,vip必须开机启动哦!!

#/etc/init.d/httpd start 测试httpd服务

#chkconfig httpd on

启动HA端的pulse进程,并且同步HA的备机;

# /etc/init.d/pulse start       (备机开启相同的服务)

#chkconfig pulse on

# scp lvs.cf node4:/etc/sysconfig/ha/

#tail -f /var/log/messages 查看HA详细日志

使用piranha搭建HA平台完毕。

测试:

负载均衡测试:

访问http://192.168.2.83   刷新出来node56web页面

# ipvsadm -l

TCP  192.168.2.83:http rr

-> node5:http                   Route   1      0          6

-> node6:http                   Route   2      0          7

高可用测试:

关闭piranha主节点node3node4会立即接管,访问服务,一切正常

(不过好像不支持回切功能)

(关闭包括关闭piranha主进程pulse或者主机关闭)

#给其中一节点崩溃内核试一试(#echo c > /proc/sysrq-trigger)

nannylvs后端检测测试:

关闭一个rs,观察服务的状态(发现piranha会自动检测到后台rs失败,将之剔除lvs策略表,只会提供正确的页面)

#ipvsadm -l

TCP  192.168.2.83:http rr

-> node6:http                   Route   2      0          21