web集群-lvs-DR模式基本配置

目录

环境:

一、配置RS

1、安装常见软件

2、配置web服务

3、添加vip

4、arp抑制

二、配置LVS

1、添加vip

2、安装配置工具

3、配置DR

三、测试

四、脚本方式配置

1、LVS-DR

2、LVS-RS


环境:

master lvs 192.168.80.161

node1 rs1 192.168.80.162

node2 rs2 192.168.80.163

VIP:192.168.80.10/32

一、配置RS

1、安装常见软件

bash 复制代码
yum install vim bash-completion wget tar net-tools lrzsz tree unzip psmisc dos2unix -y

2、配置web服务

bash 复制代码
yum install nginx -y        
cd /usr/share/nginx/heml/
mv index.html index.html.bak
echo "web test page, ip is `hostname -I`." > index.html  #修改默认主页
systemctl start nginx

3、添加vip

bash 复制代码
ifconfig lo:20 192.168.80.10 netmask 255.255.255.255

4、arp抑制

bash 复制代码
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

二、配置LVS

1、添加vip

bash 复制代码
ifconfig lo:20 192.168.80.10 netmask 255.255.255.255

2、安装配置工具

bash 复制代码
yum install ipvsadm -y

3、配置DR

bash 复制代码
ipvsadm -A -t 192.168.80.10:80 -s rr
ipvsadm -a -t 192.168.80.10:80 -r 192.168.80.162
ipvsadm -a -t 192.168.80.10:80 -r 192.168.80.163

【相关参数】   
-A 添加虚拟服务器
-t 设置集群地址(vip) 
-s 指定负载调度算法
-a 添加真实服务器
-d 删除真实服务器
-r 指定真实服务器
-m 使用nat模式:-g、-i分别对应DR、TUN模式
-w 为节点服务器设置权重,默认为1

保存:
ipvsadm -Sn > /etc/sysconfig/ipvsadm

三、测试

四、脚本方式配置

1、LVS-DR

bash 复制代码
vim /etc/init.d/LVS_DR

#!/bin/sh
#chkconfig: 2345 80 90
#description:auto_run
LOCK=/var/lock/ipvsadm.lock
VIP=192.168.80.10
RIP1=192.168.80.162
RIP2=192.168.80.163
DipName=ens33

. /etc/rc.d/init.d/functions
start(){
        PID=`ipvsadm -Ln | grep ${VIP} | wc -l`
        if [ $PID -gt 0 ]
        then
                echo "The LVS-DR Server is already running!"
        else
                /sbin/ifconfig ${DipName}:20 $VIP broadcast $VIP netmask 255.255.255.255 up
                /sbin/route add -host $VIP dev ${DipName}:20
                /sbin/ipvsadm -C
                /sbin/ipvsadm -At $VIP:80 -s rr
                /sbin/ipvsadm -at $VIP:80 -r  $RIP1:80 -g
                /sbin/ipvsadm -at $VIP:80 -r  $RIP2:80 -g
                /bin/touch $LOCK
                echo "starting LVS-DR Server is ok!"
        fi

}

stop(){
                /sbin/ipvsadm -C
                /sbin/route del -host $VIP dev ${DipName}:20
                /sbin/ifconfig ${DipName}:20 down > /dev/null
                rm -rf $LOCK
                echo "stopping LVS-DR server is ok !"
}

status(){
                if [ -e $LOCK ];
                then
                        echo "The LVS-DR Server is already running !"
                else
                        echo "The LVS-DR Server is not running !"
                fi
}

case "$1" in
        start)
                start
                ;;
        stop)
                   stop
                ;;
        restart)
                stop
                start
                ;;
        status)
                status
                ;;
*)
                echo "Usage: $1 {start|stop|restart|status}"
                exit 1
esac
exit 0

chmod +x  /etc/init.d/LVS_DR
chkconfig --add /etc/init.d/LVS_DR

2、LVS-RS

bash 复制代码
vim /etc/init.d/LVS_RS

#!/bin/sh
#chkconfig: 2345 80 90
#description:auto_run
LOCK=/var/lock/ipvsadm.lock
VIP=192.168.80.10
DipName=lo
. /etc/rc.d/init.d/functions
start(){
        PID=`ifconfig | grep ${DipName}:20 | wc -l`
        if [ $PID -ne 0 ]
        then
                echo "The LVS-DR-RIP Server is already running!"
        else
                /sbin/ifconfig ${DipName}:20 $VIP broadcast $VIP netmask 255.255.255.255 up
                /sbin/route add -host $VIP dev ${DipName}:20
                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
                /bin/touch $LOCK
                echo "starting LVS-DR-RIP Server is ok!"
        fi

}

stop(){
                /sbin/route del -host $VIP dev ${DipName}:20
                /sbin/ifconfig ${DipName}:20 down > /dev/null
                echo "0" > /proc/sys/net/ipv4/conf/lo/arp_ignore
                echo "0" > /proc/sys/net/ipv4/conf/lo/arp_announce
                echo "0" > /proc/sys/net/ipv4/conf/all/arp_ignore
                echo "0" > /proc/sys/net/ipv4/conf/all/arp_announce
                rm -rf $LOCK
                echo "stopping LVS-DR-RIP server is ok !"
}

status(){
                if [ -e $LOCK ];
                then
                        echo "The LVS-DR Server is already running !"
                else
                        echo "The LVS-DR Server is not running !"
                fi
}

case "$1" in
        start)
                start
                ;;
        stop)
                   stop

          ;;
        restart)
                stop
                start
                ;;
        status)
                status
                ;;
*)
                echo "Usage: $1 {start|stop|restart|status}"
                exit 1
esac
exit 0



chmod +x /etc/init.d/LVS_RS 
chkconfig --add /etc/init.d/LVS_RS
相关推荐
三坛海会大神5552 天前
LVS与Keepalived详解(二)LVS负载均衡实现实操
linux·负载均衡·lvs
東雪蓮☆2 天前
深入理解 LVS-DR 模式与 Keepalived 高可用集群
linux·运维·服务器·lvs
qq_264220892 天前
LVS负载均衡群集和LVS+Keepalived群集
运维·负载均衡·lvs
✎﹏赤子·墨筱晗♪2 天前
深入浅出LVS负载均衡群集:原理、分类与NAT模式实战部署
分类·负载均衡·lvs
東雪蓮☆3 天前
LVS 负载均衡群集
linux·运维·服务器·负载均衡·lvs
allnlei5 天前
Keepalived 负载均衡
运维·负载均衡·lvs·keepalived
三坛海会大神5556 天前
LVS与Keepalived详解(一)负载均衡集群介绍
运维·负载均衡·lvs
allnlei6 天前
介绍keepalived和LVS
智能路由器·lvs·keepalived
weixin_507847956 天前
LVS群集
lvs
linweidong8 天前
负载均衡的LVS三种模式:NAT、TUN、DR场景对比与实践指南
负载均衡·lvs·dr模式·ip隧道·运维面经·k8s面试·docker面试