LVS---6.仮想ipの2つの生成方式

2402 ワード

  • LVSの方法です.前に
  • について詳しく紹介しました.
  • もう1つは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
    

    使用方法:
    原文が見つかりません.このコードは他の人のものです.