LVS之DR脚本


Director脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/bin/bash
#
# LVS script for VS/DR
#
/etc/rc .d /init .d /functions
#
VIP=192.168.0.210
RIP1=192.168.0.221
RIP2=192.168.0.222
PORT=80
 
#
case  "$1"  in
start)           
 
   /sbin/ifconfig  eth0:1 $VIP broadcast $VIP netmask 255.255.255.255 up
   /sbin/route  add -host $VIP dev eth0:1
 
# Since this is the Director we must be able to forward packets
   echo  1 >  /proc/sys/net/ipv4/ip_forward
 
# Clear all iptables rules.
   /sbin/iptables  -F
 
# Reset iptables counters.
   /sbin/iptables  -Z
 
# Clear all ipvsadm rules/services.
   /sbin/ipvsadm  -C
 
# Add an IP virtual service for VIP 192.168.0.219 port 80
# In this recipe, we will use the round-robin scheduling method. 
# In production, however, you should use a weighted, dynamic scheduling method. 
   /sbin/ipvsadm  -A -t $VIP:80 -s wlc
 
# Now direct packets for this VIP to
# the real server IP (RIP) inside the cluster
   /sbin/ipvsadm  -a -t $VIP:80 -r $RIP1 -g -w 1
   /sbin/ipvsadm  -a -t $VIP:80 -r $RIP2 -g -w 2
 
   /bin/touch  /var/lock/subsys/ipvsadm  &>  /dev/null
;; 
 
stop)
# Stop forwarding packets
   echo  0 >  /proc/sys/net/ipv4/ip_forward
 
# Reset ipvsadm
   /sbin/ipvsadm  -C
 
# Bring down the VIP interface
   /sbin/ifconfig  eth0:1 down
   /sbin/route  del $VIP
   
   /bin/rm  -f  /var/lock/subsys/ipvsadm
   
   echo  "ipvs is stopped..."
;;
 
status)
   if  [ ! -e  /var/lock/subsys/ipvsadm  ];  then
     echo  "ipvsadm is stopped ..."
   else
     echo  "ipvs is running ..."
     ipvsadm -L -n
   fi
;;
*)
   echo  "Usage: $0 {start|stop|status}"
;;
esac


Realserver脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/bin/bash
#
# Script to start LVS DR real server.
# description: LVS DR real server
#
.   /etc/rc .d /init .d /functions
 
VIP=192.168.0.219
host=` /bin/hostname `
 
case  "$1"  in
start)
        # Start LVS-DR real server on this machine.
         /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)
 
         # Stop LVS-DR real server loopback device(s).
         /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)
 
         # Status of LVS-DR real server.
         islothere=` /sbin/ifconfig  lo:0 |  grep  $VIP`
         isrothere=` netstat  -rn |  grep  "lo:0"  grep  $VIP`
         if  [ !  "$islothere"  -o !  "isrothere"  ]; then
             # Either the route or the lo:0 device
             # not found.
             echo  "LVS-DR real server Stopped."
         else
             echo  "LVS-DR real server Running."
         fi
;;
*)
             # Invalid entry.
             echo  "$0: Usage: $0 {start|status|stop}"
             exit  1
;;
esac


注:此脚本来源于互联网





      本文转自limingyu0312  51CTO博客,原文链接:http://blog.51cto.com/limingyu/1920670,如需转载请自行联系原作者





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值