LVS 另类用法
[*]iptables -t mangle -A PREROUTING -p tcp -d 192.168.4.183/32 --dport 27000 -j MARK --set-mark 27000
[*]iptables -t mangle -A PREROUTING -p tcp -d 192.168.4.183/32 --dport 1027 -j MARK --set-mark 27000
[*]ipvsadm -A -f 27000 -s wlc -p 30
[*]ipvsadm -a -f 27000 -r 192.168.4.187:0 -g -w 1000
[*]ipvsadm -a -f 27000 -r 192.168.4.186:0 -g -w 1000
[*]ipvsadm -a -f 27000 -r 192.168.4.185:0 -g -w 1000
[*]#!/bin/bash
[*]
[*] REAL_SERVER1=192.168.4.185
[*] REAL_SERVER2=192.168.4.186
[*] REAL_SERVER3=192.168.4.187
[*]
[*]# CONN_SERVER1=`ipvsadm -lcn | grep $REAL_SERVER1:1027 |wc -l`
[*]# echo $CONN_SERVER1
[*]
[*]# WEIGHT_SERVER1=`ipvsadm |grep 192.168.4.185 | awk '{print $4}' `
[*]# echo WEIGHT_SERVER1 IS $WEIGHT_SERVER1
[*]
[*] REAL_SERVER=("192.168.4.185" "192.168.4.186" "192.168.4.187")
[*] echo "now it has ${#REAL_SERVER
[*]} real servers such as:" ${REAL_SERVER
[*]}
[*]
[*] j=0
[*] for i in ${REAL_SERVER
[*]}
[*]
[*] do
[*]
[*] CONN_SERVER[$j]=`/sbin/ipvsadm -lcn | grep $i:1027 |wc -l`
[*] WEIGHT_SERVER[$j]=`/sbin/ipvsadm |grep $i | awk '{print $4}' `
[*]
[*]
[*] echo "i am" $i
[*] echo "CONN_SERVER[$j]" ${CONN_SERVER[$j]}
[*] echo "WEIGHT_SERVER[$j]" ${WEIGHT_SERVER[$j]}
[*]
[*] if (( ${CONN_SERVER[$j]} ==0 )); then
[*]
[*] if !(( ${WEIGHT_SERVER[$j]}== 1000 )); then
[*] #echo aa ${WEIGHT_SERVER[$j]}
[*] /sbin/ipvsadm -e -f 27000 -r $i -w 1000 -g
[*] echo the weight of $i has been changed to 1000
[*] fi
[*]
[*] else
[*]
[*] if !(( ${WEIGHT_SERVER[$j]} == 1)); then
[*] # echo bb ${WEIGHT_SERVER[$j]}
[*] /sbin/ipvsadm -e -f 27000 -r $i -w 1 -g
[*] echo the weight of $i has been changed to 1
[*] fi
[*] fi
[*] let j++
[*] done
页:
[1]