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左右。

相关推荐
AOwhisky11 小时前
下一代容器来了?Docker 宣布原生支持 WebAssembly
java·运维·docker·容器·rust·wasm
摇滚侠15 小时前
Linux 零基础教程 09、11、77
linux·运维·服务器
Lottie202615 小时前
电商自动化提质增效:API接口落地的核心价值与实战用法
运维·自动化
Hardworking66616 小时前
第6章 数据工程
运维·服务器·数据库·数据工程
jieyucx17 小时前
Docker 入门第六阶段:综合实战项目
运维·docker·容器
美丽的欣情17 小时前
RK3588 Debian 交叉编译环境搭建(Windows + VMware Debian + CMake)
运维·windows·debian
TlSfoward18 小时前
TLSFOWARD自动化抓包工具
运维·自动化
麦兜和小可的舅舅18 小时前
从原理到实战:Linux 系统性能诊断核心指标全解析及生产系统故障分析复盘
大数据·linux·运维
云飞云共享云桌面19 小时前
河北钣金工厂10个solidworks设计共享一台高性能服务器的云桌面方案
运维·服务器·3d·自动化·负载均衡·制造
海涛从不浪19 小时前
03 oect刷入Armbian后安装Onepanel并进行docker迁移
运维·docker·容器·onepanel