当前位置: 首页 > news >正文

部署LVS-DR群集

目录

一. LVS-DR 集群

1. LVS-DR 工作原理

 2. 数据包流向分析

3. LVS-DR 式特点

二. 直接路由模式(LVS-DR)

1.准备案例环境

2. 搭建LVS

3. 安装http两台一样的操作 把输入网页部分修改成2方便测试

4. 客户机测试测试


随着互联网业务的蓬勃发展,网站的访问量、应用的并发请求量呈爆炸式增长。如何确保在高并发场景下,业务系统依然能够稳定、高效地运行,为用户提供流畅、优质的服务,成为了每一个企业和开发者必须面对的挑战。负载均衡技术应运而生,它就像一位智慧的“交通指挥官”,能够合理地将网络流量分配到多个服务器上,避免单点故障,提高系统的可用性和扩展性,而在众多负载均衡技术中,LVS(Linux Virtual Server)DR(Direct Routing,直接路由)模式凭借其高性能、低延迟、高扩展性等优势,成为了构建大规模、高并发负载均衡集群的热门选择。

一. LVS-DR 集群

LVS-DR(Linux Virtual Server Director Server)工作模式,是生产环境中最常用的一种工作模式。

1. LVS-DR 工作原理

LVS-DR 模式,Director Server 作为群集的访问入口,不作为网关使用,节点 Director Server 与 Real Server 需要在同一个网络中,返回给客户端的数据不需要经过 Director Server。为了响应对整个群集的访问,DirectorServer 与 Real Server 都需要配置 VIP 地址

 2. 数据包流向分析

数据包流向分析步骤

(1)客户端发送请求到 Director Server,请求的数据报文(源 IP 是 CIP,目标IP 是 VIP) 到达内核空间。
(2)Director Server 和 Real Server 在同一个网络中,数据通过二层数据链路层来传输。
(3)内核空间判断数据包的目标IP是本机 VIP,此时 IPVS 比对数据包请求的服务是否是集群服务,是集群服务就重新封装数据包。修改源MAC地址为Director Server 的 MAC 地址,修改目标 MAC 地址为 Real Server 的 MAC 地址,源 IP 地址与目标 IP 地址没有改变,然后将数据包发送给 Real Server。
(4)到达 Real Server 的请求报文的 MAC 地址是自身的 MAC 地址,就接收此报文。数据包重新封装报文(源IP地址为 VIP,目标IP为 CIP),将响应报文通过 10 接口传送给物理网卡然后向外发出。
(5)Real Server 直接将响应报文传送到客户端。

3. LVS-DR 式特点

Director Server 和 Real Server 必须在同一个物理网络中。
Real Server 可以使用私有地址,也可以使用公网地址。如果使用公网地址可以通过互联网对 RIP 进行直接访问。
所有的请求报文经由 Director Server,但回复响应报文不能经过 Directorberver。
Real Server 的网关不允许指向 Director Server IP,即不允许数据包经N Director server.
Real Server 上的 1o 接口配置 VIP 的 IP 地址。

二. 直接路由模式(LVS-DR)

1.准备案例环境

主机操作系统ip地址应用
LVSOpenEuler

192.168.10.101

lo:192.168.10.172

ipvsadm
Web1OpenEuler192.168.10.102http
Web2OpenEuler192.168.10.103http
客户机OpenEuler192.168.10.104

在 DR 模式的群集中,LVS 负载调度器作为群集的访问入口,但不作为网关使用;服务器池中的所有节点都各自接入 Internet,发送给客户机的 Web 响应数据包不需要经过 LVS 负载调度器

这种方式入站、出站访问数据被分别处理,因此LVS 负载调度器和所有的节点服务器都需要配置 VIP 地址,以便响应对整个群集的访问。考虑到数据存储的安全性,共享存储设备会放在内部的专用网络中

2. 搭建LVS

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens160 ifcfg-ens160:0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=192.168.10.172
NETMASK=255.255.255.0
GATEWAY=192.168.10.254
DNS1=114.114.114.114
DNS2=8.8.8.8
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=eui64
NAME=ens160:0
DEVICE=ens160:0
ONBOOT=yes[root@localhost network-scripts]# nmcli c reload
[root@localhost network-scripts]# nmcli c up ens160
[root@localhost network-scripts]# cd
[root@localhost ~]# dnf -y install ipvsadm
[root@localhost ~]# ipvsadm -A -t 192.168.10.172:80 -s wrr
[root@localhost ~]# ipvsadm -a -t 192.168.10.172:80 -r 192.168.10.102 -g -w 1
[root@localhost ~]# ipvsadm -a -t 192.168.10.172:80 -r 192.168.10.103 -g -w 2

3. 安装http两台一样的操作 把输入网页部分修改成2方便测试

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# dnf -y install httpd
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens160 ifcfg-ens160:0
[root@localhost network-scripts]# vim ifcfg-ens160:0
[root@localhost network-scripts]# nmcli c reload
[root@localhost network-scripts]# nmcli c up ens160[root@localhost ~]# echo "web1">/var/www/html/index.html
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# vim /etc/rc.local 
//添加
ip addr add 192.168.10.172/32 dev lo label lo:0
ip route add local 192.168.10.172/32 dev lo[root@bogon ~]# chmod +x /etc/rc.local 
[root@bogon ~]# reboot
[root@bogon ~]# vim /etc/sysctl.conf 
//添加
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2[root@bogon ~]# systemctl stop firewalld
[root@bogon ~]# systemctl start httpd

4. 客户机测试测试

相关文章:

  • OpenAI大模型不听人类指令事件的技术分析与安全影响
  • 如何收集Oracle DB SQL Monitor报告
  • 根据基因名称自动获取染色体上的位置
  • 西门子SCL语言编写两台电机正反转控制程序,并涵盖从选型、安装到调试全过程的详细步骤指南(上)
  • opengl - 在本地搭建API的文档说明网站
  • 全球轨道铺设设备市场发展现状与未来趋势分析
  • 第 85 场周赛:矩阵重叠、推多米诺、新 21 点、相似字符串组
  • js中后台框架的增删改查要点
  • XCTF-web-easyphp
  • 从C++编程入手设计模式1——单例模式
  • vscode 配置 QtCreat Cmake项目
  • 性能测试怎么做?方法、流程与核心要点解析
  • 《Discuz! X3.5开发从入门到生态共建》第1章 Discuz! 的前世今生-优雅草卓伊凡
  • React+Antd全局加载遮罩工具
  • Linux轻量级文件传输——tftp命令
  • Dropout 在大语言模型中的应用:以 GPT 和 BERT 为例
  • C接口 中文字符问题
  • 高端制造行业 VMware 替代案例合集:10+ 头部新能源、汽车、半导体制造商以国产虚拟化支持 MES、PLM 等核心应用系统
  • 极验叠字点选验证码识别
  • uni-app 提供的页面跳转方法详细解释及其区别
  • 宁波网站设计公司有几家/山东seo优化
  • 网站开发公司电话/网络维护培训班
  • 有口碑的武进网站建设/网络app推广是什么工作
  • 餐饮网站建设教程/营销型网站建设专家
  • 沈阳网站设计制作公司/app拉新推广一手接单平台
  • xsxz wordpress/seo好seo