Linux学习-LVS服务器上Director和Real Server的配置脚本

简单规划:
Director服务器IP:192.168.0.103
RS1服务器:192.168.0.109
RS2服务器:192.168.0.110
VIP:192.168.0.100
Director配置脚本如下:

#! /bin/bash
#
# LVS script for VS/DR
# 90为启动优先级,10为关闭优先级
# chkconfig: - 90 10

. /etc/init.d/functions

VIP=192.168.0.100
DIP=192.168.0.103
RIP1=192.168.0.109
RIP2=192.168.0.110
PORT=80
RSWEIGHT1=2
RSWEIGHT2=5

case "$1" in
start)
  if [ ! -e /var/lock/subsys/ipvsadm ]; then
    /sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up
    /sbin/route add -host $VIP dev eth0:0

    #Director服务器必须打开ip_forward转换数据包功能
    echo 1 > /proc/sys/net/ipv4/ip_forward

    #清除iptables规则
    /sbin/iptables -F
    #将所有链中的数据包和字节计数器归零
    /sbin/iptables -Z
    #清除所有的ipvsadm规则和服务
    /sbin/ipvsadm -C
    #添加ipvsadm规则
    /sbin/ipvsadm -A -t $VIP:$PORT -s wlc
    #添加RealServer
    /sbin/ipvsadm -a -t $VIP:$PORT -r $RIP1 -g -w $RSWEIGHT1
    /sbin/ipvsadm -a -t $VIP:$PORT -r $RIP2 -g -w $RSWEIGHT2
    /bin/touch /var/lock/subsys/ipvsadm &> /dev/null
    echo "ipvsadm is start and configured..."
  else
    echo "ipvsadm is running..."
  fi
  ;;
 stop)
  #停止转发数据包
  echo 0 > /proc/sys/net/ipv4/ip_forward
  #清除ipvsadm规则
  /sbin/ipvsadm -C
  #停止 vip接口
  /sbin/ifconfig eth0:0 down
  /sbin/route del $VIP &> /dev/null
  /bin/rm -rf /var/lock/subsys/ipvsadm

  echo 'ipvsadm is stopped ...'
  ;;
 status)
  #判断/var/lock/subsys/ipvsadm文件是否存在
  if [ ! -e /var/lock/subsys/ipvsadm ]; then
   echo "ipvsadm is stopped..."
  else
   echo "ipvsadm is running..."
   ipvsadm -Ln
  fi
  ;;
 *)
  echo "Usage:$0 {start|stop|status}"
  ;;
 esac

RealServer配置脚本

#!/bin/bash
#
# 启动LVS DR real server
# chkconfig: - 90 10
#

. /etc/init.d/functions

VIP=192.168.0.100
HOST=`/bin/hostname`
case "$1" in
start)
  #启动当前机器LVS-DR real server
  /sbin/ifconfig lo down
  /sbin/ifconfig lo up
  echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
  echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
  echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
  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)
  /sbin/ifconfig lo down
  /sbin/ifconfig lo up
  echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
  echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
  echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
  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)
  #停止LVS-DR real server
  /sbin/ifconfig lo:0 down
  echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
  echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
  echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
  echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
  ;;
status)
  #LVS-DR real server的状态
  islothere=`/sbin/ifconfig lo:0 | grep $VIP`
  isrothere=`netstat -rn | grep "lo:0" | grep $VIP`
  if [ ! "$islothere" -o ! "$isrothere" ];then
    echo "LVS-DR real server stopped."
  else
    echo "LVS-DR real server Running."
  fi
  ;;
*)
  echo "$0 : Usage: $0 {start|stop|status}"
  exit 1
  ;;
esac

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值