负载均衡(DR)

负载均衡(DR)

1.实验环境

  • 准备三台机器
  • 网络使用NAT模式
  • DR模式要求DIP与RIP必须在同一个王段及广播域
  • 关闭防火墙与selinux

2.分发器配置

julia 复制代码
#安装分发器并启动
[root@localhost ~]# yum -y install ipvsadm
[root@localhost ~]# systemctl start ipvsadm
#上一步报错,需要给他创建一个文件
#配置VIP
[root@localhost ~]# ip addr add dev ens33 192.168.222.200/32
#如果IP添加错误删除如下
[root@localhost ~]# ip addr del dev ens33 192.168.222.200/32
#定义LVS分发策略
[root@localhost ~]# ipvsadm -A -t 192.168.222.200:80 -s rr
[root@localhost ~]# ipvsadm -a -t 192.168.222.200:80 -r 192.168.222.131:80 -g
[root@localhost ~]# ipvsadm -a -t 192.168.222.200:80 -r 192.168.222.132:80 -g

3.RS配置

julia 复制代码
#安装nginx
[root@localhost ~]# yum -y install nginx
#更改TCP连接的保存时间
[root@localhost ~]# vim /etc/nginx/nginx.conf +27
    tcp_nodelay         on;
    keepalive_timeout   0;
#更改nginx页面,方便观察(两台机器分别操作)
[root@localhost ~]# cd /usr/share/nginx/html
[root@localhost html]# rm -rf *
[root@localhost html]# echo "service-1" > index.html
[root@localhost html]# echo "service-2" > index.html
#在lo接口上绑定VIP(两台机器分别操作)
[root@localhost ~]# id addr add dev lo 192.168.222.200/32
#忽略arp广播(两台机器均操作)
[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
#匹配精确IP地址回包(两台机器均操作)
[root@localhost ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
#启动nginx
[root@localhost ~]# systemctl start nginx

keepalived高可用

1.实验环境

  • 需准备两台机器
  • 均关闭防火墙与selinux

2.配置keepalived

julia 复制代码
#分别安装nginx与keepalived
[root@localhost ~]# yum -y install nginx
[root@localhost ~]# yum -y install keepalived
#更改keepalived配置文件
[root@localhost ~]# cd /etc/keepalived
[root@localhost keepalived]# ls
keepalived.conf
#先进行备份
[root@localhost ~]# cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak
[root@localhost keepalived]# vim keepalived.conf
#里面全部删除
#写一个判断nginx是否开启的脚本
[root@localhost keepalived]# vim nginx_check.sh
#!/bin/bash
curl 192.168.222.200
if [ $? -ne 0 ];then
        systemctl stop keepalived
fi
#给脚本添加一个执行权限
[root@localhost keepalived]# chmod +x nginx_check.sh
#编辑配置文件
#MASTER配置如下
! Configuration File for keepalived

global_defs {
   router_id directory1   #辅助改为directory2
}

        vrrp_script check_nginx {
   script "/etc/keepalived/nginx_check.sh"
   interval 5
}
vrrp_instance VI_1 {
    state MASTER        #定义主还是备
    interface ens33     #VIP绑定接口
    virtual_router_id 80  #整个集群的调度器一致
    priority 100         #back改为50
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.222.200/32   # vip
    }
    track_script {
       check_nginx
    }
}
#启动nginx
[root@localhost ~]# systemctl start nginx
#启动keepalived
[root@localhost ~]# systemctl start keepalived
#配置backup
相关推荐
z人间防沉迷k3 分钟前
互联网协议的多路复用、Linux系统的I/O模式
linux·网络·http
独行soc18 分钟前
2025年渗透测试面试题总结-渗透测试红队面试九(题目+回答)
linux·安全·web安全·网络安全·面试·职场和发展·渗透测试
wgc2k33 分钟前
Java游戏服务器开发流水账(5)Spring 在游戏开发中的使用简介
java·服务器·游戏
simple_whu1 小时前
在Ubuntu24.04中配置开源直线特征提取软件DeepLSD
linux·deep learning·computer vision
Menior_1 小时前
[Linux] vim及gcc工具
linux·运维·vim
成工小白1 小时前
【Linux】进程地址空间
linux·算法
不念霉运1 小时前
2025年中国DevOps工具选型指南:主流平台能力横向对比
运维·ci/cd·团队开发·devops
HelloZheQ1 小时前
MVCC:数据库并发控制的利器
服务器·数据库·oracle
珹洺2 小时前
Jsp技术入门指南【十四】实现基于MySQL+JDBC+JSP数据库验证的登录界面与登录跳转功能
java·运维·数据库·mysql·servlet
OpenVINO生态社区2 小时前
【美国将取消对能源之星支持 严重影响AI服务器】
服务器·人工智能·能源