LVS-DR服务器的 Shell 脚本

#!/bin/bash

LOCK=/var/lock/ipvsadm.lock
VIP=172.16.100.20

. /etc/rc.d/init.d/functions

start() {
    PID=$(ifconfig | grep lo:10 | wc -l)
    if [ $PID -ne 0 ]; then
        echo "The LVS-DR-RIP Server is already running!"
    else
        /sbin/ifconfig lo:10 $VIP netmask 255.255.255.255 broadcast $VIP up
        /sbin/route add -host $VIP dev lo:10
        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
        /bin/touch $LOCK
        echo "Starting LVS-DR-RIP server is ok!"
    fi
}

stop() {
    PID=$(ifconfig | grep lo:10 | wc -l)
    if [ $PID -eq 0 ]; then
        echo "The LVS-DR-RIP Server is not running!"
    else
        /sbin/ifconfig lo:10 down
        /sbin/route del -host $VIP dev lo:10
        rm -rf $LOCK
        echo "Stopping LVS-DR-RIP server is ok!"
    fi
}

status() {
    if [ -e $LOCK ]; then
        echo "The LVS-DR-RIP Server is already running!"
    else
        echo "The LVS-DR-RIP Server is not running!"
    fi
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        start
        ;;
    status)
        status
        ;;
    *)
        echo "Usage: $0 {start | stop | restart | status}"
        exit 1
        ;;
esac

exit 0

#!/bin/bash

LOCK=/var/lock/ipvsadm.lock
VIP=172.16.100.20
RIP1=172.16.100.21
RIP2=172.16.100.22
DipName=ens18

. /etc/rc.d/init.d/functions

start() {
    PID=$(ipvsadm -Ln | grep ${VIP} | wc -l)
    if [ $PID -gt 0 ]; then
        echo "The LVS-DR Server is already running!"
    else
        # Set the Virtual IP Address
        /sbin/ifconfig ${DipName}:0 $VIP broadcast $VIP netmask 255.255.255.255 up
        /sbin/route add -host $VIP dev ${DipName}:10

        # Clear IPVS Table
        /sbin/ipvsadm -C

        # Set LVS
        /sbin/ipvsadm -A -t $VIP:80 -s rr
        /sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g
        /sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g

        /bin/touch $LOCK

        # Run LVS
        echo "Starting LVS-DR Server is ok!"
    fi
}

stop() {
    # Clear LVS and VIP
    /sbin/ipvsadm -C
    /sbin/route del -host $VIP dev ${DipName}:20
    /sbin/ifconfig ${DipName}:2 down > /dev/null
    rm -rf $LOCK
    echo "Stopping LVS-DR server is ok!"
}

status() {
    if [ -e $LOCK ]; then
        echo "The LVS-DR Server is already running!"
    else
        echo "The LVS-DR Server is not running!"
    fi
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        start
        ;;
    status)
        status
        ;;
    *)
        echo "Usage: $0 {start | stop | restart | status}"
        exit 1
        ;;
esac

exit 0

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值