随风飞世 发表于 2018-8-21 09:07:12

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]
查看完整版本: Shell脚本自动安装LVS+Keepalived