服务概述

  • Direct Routing(直接路由)

Director 分配请求到不同的 real server, real server处理请求后直接回应给用户,这样Director负载均衡器仅处理客户机与服务器的一半连接。负载均衡器仅处理一半的连接,避免了新的性能瓶颈,同样增加了系统的可伸缩性。Direct Routing由于采用物理层(修改MAC地址)技术,因此所有服务器都必须在一个网段中.


  •  IP Tunneling(IP隧道)

Director分配请求到不同的real server . real server处理请求后直接回应给用户,这样Director负载均衡器仅处理客户机与服务器的一半连接, IP Tunneling技术极大地提高了Director的调度处理能力,同时也极大地提高了系统能容纳的最大节点数,可以超过100个节点。real server可以在任何LAN或WAN上运行,这意味着允许地理上的分布,这在灾难恢复中有重要意义。服务器必须拥有正式的公网IP地址用于与客户机直接通信,并且所有服务器必须支持IP隧道协议.


  • Direct Routing  <==>  IP Tunneling 区别:
  1. Direct Routing与 IP Tunneling 相比,没有IP封装的开销
  2. Direct Routing采用数据链路层(修改MAC地址)技术,所有服务器都必须在一个物理网段

  • LVS - DR 的工作原理

Deiector收到请求,将请求转发给了我们的realserver,接下来的工作就是我们的realserver和客户端进行通讯了

  • LVS - DR模式 拓扑图

NAT 模式效率比较低,DR需要都是公网地址

  • 网络转发

基于2层的数据报文的转发, 要比基于3层的网络转发效率要高,LVS -DR 是基于2层的转发, 所以在LVS中所有的模式, 效率是最好的

     1):基于mac的数据报文转发, 是效率最好的, 但是是根据交换机的MAC地址表来实现的,MAC表主要告诉你, 到xxxx地方该走那个端口。如果交换不知道对方在哪儿, 这个时候, 他就要进行广播, 就问xxxx在哪儿, 如果对应的设备给了回应, 那么交换机也就更新了自己的MAC地址表 记录到xxxx需要走这个端口

2):二层设备不具有路由功能, 那么广播也就不具有跨路由的功能, 所有要实现mac地址广播, 必须在同一物理网段

3):vlan具有隔离广播的功能, 所有要能处理mac地址广播, 就应该在同一个VLAN中

实现 LVS - DR 条件

1) 所有设备应该在同一个物理网段

2) 所有的设备都应该在同一个广播域中

配置 LVS-DR 集群

分发器 IP 配置 zh75

DIP :ens32 --> 192.168.1.140

VIP :   ens32:1 --> 192.168.1.66

[root@zh75 network-scripts]# cat ifcfg-ens32\:1
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
NAME=ens32:1
DEVICE=ens32:1
ONBOOT=yes
IPADDR=192.168.1.66
NETMASK=255.255.255.0
HWADDR=00:0c:29:83:2a:4d重启网络[root@zh75 ~]# ifconfig ens32\:1
ens32:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.1.66  netmask 255.255.255.0  broadcast 192.168.1.255ether 00:0c:29:83:2a:4d  txqueuelen 1000  (Ethernet)

配置LVS-DR规则

[root@zh75 ~]# ipvsadm -A -t 192.168.1.66:80 -s rr
[root@zh75 ~]# ipvsadm -a -t 192.168.1.66:80 -r 192.168.1.133 -g
[root@zh75 ~]# ipvsadm -a -t 192.168.1.66:80 -r 192.168.1.128 -g
[root@zh75 ~]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.1.66:80 rr-> 192.168.1.128:80             Route   1      0          0         -> 192.168.1.133:80             Route   1      0          0# 三个LVS 模式中,只有NAT模式需要开启 路由转发功能. DR和TUN模式不需要开启.

两台RealServer的IP配置 操作2台

# 生成回环口配置文件
[root@zh74 network-scripts]# cat ifcfg-lo\:1
DEVICE=lo:1
IPADDR=192.168.1.66
NETMASK=255.255.255.255
#NETWORK=127.0.0.0
# If you're having problems with gated making 127.0.0.0/8 a martian,
# you can change this to something else (255.255.255.255, for example)
#BROADCAST=127.255.255.255
ONBOOT=yes
NAME=loopback[root@zh74 ~]# cat /var/www/html/index.html
zh74 test successful !
[root@zh74 ~]# systemctl start httpd

关闭ARP转发  两台RS上同样的操作

同一个广播域: 配置了多个相同的VIP  是不允许的, 要想实现,就必须让外面的网络, 无法发现这个VIP的存在,因此 在Linux里面, 可以修改内核参数,  实现接口IP的广播不响应、不广播

arp_ignore = 1  表示只回答目标IP是访问本地网络对应接口的arp请求

arp_announce = 2  只宣告本机网卡直连网络所在的ip的arp广播

