LVS DR 實現腳本
# director端腳本
# cat /etc/init.d/ipvs
#!/bin/bash
#
# LVS service script
# chkconfig: - 90 10
. /etc/rc.d/init.d/functions
#
VIP=172.16.100.100
DIP=172.16.100.10
RIP1=172.16.100.11
RIP2=172.16.100.12
PORT=80
RSWEIGHT1=1
RSWEIGHT2=2
LOCKFILE=/var/lock/subsys/ipvsadm
case $1 in
start)
/sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev eth0:1
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -F
/sbin/iptables -Z
/sbin/ipvsadm -C
/sbin/ipvsadm -A -t $VIP:$PORT -s wrr
/sbin/ipvsadm -a -t $VIP:$PORT -r $RIP1 -g -w $RSWEIGHT1
/sbin/ipvsadm -a -t $VIP:$PORT -r $RIP2 -g -w $RSWEIGHT2
/bin/touch $LOCKFILE &> /dev/null
echo "ipvs is startd ..."
;;
stop)
if [ ! -e $LOCKFILE ]; then
echo " ipvs service is not started."
else
echo 0 > /proc/sys/net/ipv4/ip_forward
/sbin/ipvsadm -C
/sbin/ifconfig eth0:0 down
/sbin/route del $VIP
/bin/rm -f $LOCKFILE
echo " ipvs is stopped."
fi
;;
status)
[ -e $LOCKFILE ] && echo " ipvs is running ..." || echo "ipvs is stopped ..."
;;
esac
# realserver端腳本
[root@node1 ~]# cat /etc/init.d/realserver
#!/bin/bash
# lvs dr mode realserver script
# chkconfig: - 90 10
VIP=172.16.100.100
case $1 in
start)
/sbin/ifconfig lo down
/sbin/ifconfig lo up
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
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev lo:0
;;
stop)
/sbin/ifconfig lo:0 down
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
;;
status)
ALIASVIP=`ifconfig lo:0 | grep $VIP`
HOSTROUTE=`route -n | grep $VIP`
if [ "$ALIASVIP" -o "$HOSTROUTE" ]; then
echo " realserver is started .."
else
echo " realserver is stopped .."
fi
;;
*)
echo "$0: Usage: $0 {start|stop|status}"
esac
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.