千家信息网

LVS之DR脚本

发表于:2024-11-18 作者:千家信息网编辑
千家信息网最后更新 2024年11月18日,Director脚本:#!/bin/bash## LVS script for VS/DR#. /etc/rc.d/init.d/functions#VIP=192.168.0.210RIP1=192
千家信息网最后更新 2024年11月18日LVS之DR脚本


Director脚本:

#!/bin/bash## LVS script for VS/DR#. /etc/rc.d/init.d/functions#VIP=192.168.0.210RIP1=192.168.0.221RIP2=192.168.0.222PORT=80#case "$1" instart)             /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/functionsVIP=192.168.0.219host=`/bin/hostname`case "$1" instart)       # 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


注:此脚本来源于互联网

0