#!/bin/sh
#Date: 2015-11-20
#By: charles
#Description: deploy backend server (bind lo interface and Inhibition arp)
VIP="192.168.2.12"
INT="lo:0"
lo_INT=`ifconfig|grep lo|awk -F " " '{print $1 }'`
. /etc/init.d/functions
function start() {
if [ "$lo_INT" == "lo" ];then
ifconfig $INT $VIP broadcast $VIP netmask 255.255.255.255 up
route add -host $VIP dev $INT
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
else
echo "vip is binded,Pls Re binding"
exit 2
fi
if [ $? -eq 0 ]
then
action "start bind vip and Inhibition arp is success" /bin/true
else
action "start bind vip and Inhibition arp failed" /bin/false
fi
}
function stop() {
ifconfig $INT $VIP broadcast $VIP netmask 255.255.255.255 up
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
if [ "$INT" != "lo" ]
then
action "stop bind vip and Inhibition arp is success" /bin/true
elif [ "$INT" == "lo" ]
then
action "stop bind vip is and Inhibition arp failed" /bin/false
else
echo "bind Error"
fi
}
function restart() {
stop
sleep 1
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo "USAGE :$0 {start|stop|restart}"
exit 2
esac
exit $?四、还有对keepalived的日志做rsyslog的日志专门记录
root@lvs-1 ~]# cat /etc/sysconfig/keepalived
1,修改keepalived的日志格式
# Options for keepalived. See `keepalived --help' output and keepalived(8) and
# keepalived.conf(5) man pages for a list of all options. Here are the most
# common ones :
#
# --vrrp -P Only run with VRRP subsystem.
# --check -C Only run with Health-checker subsystem.
# --dont-release-vrrp -V Dont remove VRRP VIPs & VROUTEs on daemon stop.
# --dont-release-ipvs -I Dont remove IPVS topology on daemon stop.
# --dump-conf -d Dump the configuration data.
# --log-detail -D Detailed log messages.
# --log-facility -S 0-7 Set local syslog facility (default=LOG_DAEMON)
#
#KEEPALIVED_OPTIONS="-D"
KEEPALIVED_OPTIONS="-D -d -S 0",
2, 配置rsyslog
yum install syslog -y
新加一下行
[root@lvs-1 ~]# vim /etc/rsyslog.conf | grep local0
local0.* /var/log/keepalived.log
[root@lvs-1 ~]#
/etc/init.d/rsyslog restart
/etc/init.d/keepalived restart
3,查看日志
[root@lvs-1 ~]# tail -f /var/log/keepalived.log
Nov 20 13:36:27 lvs-1 Keepalived_healthcheckers[12935]: Using LinkWatch kernel netlink reflector...
Nov 20 13:36:27 lvs-1 Keepalived_healthcheckers[12935]: Activating healthchecker for service [192.168.2.221]:80
Nov 20 13:36:27 lvs-1 Keepalived_healthcheckers[12935]: Activating healthchecker for service [192.168.2.30]:80
Nov 20 13:36:28 lvs-1 Keepalived_vrrp[12936]: VRRP_Instance(VI_1) Transition to MASTER STATE
Nov 20 13:36:28 lvs-1 Keepalived_vrrp[12936]: VRRP_Instance(VI_1) Received lower prio advert, forcing new election
Nov 20 13:36:29 lvs-1 Keepalived_vrrp[12936]: VRRP_Instance(VI_1) Entering MASTER STATE
Nov 20 13:36:29 lvs-1 Keepalived_vrrp[12936]: VRRP_Instance(VI_1) setting protocol VIPs.
Nov 20 13:36:29 lvs-1 Keepalived_healthcheckers[12935]: Netlink reflector reports IP 192.168.2.12 added
Nov 20 13:36:29 lvs-1 Keepalived_vrrp[12936]: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 192.168.2.12
Nov 20 13:36:34 lvs-1 Keepalived_vrrp[12936]: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 192.168.2.12