对比 LVS 负载均衡群集的 NAT 模式和 DR 模式,比较其各自的优势 , 基于 openEuler 构建 LVS-DR 群集。

对比 LVS 负载均衡群集的 NAT 模式和 DR 模式,比较其各自的优势 

NAT模式的优势:

可以隐藏后端服务器的IP地址,提高了系统的安全性。

支持多个后端服务器共享同一个IP地址,提高了系统的可扩展性。

可以在负载均衡器和后端服务器之间添加防火墙等网络设备,进一步提高了系统的安全性。

支持对客户端请求进行SNAT(源网络地址转换),使得后端服务器可以直接返回数据给客户端,减轻了后端服务器的负载。

配置相对简单,无需复杂的网络设置,适合初学者和小型网络环境。

网络架构灵活,LVS调度器和后端服务器可以位于不同的网段,增加了配置的灵活性。

DR模式的优势:

性能更高,延迟更低。因为DR模式在转发请求时不需要进行IP地址转换,数据包可以直接路由到后端服务器,减少了处理时间。

可以通过配置路由器或交换机实现负载均衡器与后端服务器之间的物理隔离,提高了系统的安全性

支持对客户端请求进行DNAT(目的网络地址转换),实现负载均衡器的高可用性。

配置简单(但相对于NAT模式,其网络配置可能更复杂一些),易于维护和扩展,特别是当后端服务器数量较多时。

适用于高并发、大规模的负载均衡需求,例如大型网站或数据中心。

构建 LVS-DR 集群

首先准备以下服务器

192.168.1.11(nginx1)

192.168.1.134(nginx2)

192.168.1.135(lvs)

192.168.1.12(Client) 

不要忘了vip 192.168.1.10

1、192.168.1.11(nginx1)

关闭防火墙和selinux,安装nginx软件

[root@openEuler1 ~]# systemctl stop firewalld
[root@openEuler1 ~]#  setenforce 0
setenforce: SELinux is disabled
[root@openEuler1 ~]# yum install nginx -y

编辑内容

[root@openEuler1 ~]# cd /usr/share/nginx/html/
[root@openEuler1 html]# echo "web1 ip192.168.1.11" > index.html
[root@openEuler1 html]# cd /usr/share/nginx/html/
[root@openEuler1 html]# ls
404.html  50x.html  index.html  nginx-logo.png

将nginx设置为开机自启动,并且curl测试访问成功 

[root@openEuler1 html]# systemctl enable --now nginx.service
[root@openEuler1 html]# curl localhost
web1 ip192.168.1.11

网络中增加VIP(192.168.1.10)

[root@openEuler1 html]# nmcli connection add type dummy ifname dummy2 ipv4.method manual ipv4.addresses 192.168.1.10/32

arp内核配置在增加命令 

net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.dummy2.arp_ignore = 1
net.ipv4.conf.dummy2.arp_announce = 2

2、192.168.1.134(nginx2) 

关闭防火墙和selinux,安装nginx软件

 编写内容被设置开机自启

网络中增加VIP(192.168.1.10) 

arp内核配置在增加命令 

3、192.168.1.135(LVS)

网络中增加VIP(192.168.1.10)

 安装和配置 LVS,命令安装 ipvsadm

手动执行配置添加LVS服务器增加两台RS

4、192.168.1.12(Client) 

在客户端上测试效果

[root@mynewhostname ~]# for ((i=1;i<=6;i++))
> do
> curl 192.168.1.10
> done
web2 ip192.168.1.134
web1 ip192.168.1.11
web2 ip192.168.1.134
web1 ip192.168.1.11
web2 ip192.168.1.134
web1 ip192.168.1.11

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/69967.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【操作系统】操作系统结构

内核 什么是内核&#xff1f; 内核作为应用程序连接硬件设备的桥梁&#xff0c;使得应用程序只需关心与内核交互&#xff0c;不用关心硬件细节。 内核有哪些能力呢&#xff1f; 内核是怎么工作的&#xff1f; Linux 的设计 MultiTask SMP ELF ELF 的意思是可执行文件链接格式…

