• 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
    
  • 相关阅读:
    aa
    MySQL5.8下载及安装——免安装版
    eclipse中修改项目名
    利用kibana学习 elasticsearch restful api (DSL)
    https://www.cnblogs.com/shwee/p/9084535.html
    springboot+mybatis实现动态切换数据源
    docker-machine命令安装
    Docker 安装 RabbitMq
    yum 找不到程序,yum更换国内阿里源
    CentOS安装etcd和flannel实现Docker跨物理机通信
  • 原文地址:https://www.cnblogs.com/jjzd/p/6786434.html
Copyright © 2020-2023  润新知