负载均衡(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
相关推荐
李少兄1 小时前
CentOS系统下前后端项目部署攻略
linux·运维·centos
Two_brushes.3 小时前
【Linux】线程机制深度实践:创建、等待、互斥与同步
linux·运维·服务器·多线程
设计师小聂!5 小时前
Linux系统中部署Redis详解
linux·运维·数据库·redis
kfepiza5 小时前
Debian-10编译安装Mysql-5.7.44 笔记250706
linux·数据库·笔记·mysql·debian·bash
努力做小白7 小时前
Linux驱动11 --- buildroot&杂项驱动开发方法
linux·运维·驱动开发·单片机·嵌入式硬件
Sally璐璐7 小时前
Memcache核心技术解析与实战应用
运维·wpf·memcached
帽儿山的枪手7 小时前
追踪网络流量就这么简单 | 进阶篇 | conntrack
linux·windows·网络协议
哈哈浩丶7 小时前
Linux驱动开发1:设备驱动模块加载与卸载
linux·运维·驱动开发
Bulestar_xx8 小时前
20250711_Sudo 靶机复盘
linux·安全·web安全
一位搞嵌入式的 genius8 小时前
暑期自学嵌入式——Day01(C语言阶段)
linux·嵌入式c语言