LVS---6.仮想ipの2つの生成方式
#!/bin/bash
#------------------------------------------------------------------
# shell script: setup_VIP.sh
# date: 2012-03-06 16:24
# author: mengql
# copyright: Initdream
#------------------------------------------------------------------
set -e
#NOW_DIR=`pwd`
NOW_DIR=$1
INSTALL_DIR=/tmp
RPM_DIR=${NOW_DIR}/rpms
VIP_DIR=/etc/ucarp
PINC=$2
RIP=$3
VIP=$4
service ucarp stop
MASK=`ip addr show $PINC | awk '/inet /{print $2}'| awk -F/ '{print $2 }'`
sed -i "s/32/$MASK/g" /usr/libexec/ucarp/vip-up
sed -i "s/32/$MASK/g" /usr/libexec/ucarp/vip-down
# 01 check rpms
function check_rpms(){
cd ${NOW_DIR}
flag=0 # Not install ucarp
check_rpms=`rpm -qa | grep ucarp`
if [ "x${check_rpms}" != "x" ]; then
flag=1
fi
echo $flag
}
# 02 install rpms
function install_rpms(){
cd ${NOW_DIR}
echo "[INFO] Begining to install vip..."
flag=`check_rpms`
if [ $flag == 1 ]; then
echo "[INFO] vip hava already installed..."
opt_ucarp
else
opt_ucarp
fi
echo "[INFO] End to install vip..."
}
# 03 cp configuration file
# 04 interactively opt configuration file
function opt_ucarp(){
cd ${VIP_DIR}
if [ -f ./vip-001.conf ]; then
rm -rf ./vip-001.conf
fi
cp ${RPM_DIR}/vip-001.conf ./vip-001.conf
echo "[INOF] Please make configuration about VIP..."
DEFAULT_PNIC=`grep BIND_INTERFACE ./vip-001.conf | awk -F = '{print $2}'`
DEFAULT_RIP=`LC_ALL=C grep 'SOURCE_ADDRESS' ./vip-001.conf | awk -F = '{print $2}'`
DEFAULT_VIP=`LC_ALL=C grep 'VIP_ADDRESS' ./vip-001.conf | awk -F = '{print $2}'`
echo $PINC
`sed -i "s/${DEFAULT_PNIC}/${PINC}/g" ./vip-001.conf` > /dev/null
echo $RIP
`sed -i "s/${DEFAULT_RIP}/${RIP}/g" ./vip-001.conf` > /dev/null
echo $VIP
`sed -i "s/${DEFAULT_VIP}/${VIP}/g" ./vip-001.conf` > /dev/null
echo -e "[INFO] End to make configuration about VIP..."
rm -rf ./sed*
service ucarp restart
echo "[INFO] Installl vip successful.."
}
# 05 main
function show_help()
{
cat < Display this help and exit
Examples:
$ME
EOF
}
install_rpms
#opt_ucarp
使用方法:
原文が見つかりません.このコードは他の人のものです.