zoukankan      html  css  js  c++  java
  • LVS之NAT和DR服务脚本

    NAT服务控制脚本

    #!/bin/bash
    #
    # chkconfig: - 88 12
    # description: LVS script for VS/NAT
    #
    . /etc/rc.d/init.d/functions
    #
    VIP=192.168.2.168
    DIP=192.168.2.170
    RIP1=192.168.2.171
    RIP2=192.168.2.172
    #
    case "$1" in
    start)           
    
      /sbin/ifconfig eth0:1 $VIP netmask 255.255.255.0 up
    
    # 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 rr
    
    # Now direct packets for this VIP to
    # the real server IP (RIP) inside the cluster
      /sbin/ipvsadm -a -t $VIP:80 -r $RIP1 -m
      /sbin/ipvsadm -a -t $VIP:80 -r $RIP2 -m
      
      /bin/touch /var/lock/subsys/ipvsadm.lock
    ;;
    
    stop)
    # Stop forwarding packets
      echo 0 > /proc/sys/net/ipv4/ip_forward
    
    # Reset ipvsadm
      /sbin/ipvsadm -C
    
    # Bring down the VIP interface
      ifconfig eth0:1 down
      
      rm -rf /var/lock/subsys/ipvsadm.lock
    ;;
    
    status)
      [ -e /var/lock/subsys/ipvsadm.lock ] && echo "ipvs is running..." || echo "ipvsadm is stopped..."
    ;;
    *)
      echo "Usage: $0 {start|stop}"
    ;;
    esac
    

    DR服务控制脚本

    Director脚本:

    #!/bin/bash
    #
    # LVS script for VS/DR
    #
    . /etc/rc.d/init.d/functions
    #
    VIP=192.168.2.170
    RIP1=192.168.2.171
    RIP2=192.168.2.172
    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脚本:

    #!/bin/bash
    #
    # Script to start LVS DR real server.
    # description: LVS DR real server
    #
    .  /etc/rc.d/init.d/functions
    
    VIP=192.168.2.170
    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
    
  • 相关阅读:
    台州 OJ 3847 Mowing the Lawn 线性DP 单调队列
    洛谷 OJ P1417 烹调方案 01背包
    快速幂取模
    台州 OJ 2649 More is better 并查集
    UVa 1640
    UVa 11971
    UVa 10900
    UVa 11346
    UVa 10288
    UVa 1639
  • 原文地址:https://www.cnblogs.com/jjzd/p/6786434.html
Copyright © 2011-2022 走看看