LVS负载均衡集群企业级应用实战-LVS-DR(四)

目录

LVS-DR

[一. 环境准备](#一. 环境准备)

[二. 对虚拟主机操作](#二. 对虚拟主机操作)

[三. 对真实服务器操作](#三. 对真实服务器操作)

[四. 打开网页测试](#四. 打开网页测试)


LVS-DR

一. 环境准备

三台虚拟机,都要在同一网段内,统一关闭防火墙和selinux,时间同步,配置好YUM源。系统用centos和roucky都行。

|-----------|-------------------------------------------|-------|-------------|-----------|
| 主机名 | 主机IP | 模拟服务器 | 系统 | 用途 |
| localhost | VIP: 192.168.226.136 DIP: 192.168.226.137 | 虚拟服务器 | Rocky_linux | 负载均衡机分发IP |
| localhost | 192.168.226.100 | 真实服务器 | Centos7 | 后端服务 |
| localhost | 192.168.226.99 | 真实服务器 | Centos7 | 后端服务 |
| localhost | 10.35.186.197 | 客户端 | windows10 | 当成客户访问 |

二. 对虚拟主机操作

注意:这里是对虚拟主机操作,规划好主机

在设置中添加一块网卡,两个网卡都使用NAT模式,然后打开虚拟机。

查看ip,有两个不同网段IP就成功了。

bash 复制代码
[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:d9:a7:1d brd ff:ff:ff:ff:ff:ff
    altname enp2s1
    inet 192.168.226.136/24 brd 192.168.226.255 scope global dynamic noprefixroute ens33
       valid_lft 1169sec preferred_lft 1169sec
    inet6 fe80::27d2:b5dd:fed:2361/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:d9:a7:27 brd ff:ff:ff:ff:ff:ff
    altname enp2s5
    inet 192.168.226.137/24 brd 192.168.226.255 scope global dynamic noprefixroute ens37
       valid_lft 1169sec preferred_lft 1169sec
    inet6 fe80::553c:db7a:2d1b:33c/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

下载ipvsadm

bash 复制代码
yum install -y ipvsadm

添加虚拟服务器和真实服务器,并设置算法,这里用rr,然后保存规则。

bash 复制代码
ipvsadm -A -t 192.168.226.136:80 -s rr
ipvsadm -a -t 192.168.226.136:80 -r 192.168.226.99:80 
ipvsadm -a -t 192.168.226.136:80 -r 192.168.226.100:80 -g
ipvsadm-save > /etc/sysconfig/ipvsadm
#添加真实服务器时,后面的-g是指定DR模式,默认也就是DR模式,不写就是使用默认的,NAT需要使用-m参数

注意:使用ipvsadm -ln 检查是否配置正确

bash 复制代码
[root@localhost ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.226.136:80 rr
  -> 192.168.226.99:80            Route   1      0          0         
  -> 192.168.226.100:80           Route   1      0          0   

启动服务并设置开机自启

bash 复制代码
systemctl enable --now ipvsadm

三. 对真实服务器操作

对192.168.226.99和192.168.226.100操作

下载nginx

bash 复制代码
yum install -y nginx
bash 复制代码
修改默认打开的网站用来识别来自哪个服务器
 
#对192.168.226.99执行
echo "web-server111111" > /usr/share/nginx/html/index.html
 
#对192.168.226.100执行
echo "web-server222222" > /usr/share/nginx/html/index.html

开启服务并设置开机自启

bash 复制代码
systemctl start nginx
systemctl enable nginx

在lo接口上绑定VIP

bash 复制代码
ip addr add dev lo 192.168.226.136/32

忽略arp广播

bash 复制代码
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

匹配精确ip地址回包

bash 复制代码
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

重启nginx

bash 复制代码
systemctl restart nginx

四. 打开网页测试

在windows中应访问VIP,即192.168.226.136,打开浏览器进入无痕模式输入IP即可看到信息,多次刷新,也可看到两个主机会切换,记得用无痕模式,有些时候浏览器缓存会导致刷新并不会切换网页信息。因为我们添加真实服务器IP时,没有指定权重,那么默认两个权重是一样的,所以多次刷新,跳转页面的比例应在1:1左右。

相关推荐
测试员周周6 小时前
【Appium 系列】第16节-WebView-H5上下文切换 — 混合应用的自动化难点
运维·开发语言·人工智能·功能测试·appium·自动化·测试用例
在角落发呆10 小时前
Linux转发配置:解锁网络互联的核心密码
linux·运维·网络
裴东青11 小时前
10-实战:RuoYi-Cloud的自动化发布
运维·ci/cd·自动化
哎呦,帅小伙哦11 小时前
Linux 时间:从原子钟到 clock_gettime 的每一面
linux·运维·服务器
sxgzzn12 小时前
新能源场站数智化转型:基于数字孪生与AI的智慧运维管理平台解析
大数据·运维·人工智能
张小姐的猫12 小时前
【Linux】多线程 —— 线程互斥
linux·运维·服务器·c++
CodeMartain12 小时前
Dify Windows 原生部署(无 Docker、纯本地)
运维·docker·容器
xxx1x1x12 小时前
极客向:DLL/运行库故障的底层逻辑与自动化修复方案
运维·自动化·dll文件·dll·dll修复·dll缺失·dll一键修复
YuanDaima204812 小时前
Linux 进阶运维与 AI 环境实战:进程管理、网络排错与 GPU 监控
linux·运维·服务器·网络·人工智能
lolo大魔王14 小时前
Linux 数据文件处理实战:排序、搜索、压缩、归档一站式详解
linux·运维·服务器