说明:1. Piranha是RETHAT提供的一个基于web的LVS配置软件,可以省去手工配置lvs的 繁杂工作,同时也可以提供HA功能,也就
是配置双机热备。并且也可以监控RealServer的状态。
2. Ldirector 是heartbeat里的一个插件,它既可以用来配置LVS,也可以用来监控RealServer,以在RealServer发生故障时,将
故障机分离出去。若要实现HA功能,则需要安装整个heartheart。
###################Piranha的安装与配置#####################
1. yum -y install piranha
2. /etc/init.d/piranha_gui stop #启动piranha自带的httpd服务,所使用端口是3636
3.访问http://192.168.1.104:3636
1.点击”Login“按钮,提示输入用户名和密码
2.用户名:piranha 密码:需要使用piranha-passwd 设置,之后直接将设置的密码输入即可
4.进入web,就可以配置lvs了。 #因为基于web的配置非常简单,再此就不做具体操作了。
5.service pulse start #启动pulse后,lvs集群服务也就自动启动了。
6.为了配置RealServer方便,编写脚本如下:
vim /etc/init.t/lvsrs
#!/bin/bash
#
#chkconfig: 35 70 50
#
vip=192.168.1.100
lo=lo:0
retval=0
start() {
ifconfig $lo $vip netmask 255.255.255.255 up
route add -host $vip dev $lo
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
}
stop() {
ifconfig $lo down
route del -host $vip
echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
}
case $1 in
start)
start
retval=$?
[ $retval = 0 ] && echo "Starting lvs OK"
;;
stop)
stop
retval=$?
[ $retval = 0 ] && echo "Starting lvs Failed"
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac
exit 0
7.chmod +x /etc/init.d/lvsrs
8.chkconfig --add lvsrs
9./etc/init.d/lvsrs start
10.安装httpd进行测试
####################Ldirectord#######################
1.yum -y localinstall ldirectord-3.9.5-3.fc20.x86_64.rpm --nogpgcheck
2.cp /usr/share/doc/ldirectord-3.9.5/ldirectord.cf /etc/ha.d/
3.配置ldirectord.cf,如下:
# Global Directives
checktimeout=20 #检测RealServer时,在此时间里没有任何回应则就判定RealServer出错
checkinterval=10 #定义检测RealServer的时间间隔
#fallback=127.0.0.1:80 #当RealServer都出问题时,返回本地继续提供服务
#fallback6=[::1]:80
autoreload=yes #ldirectord.cf的配置改变后自动加载到内存中
logfile="/var/log/ldirectord.log"
#logfile="local0"
#emailalert="[email protected]"
#emailalertfreq=3600
#emailalertstatus=all
quiescent=no #定义在RealServer失效后,是否清除LVS路由表中失效节点,连接记录等和是否终止之前连接到此失效节点中的连接。no表示终止连接和清除记录,yes相反。
# Sample for an http virtual service
virtual=192.168.1.100:80
real=192.168.1.106:80 gate
real=192.168.1.107:80 gate
# real=192.168.6.6:80 gate
# fallback=127.0.0.1:80 gate
service=http
scheduler=rr
#persistent=600
netmask=255.255.255.255
protocol=tcp
checktype=negotiate
checkport=8080 #配置检测RealServer是否可用的端口,最好在RealServer上单独配置一个专门用于检测的基于端口访问的虚拟主机
request="index.html" #通过这个选项来检测RealServer是否正常。
receive="Test Page" #index.html所要返回的信息。
virtualhost=www.x.y.z
4.service ldirectord start
5.在RealServer上执行lvsrs脚本
service lvsrs start
6.注意:要单独使用ldirectord的话还需要自己手动配置VIP,否则需要将整个heartbeat软件安装上。
ifconfig eth0:0 192.168.1.100 netmask 255.255.255.255 up
route add -host 192.168.100
总结:
piranha和heartbeat(ldirectord),以及之后的keepalived都可以实现LVS的高可用和节点监控。但三种软件性能最优的是keepalived;heartbeat配置比较复杂;piranha在双击切换中没有主备之分,先启动的为主机,后启动的是备用机,也没有heartbeat中的auto_failback功能。所以,keepalived会单独讲。