LVS负载均衡DR模式群集部署

      最后更新:2022-06-09 22:56:58 手机定位技术交流文章

      文章目录

      • 1.LVS-DR的工作原理
        • 1、数据包流向分析
        • 2、DR模式的特点
      • LVS-DR的ARP
        • 问题一
        • 问题二:
      • 3.LVS负荷平衡DR模型集群的部署
        • 1、准备
        • 2、部署共享存储
        • 3、配置节点服务器
          • (1)配置虚拟IP地址(VIP:)
          • (二)调整内核的ARP响应参数以防止VIP的MAC地址更新和避免冲突
        • 4、配置负载调度器
          • (1)关闭防火墙并加载ip_vs模块
          • (2)配置虚拟IP地址(VIP:)
          • (三)调整Proc响应参数
          • (四)配置负荷分配策略
        • 5、测试验证

      1.LVS-DR的工作原理

      1、数据包流向分析

      在这里插入图片描述

      步骤1:客户端将请求发送到目录服务器(负载平衡设备),请求的数据消息到达内核空间

      数据报文

      • 源IP--客户端IP
      • 目标IP--VIP
      • 源 MAC--客户端的 MAC
      • 目标MAC——目录服务器的MAC
        步骤2:确定包的内核空间的目标IP是主机VIP,在这种情况下,IPVS(IP虚拟服务器)比数据包请求服务更有可能是一个集群服务。集群服务重装包。然后根据负载平衡算法选择的实服务器发送数据包。(Director Server和Real Server在同一网络中,数据通过一个两层数据链层传输。)
      • 数据报文
      • 源IP--客户端IP
      • 目标IP--VIP
      • 源 MAC -- 目录服务器 MAC
      • 目标MAC——为真实服务器的MAC

      步骤3:实服务器请求消息的MAC地址是MAC地址本身,并接收消息。

      • 数据报文
      • 来源IP--VIP
      • 目标IP--客户端IP
      • 源 MAC--真实服务器 MAC
      • 目标MAC--客户端的MAC

      第四步:响应消息通过交换机和路由器传送给客户端。 客户端接收了响应消息并得到它想要的服务,但不知道它正在处理的哪个服务器
      数据流向

      在这里插入图片描述

      1. 当用户请求访问目录服务器时,请求的数据消息首先到达内核空间的预处理链。
        该消息的源IP是CIP,目标IP是VIP
      2. 预备检查以找到数据包的目标IP为主机,并发送数据包到输入链
      3. 如果请求消息中的源MAC地址被修改为DIP的MAC地址,则目标MAC地址被修改为RIP的MAC地址,然后数据包被发送到 POSTROUTING链上。
        当前,源IP和目标IP均没有修改,只有源 MAC地址是DIP的 MAC地址,而目标 MAC地址是RIP的 MAC地址
      4. 由于DS(调用服务器)和RS(节点实际服务器)是同一网络,它通过两层传输。 POSTROUTING链检查目标MAC地址是RIP的MAC地址,因此数据包将被发送到Real
        Server。
      5. RS发现请求消息的MAC地址是其自己的MAC地址,并接收消息。 在处理完成后,响应消息通过lo接口转到Et0网络卡,然后发送出去。
        当前的源IP地址是VIP,目标IP是CIP
      6. 最后向客户发送响应消息
        在这里插入图片描述

      以客户和服务端在网络的同一部分为例

      CIP:192.168.94.157
      VIP:192.168.94.188
      DIR: 192.168.94.19
      RS :(nfs),以及(提供http服务)

      整个请求过程示意:

      这里我们假设CIP的MAC地址是:00-50-56-C0-00-08,DIR ens33的Mac地址是: 00-50-56-C0-00-01,RIP1的Mac地址是: D0-50-99-18-18-15。CIP在请求之前发送一个arp广播包,即要求“谁是VIP”,因为所有DIR和RIP都是在一个物理网络中,DIR和RIP有 VIP地址,为了向DIR发送请求,因此RIP不能对CIP的arp请求作出响应(这就是为什么它必须在RIP的lo端口中配置VIP并备份arp查询和响应的原因),然后客户端将请求包发送到DIR,接下来是DIR:

      1客户向目标VIP发送请求,DIR接收。 当前IP包头和数据帧头信息如下:

      源mac 目标mac 源IP 目标IP
      00-50-56-C0-00-08 00-50-56-C0-00-01 192.168.94.157 192.168.94.188

      2DIR根据负载平衡算法选择一个主动的RS(RIP1),并将RIP1的MAC地址发送到本地网络,作为目标MAC地址。

      源mac 目标mac 源IP 目标IP
      00-50-56-C0-00-01 D0-50-99-18-18-15 192.168.94.157 192.168.94.188

      3RIP1()在本地网络中接收这个帧,将其分离并发现目标IP(VIP)与本地匹配,然后处理消息。 然后重新包装消息并发送到本地网络。

      源mac 目标mac 源IP 目标IP
      D0-50-99-18-18-15 00-50-56-C0-00-08 192.168.94.188 192.168.94.157

      如果客户端与RS在同一网络段,然后客户端()将收到此响应消息。如果跨了网段,然后消息通过网关/路由器向用户返回。在实际情况下,可能只有一个公网,其他都是内网,此时, VIP 的绑定地址应是公众 IP,或者利用路由器静态

      2、DR模式的特点

      董事服务器和实服务器必须在同一物理网络中
      实务服务器可以使用私人地址和公共网络地址。 如果你使用公共网络地址,你可以直接通过互联网访问RIP
      目录服务器作为组访问输入,但不是门户
      所有请求消息由目录服务器发送,但答复响应消息不能由目录服务器发送。
      实服务器开关不允许指向目录服务器IP,即由实服务器发送的数据包不允许通过目录服务器
      实服务器的lo接口配置了VIP的IP地址

      LVS-DR的ARP

      问题一

      (1)在LVS-DR负载平衡集群中,负载平衡和节点服务器必须具有相同的VIP地址。

      (二)在本地区域网络中拥有相同的IP地址必然会导致服务器间的ARP通信中断
      解决思路:
      当ARP广播发送到LVS-DR集群时,因为负荷平衡设备和节点服务都连接到同一网络,它们将接收ARP广播
      2:只有前端负荷平衡器响应,其他节点服务器不应响应ARP广播
      (三)处理节点服务器以防止它对VIP的ARP请求作出响应。

      • 解决方法
        (1)使用虚拟接口lo:0来载入VIP地址
        (2)设置内核参数arp_ignore=1:系统只响应ARP请求,目标IP是本地IP

      问题二:

      • RealServer通过路由器返回消息(源IP是VIP)并通过获取路由器的MAC地址重新封装消息。
      • 当发送ARP请求时,Linux默认使用IP包的源IP地址(VIP)作为ARP请求包中的源IP地址,而不是发送的接口的IP地址
      • 如:ens33

      当路由器收到ARP请求时,它更新ARP表项

      原来的VIP相关董事的MAC地址将更新为VIP相关RealServer的MAC地址

      路由器将根据ARP表向RealServer发送新的请求消息,导致主任的VIP失败

      • 解决方法:
      • 为处理节点服务器,设置内核参数 arp_announce=2:系统不使用IP包的源地址设置ARP请求的源地址,而是选择IP地址发送接口。

      设置解决ARP两个问题的方法

      • 修改/etc/sysctl.conf文件

      3.LVS负荷平衡DR模型集群的部署

      ipvsadm工具
      在这里插入图片描述
      在这里插入图片描述
      LVS负载调度算法
      環狀羅賓
      ●接收的访问请求被分发到集群的节点(实际服务器)中,按顺序处理每个服务器,不管实际的连接数目和系统负载量如何

      重型圆 Robin
      请求根据发送者设置的重量分配。高重节点优先分配任务,分配的请求越多,请求的数量就越高。
      ●确保高性能服务器能提供更多的访问流量

      最小连接
      接收的访问请求将根据实际服务器建立的连接数,优先分配给连接数最低的节点。

      重量级L-东连接
      ●当服务器节点性能差异较大时,实际服务器自动调整重量
      ●高性能节点能承受更大的主动连接负荷

      1、准备

      主机 IP地址 所需服务
      DR服务器(载量计) ens33:192.168.94.19 ens33:0(VIP):192.168.94.188
      Web节点服务器1 ens33:192.168.94.152 lo:0(VIP):192.168.94.188 nfs-utils、rpcbind、httpd
      Web节点服务器2 ens33:192.168.94.153 lo:0(VIP):192.168.94.188 nfs-utils、rpcbind、httpd
      NFS服务器 192.168.94.151 rpcbind、nfs-utils
      客户端 195.168.94.157

      注意:此操作将在同一个本地区域网络中设置。没有网络交换器和DNS需要设置网络。

      2、部署共享存储

      NFS服务器:

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述
      在这里插入图片描述

      3、配置节点服务器

      网络节点服务器1:ens33: lo:0 (VIP):
      网络节点服务器2:ens33:lo:0(VIP):
      接下来是两个服务器相同的配置

      (1)配置虚拟IP地址(VIP:)

      在这里插入图片描述
      在这里插入图片描述

      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

      (二)调整内核的ARP响应参数以防止VIP的MAC地址更新和避免冲突

      在这里插入图片描述

      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

      4、配置负载调度器

      Load Scheduler: lo:0 (VIP):

      (1)关闭防火墙并加载ip_vs模块

      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

      (2)配置虚拟IP地址(VIP:)

      在这里插入图片描述
      在这里插入图片描述

      (三)调整Proc响应参数

      在这里插入图片描述
      在这里插入图片描述

      (四)配置负荷分配策略

      在这里插入图片描述

      5、测试验证

      在这里插入图片描述

      在这里插入图片描述

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/26895.html

          热门文章

          文章分类