LVS 自开发脚本
lvs启动脚本—服务端chkconfig --add lvs
chmod +x /etc/init.d/lvs
# cat /etc/init.d/lvs
#!/bin/bash
# chkconfig: 2345 90 60
# description: lvs server start and stopscripts
# hexudong
. /etc/init.d/functions
VIP=(
192.168.1.16
)
RS=(
192.168.1.20
192.168.1.21
)
dev=eth0
arp_ip=192.168.1.253
lvs_start(){
ipvsadm -C
ipvsadm --set 30 5 60
for((i=0;i/dev/null 2>&1
ipvsadm -A -t ${VIP}:80 -s rr -p20
for ((n=0;n/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
sleep 1
if[ $RETVAL -eq 0 ]
then
action "The lvs_client is start" /bin/true
else
action "The lvs_client is start" /bin/false
fi
}
lvs_stop(){
for((i=0;i/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
sleep 1
if[ $RETVAL -eq 0 ]
then
action "The lvs_client is stop" /bin/true
else
action "The lvs_client is stop" /bin/false
fi
}
USAGE(){
echo "USAGE:$0{start|stop|restart}"
}
[ $# -ne 1 ]&&{
USAGE
exit2
}
case "$1" in
start)
lvs_start
exit $RETVAL
;;
stop)
lvs_stop
exit $RETVAL
;;
restart)
lvs_stop
lvs_start
exit $RETVAL
;;
*)
USAGE
exit 3
esac
web端 RS的健康检查
# cat lvs_rs_check.sh
#!/bin/bash
# hexudong
VIP=(
192.168.1.16
)
RS=(
192.168.1.20
192.168.1.21
)
web_file=/data0/check/index.html
html(){
cat>$web_file$web_file
echo " ${RS}" >>$web_file
echo " OK" >>$web_file
echo " ">>$web_file
done
cat>>$web_file&1
ipvsadm -A -t ${VIP}:80 -s wrr -p20
for ((n=0;n/dev/null 2>&1
RETVAL=$?
if[ $RETVAL -ne 0 ]
then
[ `ipvsadm -L -n|grep "TCP"|wc -l` -eq 0 ]&& \
lvs_add
else
[ `ipvsadm -L -n|grep "TCP"|wc -l` -ne 0 ]&& \
lvs_del
fi
}
main(){
while true;do
check_lvs
sleep 1
done
}
main
页:
[1]