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

部署LVS-DR群集

目录

1.LVS-DR数据包流向分析

2.DR 模式的特点

3.LVS-DR中的ARP问题

3.1 IP地址冲突

3.2 RS响应请求报文

4. LVS-DR实战演练

4.1 准备虚拟机

4.2 所有主机初始化操作

4.3 配置nfs虚拟机

4.4 配置节点服务器

4.5 配置调度器服务器

4.6 浏览器验证


1.LVS-DR数据包流向分析

(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),将响应报文通过lo接口传送给物理网卡然后向外发出。

(5) Real Server直接将响应报文传送到客户端。

2.DR 模式的特点

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

3.LVS-DR中的ARP问题

3.1 IP地址冲突

在LVS-DR负载均衡集群中,负载均衡器与节点服务器都要配置相同的VIP地址。在局域网中具有相同的IP地址,势必会造成各服务器ARP通信的紊乱。

当ARP广播发送到LVS-DR集群时,因为负载均衡器和节点服务器都是连接到相同的网络上,它们都会接收到ARP广播
只有前端的负载均衡器进行响应,其他节点服务器不应该响应ARP广播

解决方法:

3.2 RS响应请求报文


4. LVS-DR实战演练

4.1 准备虚拟机

192.168.9.210用作LVS调度器
192.168.9.140和192.168.9.150用作节点服务器
192.168.9.112用作nfs共享存储

4.2 所有主机初始化操作

4.3 配置nfs虚拟机





4.4 配置节点服务器

首先开启两个节点服务器的rpcbind

两台节点服务器通过yum安装nginx
192.168.9.140服务器配置




修改内核参数


添加路由

192.168.9.150服务器配置



添加路由

4.5 配置调度器服务器







修改内核参数




4.6 浏览器验证

为方便验证,需关闭两台节点服务器nginx长连接

重启nginx,systemctl restart nginx


相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Pythone 程序打包成 exe
  • Java从入门到放弃
  • 公用nacos,实现只调用本机相应服务,不出现负载均衡到别人机器上
  • eNSP学习——配置前缀列表
  • python爬虫爬取豆瓣TOP250用csv文件
  • 【MySQL】函数
  • HTML静态网页成品作业(HTML+CSS)—— 美食湘菜介绍网页(5个页面)
  • 图形和插图软件Canvas X Pro 20 Build 914
  • Android面试题之说说系统的启动流程(总结)
  • Python 机器学习 基础 之 【实战案例】轮船人员获救预测实战
  • 常用的三种软件架构
  • 【Vue】购物车案例-构建项目
  • 15.2 测试-网格测试、基准测试与测试覆盖率
  • 基于拓扑漏洞分析的网络安全态势感知模型
  • 源码讲解kafka 如何使用零拷贝技术(zero-copy)
  • python3.6+scrapy+mysql 爬虫实战
  • 自己简单写的 事件订阅机制
  • Cookie 在前端中的实践
  • JavaScript设计模式与开发实践系列之策略模式
  • spring boot 整合mybatis 无法输出sql的问题
  • Spring Cloud Feign的两种使用姿势
  • webpack+react项目初体验——记录我的webpack环境配置
  • Web设计流程优化:网页效果图设计新思路
  • 初探 Vue 生命周期和钩子函数
  • 关于extract.autodesk.io的一些说明
  • 七牛云假注销小指南
  • 小程序01:wepy框架整合iview webapp UI
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • !$boo在php中什么意思,php前戏
  • #ifdef 的技巧用法
  • #laravel部署安装报错loadFactoriesFrom是undefined method #
  • #数据结构 笔记一
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (Oracle)SQL优化基础(三):看懂执行计划顺序
  • (poj1.2.1)1970(筛选法模拟)
  • (二)丶RabbitMQ的六大核心
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (十六)串口UART
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (一)项目实践-利用Appdesigner制作目标跟踪仿真软件
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • .net 按比例显示图片的缩略图
  • .NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
  • .net经典笔试题
  • @Autowired和@Resource的区别
  • @NotNull、@NotEmpty 和 @NotBlank 区别
  • @RequestMapping 的作用是什么?
  • @transactional 方法执行完再commit_当@Transactional遇到@CacheEvict,你的代码是不是有bug!...
  • @vueup/vue-quill使用quill-better-table报moduleClass is not a constructor