快速安装LVS和Keepalived的Shell脚本
最编程
2024-08-10 21:39:20
...
#/bin/bash
vip="192.168.132.250"
dr1="192.168.132.120"
dr2="192.168.132.121"
rs1="192.168.132.131"
rs2="192.168.132.134"
#dr1配置keepalived
yum install -y keepalived
cat > /etc/keepalived/keepalived.conf <<EOF
global_defs {
}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
$vip/24
}
}
virtual_server $vip 80 {
delay_loop 3
lb_algo rr
lb_kind DR
protocol TCP
real_server $rs1 80 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server $rs2 80 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
EOF
systemctl restart keepalived
yum install -y ipvsadm sshpass
sed -i 35c"StrictHostKeyChecking no" /etc/ssh/ssh_config
setenforce 0
systemctl stop firewalld
#dr1复制keepalived文件到dr2
sshpass -p root ssh $dr2 "yum install -y keepalived"
sshpass -p root scp /etc/keepalived/keepalived.conf $dr2:/etc/keepalived/keepalived.conf
#dr2配置keepalived
dr2_cmd="
setenforce 0;
systemctl stop firewalld;
sed -i 's/MASTER/BACKUP/g' /etc/keepalived/keepalived.conf;
sed -i 's/100/90/g' /etc/keepalived/keepalived.conf;
systemctl restart keepalived;
"
sshpass -p root ssh $dr2 "$dr2_cmd"
#rs1,rs2配置lvs
cmd="
setenforce 0;
firewall-cmd --add-port=80/tcp;
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up;
route add -host $vip dev lo:0;
echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore;
echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce;
echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore;
echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce;
service httpd restart
"
sshpass -p root ssh $rs1 "$cmd"
sshpass -p root ssh $rs2 "$cmd"