码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 部署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


  • 相关阅读:
    基于智慧灯杆的智慧城市解决方案(1)
    MySQL之库操作
    【23-24 秋学期】NNDL 作业7 基于CNN的XO识别
    基于Lattice的密码学
    PASCAL VOC2012 数据集讲解与制作自己的数据集
    SD、SDIO和MMC接口基础和规范介绍
    exoplayer的使用-4,手势,事件监听等
    【Unity3D编辑器开发】Unity3D编辑器开发基础性框架结构【全面总结】
    mac pro M1(ARM)安装:.Net、C#开发环境
    K3s离线部署
  • 原文地址:https://blog.csdn.net/2402_83805984/article/details/139592193
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号