LVS---6.虚拟ip的两种产生方式

  • 一种是LVS的方式,前面我们已经做了详细的介绍

  • 另一种就是使用ucarp的方式

    cat setup_VIP.sh

#!/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

使用方法:

原文找不到了,这段代码是别人的。

你可能感兴趣的:(分布式,LVS)