缓存的介绍

相关面试题 &#xff1a; ● 为什么要用缓存&#xff1f; ● 本地缓存应该怎么做&#xff1f; ● 为什么要有分布式缓存?/为什么不直接用本地缓存? ● 为什么要用多级缓存&#xff1f; ● 多级缓存适合哪些业务场景&#xff1f; 缓存思想 空间换时间(索引&#xff0c;集群&a…

什么是弧形光源

工业检测中的弧形光源是一种专门设计用于机器视觉和自动化检测的照明设备,通常用于提供均匀、高对比度的照明,以增强图像采集质量,便于检测系统识别和分析目标物体的特征。以下是关于工业检测弧形光源的详细介绍: 特点 1均匀照明: 弧形设计能够提供均匀的漫反射光,减少阴…

[每日动态]科技新闻每日信息差2025年2月14日

### 2025年2月14日科技新闻每日信息差 #### 引言 在快速发展的科技领域&#xff0c;信息差是决定个人和企业竞争力的关键因素。2025年2月14日&#xff0c;全球科技界迎来了多项重要进展&#xff0c;从人工智能到量子计算&#xff0c;从医疗科技到太空探索&#xff0c;这些…

Go语言实现单例模式

单例模式 单例模式分为饿汉和懒汉模式&#xff0c;前者是在程序启动的时候就初始化一个单例对象&#xff0c;后者是使用到这个单例的时候&#xff0c;才会初始化一个单例对象。 饿汉模式 package mainimport "fmt"type Singleton struct { }var instance *Singleto…

zyNo.23

SQL注入漏洞 1.SQL语句基础知识 一个数据库由多个表空间组成&#xff0c;sql注入关系到关系型数据库&#xff0c;常见的关系型数据库有MySQL,Postgres,SQLServer,Oracle等 以Mysql为例&#xff0c;输入 mysql-u用户名-p密码 即可登录到MySQL交互式命令行界面。 既然是…

LeapMotion第2代 Unity示范代码(桌面开发)

一、官方地址&#xff1a; 官网&#xff1a;https://www.ultraleap.com/ 驱动下载&#xff1a;https://leap2.ultraleap.com/downloads/leap-motion-controller-2/ docs地址&#xff1a;https://docs.ultraleap.com/xr-and-tabletop/tabletop/unity/getting-started/index.html…

深入剖析推理模型:从DeepSeek R1看LLM推理能力构建与优化

著名 AI 研究者和博主 Sebastian Raschka 又更新博客了。原文地址&#xff1a;https://sebastianraschka.com/blog/2025/understanding-reasoning-llms.html。这一次&#xff0c;他将立足于 DeepSeek 技术报告&#xff0c;介绍用于构建推理模型的四种主要方法&#xff0c;也就是…

使用Cocos Creator制作“打砖块”小游戏:从零开始的详细教程

Cocos Creator是一款强大的游戏开发工具,特别适合2D游戏的开发。本文将以经典的“打砖块”小游戏为例,逐步讲解如何使用Cocos Creator实现这个游戏。我们将从项目创建、场景搭建、脚本编写到最终的游戏发布,详细讲解每一步的实现过程。 1. 环境准备 首先,确保你已经安装了…

vue3常见面试题

当然&#xff0c;以下是关于 Vue 3 的一些常见面试题及其答案&#xff1a; 1. Vue 3 相比 Vue 2 有哪些主要改进&#xff1f; 性能提升&#xff1a;Vue 3 在编译时做了更多的优化&#xff0c;比如静态提升&#xff08;hoisting static nodes&#xff09;、事件监听缓存等。更…

Ubuntu 22.04 LTS 安装MinerU

