LVS的四种模型

相关术语:

vs:Virtual Server,Director,Dispatcher,Balancer

rs:Real Server,upstream server,backend server

lvs集群的类型:

lvs-nat:修改请求报文的目标IP

lvs-dr:操作封装新的MAC地址;

lvs-tun:在原请求IP报文之外新加一个IP首部;

lvs-fullnat:修改请求报文的源和目标IP。

lvs-nat:

多目标IP的DNAT,通过将请求报文中的目标地址和目标端口修改为某挑出的RS的RIP和PORT实现转发;

(1)RIP和DIP必须在同一个IP网络,且应该使用私网地址;RS的网关要指向DIP;

(2)请求报文和响应报文都必须经有Director转发;Director易于成为系统瓶颈;

(3)支持端口映射,可修改请求报文的目标PORT;

(4)VS必须是linux系统,rs可以是任意系统。

LVS的四种模型1.png

lvs-dr:

Direct Routing,直接路由:

通过为请求报文重新封装一个MAC首部进行转发,源MAC是DIP所在的接口的MAC,目标MAC是某挑选出的RS的RIP所在接口的MAC地址;均保持不变;

Director和各RS都得配置使用VIP;

(1)确保前端路由器将目标IP为VIP的请求报文发往Director;

    (a)在前端网关做静态绑定;

    (b)在RS上使用arptables;

    (c)在RS上修改内核参数以限制arp通告及应答级别

        arp_announce

        arp_ignore

(2)RS的RIP可以使用私网地址,也可以是公网地址;RIP与DIP在同一网络;

(3)RS跟Director要在同一个物理网络

(4)请求报文经由Director,但响应不能经由Director,而是由RS直接发往Client

(5)不支持端口映射;

LVS的四种模型2.png

lvs-tun:

转发方式:不修改请求报文的IP首部(源IP为CIP,目标IP为VIP),而在原IP报文之外再封装一个IP首部(源IP是DIP,目标IP是RIP),将报文发往挑出的目标RS;

(1)DIP,VIP,RIP都应该是公网地址;

(2)RS的网关不能,也不可能指向DIP;

(3)请求报文要经由Director,但响应不能经由Director;

(4)不支持端口映射;

(5)RS的OS得支持隧道功能;

LVS的四种模型3.png

lvs-fullnat:

通过同事修改请求报文的源IP地址和目标IP地址进行转发;

CIP—–>DIP

VIP——>RIP

(1)VIP是公网地址,RIP和DIP是私网地址。且通常不在同一IP网络;因此,RIP的网关一般不会指向DIP;

(2)RS收到的请求报文源地址是DIP,因此,只需要响应给DIP,但Director还要将其发往Client;

(3)请求和响应报文都经由Director;

(4)支持端口映射;

注意:此类型默认不支持。

LVS的四种模型4.png

原创文章,作者:178babyhanggege,如若转载,请注明出处:http://www.178linux.com/55246

(0)
178babyhanggege178babyhanggege
上一篇 2016-10-30
下一篇 2016-10-30

相关推荐

  • 搭建discuz服务器

      Discuz是目前比较流行的社区论坛系统,其具有安装简便、功能强大的特点,下面以LAMP为基础平台来搭建discuz服务器。   一、安装apache服务   二、安装php   三、安装mysql   四、安装php-mysql   五、启动mysql服务   六、创建数据库 &nb…

    Linux干货 2016-03-18
  • N22-​Linux系统的基础命令

                                     Linux系统的基础命令 命令的语法通用格式:# COMMAND OPTIONS  ARGUMENTS COMMA…

    Linux干货 2016-08-15
  • 小型网站MYSQL问题一:MyISAM转Innodb的方法

    故事背景:之前公司的数据库存储引擎全部为MyISAM,数据量和访问量都不是很大,也一直没有什么问题。我最近接手一些运维工作,兼DBA,因为业务上面涉及到钱,所以决定换成支持事物的innodb。下面将操作步骤记录以下。 1、导出mydb数据库的表结构 mysqldump -d -uxxx -p mydb &gt…

    Linux干货 2015-12-19
  • Linux用户和组管理类命令以及文本处理工具的各种实例

    列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 取出最后登录到当前系统的用户的相关信息。 取出当前系统上被用户当作其默认shell的最多的那个shell。 将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。 取出当前主机的IP地址,提示:对i…

    2018-03-13
  • 文本处理工具基础应用

                                                      &nbsp…

    Linux干货 2016-08-07
  • 20160802作业

    20160802作业 1、每日课堂笔记总结 2、预习 3、每日课堂pdf练习 4、在/data/testdir里创建的新文件自动属于g1组,组g2的成员如: alice能对这些新文件有读写权限,组g3的成员如:tom只能对新文件有读权限,其它用户(不属于g1,g2,g3)不能访问这个文件夹。 [root@Centos7 ~]# chmod…

    Linux干货 2016-08-04