Shell脚本自动安装LVS+Keepalived
#!/bin/bash########################################
keepalived=keepalived*.tar.gz
keepalived_dir=/usr/local/keepalived
mandir=/usr/local/share/man/
keepalived_date=/etc/keepalived
keepalived_conf=/etc/keepalived/keepalived.conf
#########################################
yum install -y ipvsadm kernel-devel popt-devel openssl-devel gcc
cd /tmp
tar -xvf $keepalived > $install_log
if [ $? -eq 0 ];then
echo "keepalived tar ok"
else
echo "keepalived tar no"
fi
sleep 5
cd /tmp/keepalived*
kernel=$(uname -r)
./configure --prefix=$keepalived_dir --mandir=$mandir --with-kernel-dir=/usr/src/kernels/$kernel*
if [ $? -eq 0 ];then
make
sleep 10
if [ $? -eq 0 ];then
make install
fi
if [ $? -eq 0 ];then
echo "keepalived make ok"
else
echo "keepalived make no"
fi
sleep 5
else
echo "Configuration error"
fi
sleep 6
if [ ! -d $keepalived_date ];then
mkdir -p $keepalived_date
fi
########################################################
cd $keepalived_date
###################keepalived.conf#####################
#############Global configuration#######################
echo -e " ! Configuration File for keepalived\nglobal_defs {\n\tnotification_email {\n\tjqbash@gmail.com\n\t}\n\tnotification_email_from root@localhost\n\tsmtp_server 127.0.0.1\n\tsmtp_connect_timeout 30\n\trouter_id lvs\n}" > $keepalived_conf
########################################################
read -p "Requires several load balancing " lb
for ((a=1;a
read -p "priority " priority
read -p "NIC binding " network
read -p "vip address " ip
############Virtual IP Configuration####################
echo -e "vrrp_instance VI_$a {\n\tstate$states\n\tinterface$network\n\tvirtual_router_id $id\n\t priority $priority\n\tadvert_int 1\n\tauthentication {\n\tauth_type PASS\n\tauth_pass tdoa\n\t}\n\tvirtual_ipaddress {\n\t$ip/24 dev $network\n\t}\n}" >> $keepalived_conf
###########Real Server Configuration####################
echo -e "virtual_server $ip 80 {\n\tdelay_loop 6\n\tlb_algorr\n\tlb_kind DR\n\tpersistence_timeout 50\n\tprotocol TCP\n\t" >> $keepalived_conf
read -p "Requires several reserver " server
for ((i=1;i> $keepalived_conf
done
echo } >> $keepalived_conf
done
##################################################
cp $keepalived_dir/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
cp $keepalived_dir/etc/sysconfig/keepalived /etc/sysconfig/
ln -s /usr/local/keepalived/sbin/keepalived /sbin/
service keepalived restart
页:
[1]