[root@zh74 ~]# echo 1 > /proc/sys/net/ipv4/conf/ens33/arp_ignore
[root@zh74 ~]# echo 2 >  /proc/sys/net/ipv4/conf/ens33/arp_announce[root@zh74 ~]# vim /etc/sysctl.conf
[root@zh74 ~]# sysctl -p
net.ipv4.conf.ens33.arp_ignore = 1
net.ipv4.conf.ens33.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2arp_ignore = 1 只回答目标IP地址是访问本网络接口(eth0)的ARP查询请求。 在设置参数的时候将arp_ignore 设置为1,意味着当别人的arp请求过来的时候,如果接收的网卡设备上面没有这个ip,就不做出响应,默认是0,只要这台机器上面任何一个网卡设备上面有这个ip,就响应arp请求,并发送mac地址.
---------------------------------------------------------------------------
arp_announce = 2 对查询目标使用最适当的本地地址。例如,如果在eth0接口上接受到了一个VIP的arp请求包。内核判断这个VIP地址是不是eth0接口上的IP一样。如果一样,则回复这个包。如果不一样,就丢弃不回应.

测试


LVS - DR 集群模式相关推荐

  1. 集群与存储 LVS的集群

    集群 什么是集群? 一组通过网络互联的计算组,并以单一系统的模式加以管理 讲很多服务器集中起来一起,提供同一种服务,在客户端看起来就像是只有一个服务器 可以自爱付出较低成本的情况下获得在性能,可靠性, ...

  2. Centos5.5下lvs+keepalived集群

    Centos5.5下lvs+keepalived集群<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office: ...

  3. 深入剖析Redis系列(三) - Redis集群模式搭建与原理详解

    前言 在 Redis 3.0 之前,使用 哨兵(sentinel)机制来监控各个节点之间的状态.Redis Cluster 是 Redis 的 分布式解决方案,在 3.0 版本正式推出,有效地解决了 ...

  4. redis db0 到 db15_深入剖析Redis系列: Redis集群模式搭建与原理详解

    前言 在 Redis 3.0 之前,使用 哨兵(sentinel)机制来监控各个节点之间的状态.Redis Cluster 是 Redis 的 分布式解决方案,在 3.0 版本正式推出,有效地解决了 ...

  5. Redis 学习笔记八:集群模式

    Redis 学习笔记八:集群模式 作者:Grey 原文地址: 博客园:Redis 学习笔记八:集群模式 CSDN:Redis 学习笔记八:集群模式 前面提到的Redis 学习笔记七:主从复制和哨兵只能 ...

  6. 2021年大数据Flink(五):Standalone-HA高可用集群模式

    目录 Standalone-HA高可用集群模式 原理 操作 1.集群规划 2.启动ZooKeeper 3.启动HDFS 4.停止Flink集群 5.修改flink-conf.yaml 6.修改mast ...

  7. 2021年大数据Spark(八):环境搭建集群模式 Standalone HA

    环境搭建-Standalone HA 高可用HA Spark Standalone集群是Master-Slaves架构的集群模式,和大部分的Master-Slaves结构集群一样,存在着Master单 ...

  8. 2021年大数据Spark(六):环境搭建集群模式 Standalone

    目录 环境搭建-Standalone 前言 Standalone 架构 ​​​​​​​集群规划 修改配置并分发 修改slaves ​​​​​​​分发到其他机器 修改spark-env.sh 集群启动和 ...

  9. Redis 高级特性(5)— 集群模式(主从模式、哨兵模式、cluster 集群模式)

    Redis 是如何做到高可用的呢? 它主要通过支持主从模式.哨兵模式.集群模式这三种模式,来满足不同业务特点和可用等级的需求. 其中,主从模式部署最简单,用得也最多,集群模式比较复杂,但可用性最高. ...

最新文章

  1. 用STL vector 来创建二维数组 zz
  2. QT设置控件背景为透明
  3. 函数粘合云服务提供端到端解决方案
  4. 【好书试读】大数据处理之道
  5. linux系统中的目录讲解
  6. 开源 , KoobooJson一款高性能且轻量的JSON框架
  7. 美团优选、多多买菜等五家社区团购被罚650万元;打车手机越贵,接单车型越贵;微软推出低代码语言 Power Fx | 极客头条...
  8. python输入输出基本点
  9. LaTeX 绘制思维导图
  10. Android network框架分析之NetworkManagementService和netd交互深入分析(二)
  11. 搭建简易客户端从tftp服务器中下载文件
  12. Ghibli works
  13. SysML实践指南第二版(中文翻译:刘亚龙)第七章 使用模块图(BDD)建模
  14. SimpleMemory博客园主题定制美化 配置
  15. 别让职场形象毁了你的职场前程
  16. 城市中计算机控制系统的应用,城市污水处理厂计算机控制系统
  17. JZOJ5055 树上路径
  18. laravel artisan 使用
  19. QT的基本使用(一):计算器界面的简易设计及其简单功能实现
  20. Linux 查找命令(find、locate 、grep )

热门文章

  1. 拿到新项目怎么在IDEA中打开并运行起来?多个项目怎么放在一个idea窗口
  2. unity c# 制作英雄 卡牌 循环滚动列表
  3. 【TP5】获取数据库注释信息
  4. FFmpeg入门详解之127:GB28181平台安装部署过程 - 可接入海康、大华、华为、科达、宇视等等设备和平台
  5. android 模拟真书翻页效果的博客
  6. python之串口编程
  7. Volley内部UI层回调的实现代码
  8. css文字超出省略号显示
  9. 自动机器学习超参数调整(贝叶斯优化)
  10. Opencv训练自己分类器