引言

相信一般的小公司用的最多的还是DR和NAT模式,关于DR和NAT模式的原理请看看下图,我们先从lvs的DR和NAT模式特性聊聊一些问题。

问题1、lvs的DR模式和NAT模式核心缺陷有哪些?

DR模式的缺陷

1:Realserver和 lvs的vip提供服务的端口必须一致。也就是说:vip的端口对外端口为 80,但后端服务的真实端口为8080,通过lvs的DR模式是实现不了的。
        2:Realserver和LVS不能在同一台机器上
        3: Realserver 和LVS需要在同一个vlan或者局域网下。

NAT模式的缺陷

1:NAT模式流量的入和出都需要通过LVS服务器。
        2: 效率相比DR模式,性能和效率上会差一些。

为什么呢?别着急如果你不太了解,下面来解释为什么?

问题2、为什么Realserver和 lvs,vip提供服务的端口必须一致?

原因:因为LVS的DR模式,改写的就是数据包的目的MAC地址,并不会对数据报文IP和端口地址层修改,所以就作不到端口改写了。

问题3、为什么DR模式下,Realserver和LVS不能在同一台机器上?

原因:假设lvs主服务器上的数据包发送给自己备份节点(也是realserver) eth0 接口。备lv不能正常的被监听指定端口的程序所接收,因为数据包会首先先经过 ip_vs()来接受处理了.
不仅如此,备份节点还会将50%的机率将数据包转发给lvs主,这样一直主和备一直转发,就形成死循环了。所以客户端会发现,一次正常能请求,一次会出现
超时的情况。

问题4、为什么DR模式下,Realserver 和LVS需要在同一个vlan或者局域网下?

原因:LVS的是改写mac地址的,基于mac地址的通讯方式是2层的,所以需要限制在一个vlan或者局域网下。

问题5、为什么NAT模式下,NAT模式流量的入和出都需要通过LVS服务器?

原因:NAT模式修改的目的端的IP地址,对公网的VIP,并不会下放到realserver上,所以后端的realserver的网关必须指向lvs地址。

问题6、为什么效率相比DR模式,性能和效率上会差一些?

原因:原因和NAT模式的特性一样,出入的数据包都需要通过lvs,必然导致数量大了后,成为性能瓶颈。

博客搬运地址

LVS上DR和NAT模式的缺陷的更多相关文章

  1. LVS集群之NAT模式实现

    LVS集群之NAT模式实现 一.集群的种类 集群系统主要分为 1.HA:高可用集群,又叫双机热备.   (a)原理      2台机器A,B,正常是A提供服务,B待命闲置,当A宕机或服务宕掉,会切换至 ...

  2. 20.LVS负载均衡群集—NAT模式实例

    LVS负载均衡群集-NAT模式实例 目录 LVS负载均衡群集-NAT模式实例 群集引用概述 群集的含义 问题 解决方法 企业群集分类 群集的三种类型 负载均衡群集(Load Balance Clust ...

  3. LVS集群之NAT模式实例(3)

    LVS集群NAT模式实例 1. 实验拓扑图 DS 必须有两块网卡,需要在上面做NAT. 2. 实验环境 3台CentOS6.4 64bit的服务器. 类型 IP DR eth0:10.20.73.20 ...

  4. LVS负载均衡之NAT模式部署

    1.LVS的NAT模式介绍 参考自官网:http://www.linuxvirtualserver.org/zh/lvs3.html 由于IPv4中IP地址空间的日益紧张和安全方面的原因,很多网络使用 ...

  5. Linux系统(四)负载均衡LVS集群之NAT模式

    序言 提到LVS,就从章文嵩博士开始吧,反正也不知道如何下笔来写这一篇.章大博士,读博时候创建这个lvs软件项目,但是他提倡开源精神,在用户的建议和反馈中,这个花了他两周时间开发的开源软件不断得到改建 ...

  6. LVS集群之NAT模式

    集群的分类: (1)HA:高可用集群,有叫双机热备 原理:两台机器A.B,正常是A提供服务,当A机宕机或者服务有问题时,会切换到B机继续提供服务常用的高了永软件:heartbeat和keepalive ...

  7. win系统主机上的虚拟机NAT模式可修改3389端口做远程登录

    当你只有一个公网IP的时候,那么这个IP基本上是要分给物理主机的,那么本机的虚拟机就只能选NAT网络模式了,那么想在外网直接远程虚拟机的话,修改虚拟机的远程登录端口(不修改也可以,主要是主机的3389 ...

  8. LVS负载均衡NAT模式实现

    LVS负载均衡之NAT模式配置 NAT 模式架构图: 操作步骤 实验环境准备:(centos7平台) 所有服务器上配置 # systemctl stop firewalld //关闭防火墙 # sed ...

  9. LVS的工作模式介绍和NAT模式&DR模式实验步骤

    一:LVS介绍 二.LVS的NAT和DR模式的实验及配置步骤 一.LVS的简单介绍 linux virtual server 简单来讲lvs是一段内核代码 类似于netfilter本身是一框架但不提供 ...

随机推荐

  1. 字符串系列——KMP模板整理

    KMP模板整理 KMP与扩展KMP: /*vs 2017/ vs code以外编译器,去掉windows.h头文件和system("pause");*/ #include<i ...

  2. UVA - 442 Matrix Chain Multiplication(栈模拟水题+专治自闭)

    题目: 给出一串表示矩阵相乘的字符串,问这字符串中的矩阵相乘中所有元素相乘的次数. 思路: 遍历字符串遇到字母将其表示的矩阵压入栈中,遇到‘)’就将栈中的两个矩阵弹出来,然后计算这两个矩阵的元素相乘的 ...

  3. 通过request对象获取客户端的相关信息

    通过request对象获取客户端的相关信息 制作人:全心全意 通过request对象可以获取客户端的相关信息.例如HTTP报头信息.客户信息提交方式.客户端主机IP地址.端口号等等. request获 ...

  4. 【jenkins】UnicodeEncodeError: 'ascii' codec can't encode character

    https://stackoverflow.com/questions/6076203/how-do-you-set-the-default-encoding-in-jenkins

  5. top Universities in Mechanical Engineering

  6. * screen recording on Ubuntu

    - byzanz- kazam-recordmydesktophttps://www.ubuntupit.com/15-best-linux-screen-recorder-and-how-to-in ...

  7. FZU 1492 地震预测(模拟链表的应用)(Java实现)

    FZU 1492 地震预测(模拟链表的应用)(Java实现) 怀特先生是一名研究地震的科学家,最近他发现如果知道某一段时间内的地壳震动能量采样的最小波动值之和,可以有效地预测大地震的发生. 假设已知一 ...

  8. Vue2.0如何自定义时间过滤器

    我们知道Vue2.0开始不再支持自带的过滤器,需要我们自己去自定义过滤器,方法如下:           我们可以自己定义一个时间过滤器,在此引用了一个日期处理类库(Moment.js)可以很快的实现 ...

  9. 九度oj 题目1059:abc

    题目1059:abc 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4510 解决:3546 题目描述: 设a.b.c均是0到9之间的数字,abc.bcc是两个三位数,且有:abc+bcc ...

  10. mongodb片健的选取及更改

    1.总的原则:选键的时候多考虑以下问题. 写操作是怎么样的,有多大? 系统每小时会写多少数据,每天呢,高峰期呢 那些字段是随机的,那些是增长的 读操作是怎么样的,用户在访问那些数据 数据索引做了吗?应 ...