LVS负载均衡脚本

配置环境:
3台机器
DR:192.168.232.135
RS1:192.168.232.136
RS2:192.168.232.137
VIP:192.168.232.100 ===》三台机器上都需要配置VIP
环境准备:

关闭防火墙
systemctl stop firewalld
setenforce 0

1、DR上操作:我的DR是192.168.232.135
安装管理软件ipvsadm,不需要启动

[root@localhost ~]# yum -y install ipvsadm

2、编译脚本

[root@localhost ~]# vim lvs.sh
#!/bin/bash
VIP=192.168.232.100
RS1=192.168.232.136
RS2=192.168.232.137

case $1 in
start)
     ifconfig ens33:0 $VIP broadcast $VIP netmask 255.255.255.255 up
     route add -host $VIP dev ens33:0
     ipvsadm -A -t $VIP:80 -s rr
     ipvsadm -a -t $VIP:80 -r $RS1:80 -g
     ipvsadm -a -t $VIP:80 -r $RS2:80 -g
     ;;
stop)
     ifconfig ens33:0 down
     route del $VIP
     ;;
*)
     echo "Usage: $0 {start | stop}"
     exit
esac

2.1、执行脚本

[root@localhost ~]# sh lvs.sh start

3、RS1和RS2上操作
安装httpd(两台都安装)

[root@localhost ~]#yum -y install httpd
[root@localhost ~]# echo "test1" > /var/www/html/index.html

启动httpd

[root@localhost ~]# systemctl start httpd

在这里插入图片描述
在这里插入图片描述

4、编写脚本(两台操作一样)

[root@localhost ~]# vim rs.sh
#!/bin/bash
VIP=192.168.232.100

case $1 in
start)
    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 "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
    echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
    echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
    sysctl -p
    ;;
stop)
   ifconfig lo:0 down
   route del $VIP
   echo "0" > /proc/sys/net/ipv4/conf/lo/arp_ignore
   echo "0" > /proc/sys/net/ipv4/conf/all/arp_ignore
   echo "0" > /proc/sys/net/ipv4/conf/lo/arp_announce
   echo "0" > /proc/sys/net/ipv4/conf/all/arp_announce
   sysctl -p
   ;;
*)
   echo "Usage: $0 {start | stop}"
   exit
esac

5、执行脚本

[root@localhost ~]# sh rs.sh start

6、最终结果
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/xuetengbo111/article/details/109100058