lvs启动脚本

LVS_DR 脚本

 
  1. #!/bin/sh 
  2. # lvs      Start lvs 
  3. # chkconfig: 2345 08 92 
  4. # description:  Starts, stops and saves lvs 
  5.  
  6. SNS_VIP=192.168.16.200 
  7. SNS_RIP1=192.168.10.253 
  8. SNS_RIP2=192.168.10.254 
  9.  
  10.  
  11. . /etc/rc.d/init.d/functions 
  12.  
  13. #logger $0 called with $1 
  14. retval=0 
  15. start() 
  16.       #set squid vip 
  17.       /sbin/ipvsadm --set 30 5 60 
  18.       /sbin/ifconfig eth0:0 $SNS_VIP broadcast $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP up 
  19.       /sbin/route add -host $SNS_VIP dev eth0:0 
  20.       /sbin/ipvsadm -A -t $SNS_VIP:80 -s wlc -p 120 
  21.       /sbin/ipvsadm -a -t $SNS_VIP:80 -r $SNS_RIP1:80 -g -w 1 
  22.       /sbin/ipvsadm -a -t $SNS_VIP:80 -r $SNS_RIP2:80 -g -w 1 
  23.       touch /var/lock/subsys/ipvsadm > /dev/null 2 >&1 
  24.       echo "ipvsadm started" 
  25.  } 
  26.  
  27. stop() 
  28.       /sbin/ipvsadm -C 
  29.       /sbin/ipvsadm -Z 
  30.       ifconfig eth0:0 down 
  31.       route del $SNS_VIP 
  32.       rm -rf /var/lock/subsys/ipvsadm > /dev/null 2 >&1 
  33.       echo "ipvsadm stoped" 
  34.  
  35. status() 
  36.       if [ ! -e /var/lock/subsys/ipvsadm ];then 
  37.              echo "ipvsadm stoped" 
  38.              exit 1 
  39.       else 
  40.              echo "ipvsadm OK" 
  41.       fi 
  42.  
  43. case "$1" in 
  44.        start) 
  45.             start 
  46.             ;; 
  47.        stop) 
  48.            stop 
  49.             ;; 
  50.  
    •        status) 
    •            status
    •             ;;
             restart)
    •            stop  
    •         start 
    •             ;; 
          *) 
      echo $"Usage: $0 {start|stop|status}" 
      retval=1 
esac 
exit $retval 

 用service命令启动该脚本

 
  1. [root@localhost]# vim /etc/rc.d/init.d/lvs 输入上面的脚本内容(具体参数需要自己更改),保存
  2. [root@localhost]# chmod 755 /etc/rc.d/init.d/lvs
  3. [root@localhost]# service lvs start 
  4. ipvsadm started 
  5. [root@localhost]# service lvs status 
  6. ipvsadm OK 
  7. [root@localhost]# service lvs restart 
  8. ipvsadm stoped 
  9. ipvsadm started 
  10. [root@localhost]# service lvs stop 
  11. ipvsadm stoped 

使用chkconfig把lvs脚本添加到开机自启动项

 
  1. [root@localhost ]chkconfig --add lvs 
  2. [root@localhost ]chkconfig --level 2345 lvs on 
  3. [root@localhost ]chkconfig --list lvs 
  4. lvs   0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭 

在这个步骤的时候,遇到过一些麻烦,现问题已经解决,需要注意的是脚本中以下代码不能有错误,不然可能会遇到添加不上的情况,

 
  • #!/bin/sh 
  • # lvs      Start lvs 
  • # chkconfig: 2345 08 92 
  • # description:  Starts, stops and saves lvs 
  • #

chkconfig的相关知识,附链接,有兴趣的可参考

 LVS_RealServer 脚本

 
  1. #!/bin/bash 
  2. SNS_VIP=192.168.16.200 
  3. . /etc/rc.d/init.d/functions 
  4.  
  5. case "$1" in 
  6. start) 
  7. ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP 
  8. /sbin/route add -host $SNS_VIP dev lo:0 
  9. echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore 
  10. echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce 
  11. echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore 
  12. echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce 
  13. sysctl -p >/dev/null 
  14. echo "RealServer Start Ok" 
  15. ;; 
  16. stop) 
  17. ifconfig lo:0 down 
  18. route del $LVS_VIP >/dev/null 2 >&1 
  19. echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore 
  20. echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce 
  21. echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore 
  22. echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce 
  23. echo "RealServer Stoped" 
  24. ;; 
  25. *) 
  26. echo "Usage: $0 {start|stop}" 
  27. exit 1 
  28. esac