1. 检测是否已安装nvidia驱动 nvidia-smi 如果看到类似如下的信息&#xff0c;说明已经安装了nvidia驱动&#xff0c;可以跳过步骤2 Note CUDA Version 显示的版本号应 > 12.1&#xff0c;如显示的版本号小于12.1&#xff0c;请升级驱动 2. 安装驱动 如没有驱动&#…

DeepSeek 指导手册(入门到精通)

第⼀章&#xff1a;准备篇&#xff08;三分钟上手&#xff09;1.1 三分钟创建你的 AI 伙伴1.2 认识你的 AI 控制台 第二章&#xff1a;基础对话篇&#xff08;像交朋友⼀样学交流&#xff09;2.1 有效提问的五个黄金法则2.2 新手必学魔法指令 第三章&#xff1a;效率飞跃篇&…

MacOS使用PhpWebStudy搭建PHP开发环境

mac上的PHP开发环境搭建方式有很多, brew, docker, mamp等, 这里使用最近新出的工具PhpWebStudy来搭建mac上的php开发环境 安装 使用brew安装 brew install phpwebstudy 无法使用brew的话, 可以去官网下载最新版本安装 FlyEnv | Powerful Web Server and Environment Mana…

布隆过滤器的原理和应用场景,解决缓存穿透

一、布隆过滤器BloomFilter是什么 布隆过滤器BloomFilter是一种专门用来解决去重问题的高级数据结果。 实质就是一个大型位数组和几个不同的无偏hash函数&#xff0c;无偏表示分布均匀。由一个初值为零的bit数组和多个哈希函数组成&#xff0c;用来判断某个数据是否存在&…

macOs安装nvm

首先确定本机上没有安装nvm 如果之前安装过先卸载 1. 删除 nvm 目录 首先&#xff0c;删除 nvm 所安装的文件目录。默认情况下&#xff0c;nvm 会安装到 ~/.nvm 目录。 运行以下命令删除 nvm 目录&#xff1a; rm -rf ~/.nvm2. 移除 .zshrc 或 .bash_profile 中的 nvm 配置…

uniapp + vite + 使用多个 ui 库

样式冲突 新建了个项目 安装多个 ui 库 发现 uview-plus 和 Ant Design Vue 3.2.20 的 按钮样式 冲突uvuew-plus 的按钮样式 会被 ant 的样式给覆盖解决方式 找到圆满 ant.css 注释 button, html [type"button"], [type"reset"], [type"submit&quo…

【大语言模型】在大语言模型中,user、assistant、system 三种角色的定位和功能有何不同。

在大语言模型&#xff08;如GPT系列&#xff09;中&#xff0c;user、assistant、system 是三种核心角色&#xff0c;它们的定位和功能不同&#xff0c;共同构成对话的上下文结构。以下是具体区别和用途&#xff1a; 1. System&#xff08;系统角色&#xff09; 定位&#xff…

react中如何获取真实的dom

在 React 中&#xff0c;获取真实的 DOM 元素通常通过 ref 来实现。ref 是一个特殊的属性&#xff0c;用于引用组件或 DOM 元素的实例。你可以通过 ref 获取到组件的真实 DOM 元素或组件实例。 1. 函数组件中的 useRef 在函数组件中&#xff0c;获取 DOM 元素的引用需要使用 …

关于“前端已死”的命题

翻阅知乎论坛&#xff0c;看了各位大佬的解析&#xff0c;从技术发展、市场环境、岗位需求三个维度综合理解这个命题&#xff1a; 1. 技术层面 前端技术生态并未停滞&#xff0c;反而持续迭代升级。HTML/CSS/JavaScript 核心基础未变&#xff0c;但框架&#xff08;如 Vue、R…

Docker Compose:编排多容器应用

1. 什么是 Docker Compose? Docker Compose 是一个用于定义和管理多容器 Docker 应用的工具。它通过一个简单的配置文件(docker-compose.yml),让你能够在一个命令下启动、停止和管理多个容器。这使得在开发、测试和生产环境中,管理复杂的应用变得更加简单。 Docker Comp…