RHEL6上配置基于Heartbeat+LVS+ldirectord的高可用服务(3)

# set Arp 当一台VS接管LVS服务时,可能会网络不通,这是因为路由器的MAC缓存表里无法及时刷新MAC.关于vip这个地址的MAC地址还是替换的VSMAC,解决方法是使用arping命令.

/sbin/arping -Ieth0 -c 5 -s $VIP $GW > /dev/null 2>&1

;;

 

stop)

/sbin/ipvsadm -C

/sbin/ipvsadm -Z

ifconfig eth0:0down

route del $VIP

rm -rf /var/lock/subsys/ipvsadm> /dev/null 2>&1

/sbin/arping -Ieth0 -c 5 -s $VIP $GW

echo "ipvsadmstoped"

;;

 

status)

if [ ! -e/var/lock/subsys/ipvsadm ];then

echo "ipvsadmis stoped"

status)

if [ ! -e/var/lock/subsys/ipvsadm ];then

echo "ipvsadmis stoped"

exit 1

else

ipvsadm -ln

echo"..........ipvsadm is OK."

fi

;;

restart

$0 stop

$0 start

;;

*)

echo "Usage:$0{start|stop|restart|status}"

exit 1

esac

exit 0

 

[root@masterheartbeat-2.1.3]#chmod 755 /etc/init.d/cluster

[root@masterheartbeat-2.1.3]#chkconfig -add heartbeat

至此负载节点已经安装配置完毕,把一下文件拷贝到相应备用节点的目录:

 authkeys,ha.cf,haresources,ldirectord.cf,cluster

备用几点只需要改动ha.cf文件中 “ucast eth1 192.168.94.11”中的ip地址为负载节点的eth1所对应的ip即可。其他配置完全相同。

 

5.真实节点的相关操作

1)在真实节点上安装lamp环境,或者其他应用程序,在制定存放网页的目录建立index.html文件,确保内容为“Test Page

2)在/etc/init.d下建立脚本文件:

#cat /etc/init.d/lvs_rs

#!/bin/sh

# chkconfig: 234572 08

# description:Config realserver lo:0 port and apply arp patch

VIP=192.168.50.179

./etc/rc.d/init.d/functions

case $1 in

            start)

            echo "lo:0 port starting"

            echo "0">/proc/sys/net/ipv4/ip_forward

            /sbin/ifconfig lo:0 $VIP broadcast $VIPnetmask 255.255.255.255 up

            /sbin/route add -host $VIP dev lo:0

            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

            sysctl -p

            ;;

            stop)

            echo "lo:0 port closing"

            ifconfig lo:0 down

            echo "1" > /proc/sys/net/ipv4/ip_forward

            echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce

            ;;

            *)

            echo "Usage: $0 {start|stop}"

            exit 1

esac

 

 

    添加为系统启动服务:

    #chkconfig –add lvs_rs

    #chkconfig –level345 on

6.测试

在负载节点上运行  watch ipvsadm -ln  命令,此命令现实lvs的转发列表。

交替停掉或者全部停掉两台真实节点上的httpd服务,查看转发列表的变化。

停掉负载节点,查看备用节点是否接管任务。访问虚拟IP看是否能访问到两台真实节点的web服务。

7.维护

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/07e0792c002b04cc7e9a820ddf9357db.html