行使LVS实现负载均衡原理及安装配置详解,实现负载均衡原理及安装配备详解

By admin in 美高梅手机版4858 on 2019年4月3日

Linux集群

Linux集群(cluster)就是1组Linux总括机,它们当做二个完好无缺向用户提供1组网络财富,那么些单个的计算机连串正是集群的节点(node)。3个得天独厚的集群,用户是不会发现到集群系统底层的节点的,在她们看来,集群是一个系统,而非多少个电脑体系,并且集群系统的指挥者可以私下扩张和删改集群系统的节点。
  Linux集群系统的帮助和益处主要有四方面:
一、易于扩大,管理员可很有利的增多或删除集群系统中的节点。
贰、高可用性,当集群中某一个节点失效时,其负责的职务能够传递给别的节点,有效制止单点故障。
叁、高品质,负载均衡的集群系统能够负担巨大的产出客户请求。
4、高性价比,能够应用绝对廉价的硬件构造出高品质的系统。
  周围的Linux集群类型包含:
一、LB:Load Balancing,负载均衡集群
负载均衡集群中有调度器(Director),它地处多台内部服务器的上层,依照定义的调度措施从下层的劳动器组中甄选1台来响应客户端发送的呼吁。
二、HA:High Availability,高可用性集群
顾名思义正是服务的可用性相比较高,当某台服务器故障后不会导致所提供的劳动中断,集群自动将客户的拜访请求转交给三个健康办事的服务器。
3、HP:Hight Performance,高性能
高品质的集群是当某一项职务总计量一点都相当大的时候,由2个计算机集群共同来成功那项职务,那种
处理情势大家誉为并行处理机制。壹般高品质集群用于科学钻探工作方面。
  常见的Linux集群扩大项目(组建立模型式)有:
①、scale
up(纵向扩大):通过扩展硬件能源,即扩张更好的配备来满意品质消耗的必要。不过此格局性价比相当低。
二、scale
out(横向扩大):通过硬件或软件的法子,将由单纯服务器负责的业务供给转为壹组节点服务器来实行处理,此种格局简单扩充且性价比高。

    负载均衡集群是 load balance
集群的简写,翻译成普通话正是负载均衡集群。常用的负荷均衡开源软件有nginx、lvs、haproxy,商业的硬件负载均衡设备F5、Netscale。这里关键是学习
LVS 并对其展开了详尽的下结论记录。

负载均衡集群是 load balance
集群的简写,翻译成粤语便是负载均衡集群。常用的负载均衡开源软件有nginx、lvs、haproxy,商业的硬件负载均衡设备F伍、Netscale。这里最首假如学习
LVS 并对其进行了详尽的计算记录。

负载均衡集群是
load balance
集群的简写,翻译成普通话正是负载均衡集群。常用的载荷均衡开源软件有nginx、lvs、haproxy,商业的硬件负载均衡设备F伍、Netscale。那里首倘若学习
LVS 并对其进展了详尽的下结论记录。

LVS,Linux Virtual Server

起初认识Linux Cluster后,大家更是介绍负载均衡集群技术LVS(Linux
Virtual Server)。

  LVS是章文嵩硕士发起的自由软件项目,它的官方站点是
  LVS采纳三层组织:调度器、服务器池、共享存款和储蓄,结构如下图:

美高梅手机版4858 1
负载调度器(load
balancer/Director):由壹台或多台载荷调度器组成,首要效率类似三个路由器,将用户请求分发给劳务器池上的real
server;
劳动器池(server
pool/Realserver):一组真正履行客户请求的服务器,执行的服务一般有WEB、MAIL、FTP和DNS等。
共享存款和储蓄(shared
storage):为劳动器池提供2个共享的存储区,能使得劳动器池拥有同等的剧情,提供相同的服务。

  LVS要求在根本的TCP/IP协议栈对数码流举办过滤筛选,那就供给有基础的模块来支撑,而那般的过滤转发规则又是由用户举办定义的,大家能够认为LVS是两段式的架构,在基本空间中劳作的是”ipvs”,而在用户空间中劳作的,用来定义集群服务规则的是”ipvsadm”。

  LVS集群类型相关术语:

术语 解释
Load Balancer 或 Director 负载调度器
RS 或 Real Server 真实服务器,提供服务的真实服务器
VIP 虚拟IP地址,客户端访问的集群地址
RIP 真实服务器的IP地址,提供资源的服务器
DIP 调度器的IP地址
CIP 客户端IP地址

 

 

 

 

 

 

  LVS集群的档次:

lvs-nat:修改请求报文的指标IP;MASQUERADE类型
lvs-dr(direct routing):重新打包新的MAC地址,默许使用的门类;
GATEWAY类型
lvs-tun(ip tunneling):在原请求IP报文之外新加3个IP首部;IPIP类型
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可以是任意系统
图解:

   
 美高梅手机版4858 2

一、客户端访问集群的VIP,请求WEB财富(请求报文:源地址为CIP,目的地址为VIP);
贰、Director收到客户端的请求报文,会修改请求报文中的目的地方(VIP)为CRUISERIP,并且将呼吁根据对应的调度算法送未来端WEB服务器(请求报文:源地址CIP,指标地址为RIP);
三、WEB服务器收到请求,检查报文是造访本身的而温馨也提供WEB服务,就会响应那么些请求报文,并发送给Director(响应报文:源地址PAJEROIP,目的地方CIP);
四、Director收到WEB服务器的响应报文,会根据本人之中的寻踪机制,判断出用户访问的是VIP,此时会修改源地址为VIP并响应客户端请求(响应报文:源地址VIP,目的地点CIP)。

 nat模型优劣势:
  优势:节点服务器使用民用IP地址,与负载调度器位于同贰个物理网络,安全性比DTucson情势和TUN情势要高。
行使LVS实现负载均衡原理及安装配置详解,实现负载均衡原理及安装配备详解。  劣势:调度器位于客户端和集群节点之间,并担负处理进出的有着通讯(压力大的根本原因),大规模使用场景中,调度器不难变成系统瓶颈。

lvs-dr:lvs的默认模式
通过为请求报文重新封装一个MAC首部进行转发,源MAC是DIP所在的接口的MAC,目标MAC是某挑选出的RS的RIP所在接口的MAC地址;源IP/PORT,以及目标IP/PORT均保持不变。
要点:
(1)Director和各RS都得配置使用VIP;
(2)确保前端路由器将目标IP为VIP的请求报文发往Director:通过在RS上修改内核参数以限制arp通告及应答级别(arp_announce及arp_ignore);
(3)RS的RIP可以使用私网地址,也可以是公网地址;RIP与DIP在同一IP网络;RIP的网关不能指向DIP,以确保响应报文不会经由Director;VIP配置在DR上的时候,应该是在eth0:0上,在RS上配置VIP的时候,就必须是lo:0了,否则达不到让RS不响应VIP的ARP通告的效果。
(4)RS跟Director要在同一个物理网络即同一广播域;
(5)请求报文要经由Director,但响应不能经由Director,而是由RS通过网关直接发往Client;
(6)不支持端口映射
图解:

   
  美高梅手机版4858 3

一、客户端CIP的请求发送给Director调度器的VIP;
2、Director调度器收到客户端的请求包后,将数据包的MAC地址改成Director调度器采用的某壹台汉兰达S的MAC地址,并通过交流机(数据链路层)发送给陆风X8S服务器(因为MAC地址是奥德赛S的MAC地址,所以,瑞鹰S能够接到到该数据报),注意:此时数据包的指标及源IP地址未有发生别的改变;
叁、 (1)
揽胜S的多寡链路层收到发送来的数据报文请求后,会从链路层往上传给IP层,此时IP层要求证实请求的对象IP地址。因为包的目的IP(即VIP)并不是像正规数量报那么为奥迪Q3S的地头IP,而独自目标MAC地址是汉兰达S的。所以,在PAJEROS上急需配备二个VIP的LoopbackDevice,是因为LoopbackDevice是服务器当地使用的网络接口,对外是不可知的,不会跟Director的VIP争辩;
(2)
奥德赛S处理多少包完毕后,将回应间接回到给客户端(源IP为VIP,目的IP为CIP),响应的数目报不再通过Director调度器。由此1旦对外提供LVS负载均衡服务,则陆风X8S供给连上互连网才能将回应包回来给客户端。大切诺基S最棒为带公网IP的服务器,这样能够不通过网关直接回答客户;假若七个RAV四S使用了同一网关出口,网关会成为LVS架构的瓶颈,会大大降低LVS的性质。

 dr模型优劣势:
  优势:负载均衡器也只是散发请求,应答包通过独立的路由方法重返给客户端,大大提升了服务器出现能力。
  劣势:(一) LVS-LacrosseS间必须在同一个VLAN; (二) 奥德赛S上绑定VIP,风险大。

lvs-tun:
转发方式:不修改请求报文的IP首部(源IP为CIP,目标IP为VIP),而是在原IP报文之外再封装一个IP首部(源IP是DIP,目标IP是RIP),将报文发往挑选出的目标RS;RS直接响应给客户端(源IP是VIP,目标IP是CIP)。
要点:
(1)DIP,VIP,RIP都应该是公网地址;
(2)RS的网关不能,也不可能指向DIP,在RS的lo别名网卡上配置vip地址;
(3)请求报文要经由Director,但响应不能经由Director;
(4)不支持端口映射;
(5)RS的OS得支持隧道功能
图解:

   
  美高梅手机版4858 4

一、用户发送请求到Director的VIP请求服务;
贰、当用户请求到达Director的时候,根据调度算法选拔1台奥迪Q7S进行转向,那时使用隧道(tun)封装多个IP首部,此时源IP是DIP,指标IP是ENVISIONIP;
三、当BMWX叁S接收到多少报后,看到外层的IP首部,指标地址是温馨,就会拆开包裹,解析实现后,发送响应报文,源IP是VIP,指标IP是CIP。

 tun模型优劣势:

  优势:达成了外市容灾,制止了1个机房故障导致网址不能够访问。
  劣势:本田UR-VS配置复杂。

lvs-fullnat:
通过同时修改请求报文的源IP地址和目标IP地址进行转发
要点:
(1)VIP是公网地址,RIP和DIP是私网地址,且通常不在同一IP网络;因此,RIP的网关一般不会指向DIP;
(2)RS收到的请求报文源地址是DIP,因此,只需响应给DIP;但Director还要将其发往Client;
(3)请求和响应报文都经由Director;
(4)支持端口映射;
(5)lvs-fullnat型lvs默认不支持需更换支持的内核
图解:

     
 美高梅手机版4858 5

一、客户端将请求发送给Director的VIP请求服务;
2、VIP通过调度算法,将请求发送给后端的TiguanS,这一年源地址改成DIP,指标地址改成TucsonIP;
三、凯雷德S接收到请求后,由于源地址是DIP,则早晚会对DIP举行回复;
肆、Director收到HummerH二S的响应后,修改数据报的源地址为VIP,指标地址为CIP举办响应。

留意:此调度方式还未曾正式被Linux官方录入系统标准库,所以壹旦向利用此情势,供给去lvs官网下载源码,并且须要再次编写翻译系统内核才可采取。

  LVS的调度算法:

静态调度算法:根据算法本身进行调度
rr:roundrobin,轮询,调度器将外部请求轮流分配到集群中的节点中;
wrr:Weighted RR,加权轮询,调度器根据事先设置的权重来分配外部请求到集群中的节点;
sh:Source Hashing,实现session sticky,源IP地址hash,将来自同一个IP的请求始终发往第一次挑中的真实服务器IP,从而实现会话绑定;
dh:Destination Hashing,目标地址hash,将发往同一个目标地址的请求始终转发至第一次挑中的真实服务器IP,典型使用场景是正向代理缓存场景中的负载均衡

动态调度算法:根据真实服务器当前的负载状态及调度算法进行调度
lc:least connections,调度器通过lc调度算法动态地将网络请求调度到已建立连接最少的服务器上;
wlc:Weighted Least Connections,调度器通过wlc调度算法根据事先设置的权重优化负载均衡调度,具有较高权重的服务器将承受较大比例的连接请求;
sed:Shortest Expection Delay,在wlc基础上改进,Overhead=(activeconns+1)*256/权重;
nq:Never Queue Scheduling,如果有台 realserver的连接数=0就直接分配过去,不需要再进行sed运算,保证不会有一个主机很空闲;
lblc:locality-based least-connection,基于地址的最小连接数调度,将来自同一个目的地址的请求分配给同一台RS,此时这台服务器是尚未满负荷的。否则就将这个请求分配给连接数最小的RS,并以它作为下一次分配的首先考虑;
lblcr:Locality-Based Least Connections with Replication,带复制的基于局部性最少链接”调度算法也是针对目标IP地址的负载均衡,目前主要用于Cache集群系统,它与lblc算法的不同之处是它要维护从一个目标IP地址到一组服务器的映射,而lblc算法维护从一个目标IP地址到一台服务器的映射。

壹、负载均衡LVS基本介绍

   
LB集群的架构和公理非常粗略,便是当用户的呼吁过来时,会一直分发到Director
Server上,然后它把用户的请求遵照设置好的调度算法,智能平衡地分发到后端真正服务器(real
server)上。为了制止差别机器上用户请求获得的数额不1致,须求利用了共享存款和储蓄,那样保证拥有用户请求的多寡是千篇1律的。

    LVS是 Linux
Virtual Server
的简称,也正是Linux虚拟服务器。那是四个由章文嵩博士发起的3个开源项目,它的官方网址是
未来 LVS 已经是 Linux
内核标准的壹有的。使用 LVS 能够高达的技巧目的是:通过 LVS
达到的载重均衡技术和 Linux 操作系统完结三个高质量高可用的 Linux
服务器集群,它装有优异的可信赖性、可扩大性和操作性。从而以公道的血本实现最优的天性。LVS
是三个落到实处负载均衡集群的开源软件项目,LVS架构从逻辑上可分为调度层、Server集群层和共享存款和储蓄。

 

壹、负载均衡LVS基本介绍

LB集群的架构和公理很粗大略,正是当用户的请求过来时,会一向分发到Director
Server上,然后它把用户的哀告遵照设置好的调度算法,智能平衡地分发到后端真正服务器(real
server)上。为了防止不一致机器上用户请求获得的多少分裂,须要选取了共享存款和储蓄,那样保障全数用户请求的数据是千篇一律的。

LVS是 Linux Virtual Server
的简称,也正是Linux虚拟服务器。那是三个由章文嵩大学生发起的3个开源项目,它的官方网址是http://www.linuxvirtualserver.org

未来 LVS 已经是 Linux 内核标准的一片段。使用 LVS
能够达到的技艺目的是:通过 LVS 达到的负荷均衡技术和 Linux
操作系统完结3个高质量高可用的 Linux
服务器集群,它具有卓绝的可相信性、可扩大性和可操作性。从而以公道的资本实现最优的质量。LVS
是二个落到实处负载均衡集群的开源软件项目,LVS架构从逻辑上可分为调度层、Server集群层和共享存款和储蓄。

1、负载均衡LVS基本介绍

LB集群的框架结构和原理很不难,就是当用户的乞求过来时,会间接分发到Director
Server上,然后它把用户的呼吁依照设置好的调度算法,智能平衡地分发到后端真正服务器(real
server)上。为了制止分化机器上用户请求获得的数据不等同,必要选择了共享存款和储蓄,那样保障全体用户请求的数目是如出1辙的。

LVS是 Linux Virtual Server
的简称,也正是Linux虚拟服务器。那是八个由章文嵩硕士发起的二个开源项目,它的官方网是  今后LVS 已经是 Linux 内核标准的壹有个别。使用 LVS 能够完成的技术目的是:通过
LVS 达到的负荷均衡技术和 Linux 操作系统完毕贰个高质量高可用的 Linux
服务器集群,它抱有优异的可信赖性、可增加性和操作性。从而以低价的本金完毕最优的习性。LVS
是2个实现负载均衡集群的开源软件项目,LVS架构从逻辑上可分为调度层、Server集群层和共享存款和储蓄。

2、LVS的中坚工作规律

美高梅手机版4858 6

1. 当用户向负载均衡调度器(Director
Server)发起呼吁,调度器将请求发往至基本空间
2.
PREROUTING链首先会收到到用户请求,判断目的IP明显是本机IP,将数据包发往INPUT链
3.
IPVS是干活在INPUT链上的,当用户请求到达INPUT时,IPVS会将用户请求和调谐已定义好的集群服务开始展览比对,假如用户请求的正是概念的集群服务,那么此时IPVS会强行修改数据包里的对象IP地址及端口,并将新的数目包发往POSTROUTING链
4.
POSTROUTING链接收数据包后发现指标IP地址刚好是投机的后端服务器,那么此时经过选路,将数据包最后发送给后端的服务器

二、LVS的大旨工作规律

美高梅手机版4858 7

  1. 当用户向负载均衡调度器(Director
    Server)发起呼吁,调度器将请求发往至基本空间
  2. PREROUTING链首先会接到到用户请求,判断目的IP分明是本机IP,将数据包发往INPUT链
  3. IPVS是工作在INPUT链上的,当用户请求到达INPUT时,IPVS会将用户请求和友爱已定义好的集群服务进行比对,若是用户请求的正是概念的集群服务,那么此时IPVS会强行修改数据包里的靶子IP地址及端口,并将新的数据包发往POSTROUTING链
  4. POSTROUTING链接收数据包后发现目的IP地址刚好是和谐的后端服务器,那么此时因而选路,将数据包最后发送给后端的服务器

贰、LVS的主干工作规律

美高梅手机版4858 8

  1. 当用户向负载均衡调度器(Director
    Server)发起呼吁,调度器将呼吁发往至基本空间;

二. PREROUTING链首先会收取到用户请求,判断目的IP分明是本机IP,将数据包发往INPUT链;

3. IPVS是干活在INPUT链上的,当用户请求到达INPUT时,IPVS会将用户请求和温馨已定义好的集群服务拓展比对,假设用户请求的便是概念的集群服务,那么此时IPVS会强行修改数据包里的指标IP地址及端口,并将新的多少包发往POSTROUTING链;

④. POSTROUTING链接收数据包后发现目的IP地址刚好是自身的后端服务器,那么此时经过选路,将数据包最后发送给后端的服务器。

三、LVS的组成

LVS
由2部分顺序组成,包含 ipvs 和 ipvsadm。

  1. ipvs(ip virtual
    server):一段代码工作在根本空间,叫ipvs,是当真生效完毕调度的代码。
    2.
    ipvsadm:其它壹段是做事在用户空间,叫ipvsadm,负责为ipvs内核框架编写规则,定义何人是集群服务,而何人是后端真实的服务器(Real
    Server)

 

三、LVS的组成

LVS 由贰部分主次组成,包蕴 ipvs 和 ipvsadm。

  1. ipvs(ip virtual
    server):1段代码工作在基础空间,叫ipvs,是真的生效完毕调度的代码。
  2. ipvsadm:其它一段是干活在用户空间,叫ipvsadm,负责为ipvs内核框架编写规则,定义哪个人是集群服务,而什么人是后端真实的服务器(Real
    Server)

三、LVS的组成

LVS 由贰局地程序组成,包罗 ipvs 和 ipvsadm。

一.ipvs(ip virtual
server):壹段代码工作在根本空间,叫ipvs,是确实生效达成调度的代码。

二.
ipvsadm:其它①段是做事在用户空间,叫ipvsadm,负责为ipvs内核框架编写规则,定义何人是集群服务,而哪个人是后端真实的服务器(Real
Server)

4、LVS相关术语

  1. DS:Director
    Server。指的是前者负载均衡器节点。
  2. 福睿斯S:Real Server。后端真实的办事服务器。
  3. VIP:向外部间接面向用户请求,作为用户请求的对象的IP地址。
  4. DIP:Director Server IP,首要用于和中间主机通信的IP地址。
  5. 牧马人IP:Real Server IP,后端服务器的IP地址。
  6. CIP:Client IP,访问客户端的IP地址。

上面是二种工作格局的原理和特点总计。

 

四、LVS相关术语

  1. DS:Director Server。指的是前者负载均衡器节点。
  2. OdysseyS:Real Server。后端真实的工作服务器。
  3. VIP:向外部直接面向用户请求,作为用户请求的指标的IP地址。
  4. DIP:Director Server IP,首要用于和内部主机通信的IP地址。
  5. HummerH二IP:Real Server IP,后端服务器的IP地址。
  6. CIP:Client IP,访问客户端的IP地址。

上面是二种工作形式的原理和特色计算。

四、LVS相关术语

  1. DS:Director Server。指的是前者负载均衡器节点。
  2. 汉兰达S:Real Server。后端真实的办事服务器。
  3. VIP:向外部直接面向用户请求,作为用户请求的目的的IP地址。
  4. DIP:Director Server IP,首要用来和在那之中主机通讯的IP地址。
  5. 君越IP:Real Server IP,后端服务器的IP地址。
  6. CIP:Client IP,访问客户端的IP地址。

上边是两种工作形式的规律和特征总计。

5、LVS/NAT原理和性格

一.
关键明白NAT方式的兑现原理和数据包的变更。

美高梅手机版4858 9

(a). 当用户请求到达Director
Server,此时呼吁的数据报文仲先到根本空间的PREROUTING链。
此时报文的源IP为CIP,目的IP为VIP
(b).
PREROUTING检查发现数据包的指标IP是本机,将数据包送至INPUT链
(c).
IPVS比对数据包请求的劳务是或不是为集群服务,要是,修改数据包的对象IP地址为后端服务器IP,然后将数据包发至POSTROUTING链。
此时报文的源IP为CIP,指标IP为猎豹CS六IP
(d).
POSTROUTING链通过选路,将数据包发送给Real Server
(e). Real
Server比对发现目的为温馨的IP,开首构建响应报文发回给Director Server。
此时报文的源IP为RubiconIP,目的IP为CIP
(f). Director
Server在响应客户端前,此时会将源IP地址修改为团结的VIP地址,然后响应给客户端。
此时报文的源IP为VIP,指标IP为CIP

2.
LVS-NAT模型的表征

  • 瑞鹰S应该运用个人地址,凯雷德S的网关必须指向DIP
  • DIP和TiggoIP必须在同二个网段内
  • 伸手和响应报文都亟待通过Director
    Server,高负载场景中,Director Server易成为质量瓶颈
  • 协理端口映射
  • KoleosS能够运用任意操作系统
  • 症结:对Director
    Server压力会相比较大,请求和响应都需经过director server

 

伍、LVS/NAT原理和脾气

五、LVS/NAT原理和特征

壹. 重点领悟NAT格局的贯彻原理和数据包的改观。

美高梅手机版4858 10

(a).
当用户请求到达Director
Server,此时呼吁的多少报文少禽先到根本空间的PREROUTING链。
此时报文的源IP为CIP,指标IP为VIP。
(b).
PREROUTING检查发现数据包的指标IP是本机,将数据包送至INPUT链。
(c).
IPVS比对数据包请求的劳动是还是不是为集群服务,假使,修改数据包的目标IP地址为后端服务器IP,然后将数据包发至POSTROUTING链。
此时报文的源IP为CIP,指标IP为本田UR-VIP。
(d).
POSTROUTING链通过选路,将数据包发送给Real Server。
(e).
Real Server比对发现目的为温馨的IP,初步构建响应报文发回给Director
Server。 此时报文的源IP为凯雷德IP,指标IP为CIP。
(f).
Director
Server在响应客户端前,此时会将源IP地址修改为自个儿的VIP地址,然后响应给客户端。
此时报文的源IP为VIP,指标IP为CIP。

二. LVS-NAT模型的性状

  • 大切诺基S应该选择民用地址,WranglerS的网关必须指向DIP

  • DIP和RIP必须在同三个网段内

  • 请求和响应报文都须要经过Director Server,高负载场景中,Director
    Server易成为质量瓶颈

  • 支撑端口映射

  • RubiconS能够行使任意操作系统

  • 症结:对Director Server压力会相比大,请求和响应都需通过director
    server



陆、LVS/DHaval原理和特性

一.
重将请求报文的靶子MAC地址设定为挑选出的索罗德S的MAC地址

美高梅手机版4858 11 

(a) 当用户请求到达Director
Server,此时伏乞的数码报文会先到根本空间的PREROUTING链。
此时报文的源IP为CIP,目的IP为VIP
(b)
PREROUTING检查发现数据包的指标IP是本机,将数据包送至INPUT链
(c)
IPVS比对数据包请求的服务是不是为集群服务,假诺,将请求报文中的源MAC地址修改为DIP的MAC地址,将指标MAC地址修改途胜IP的MAC地址,然后将数据包发至POSTROUTING链。
此时的源IP和指标IP均未修改,仅修改了源MAC地址为DIP的MAC地址,指标MAC地址为奥德赛IP的MAC地址

(d)
由于DS和LacrosseS在同四个互连网中,所以是经过二层来传输。POSTROUTING链检核对象MAC地址为KoleosIP的MAC地址,那么此时数据包将会发至Real
Server。
(e)
奔驰M级S发现呼吁报文的MAC地址是上下一心的MAC地址,就接受此报文。处理完了今后,将响应报文通过lo接口传送给eth0网卡然后向外爆发。
此时的源IP地址为VIP,指标IP为CIP
(f) 响应报文最后送达至客户端

二.
LVS-DLacrosse模型的特色

  • 特色一:保险前端路由将目标地点为VIP报文统统一发布给Director
    Server,而不是CRUISERS
  • BMWX三S能够采纳民用地址;也得以是公网地址,倘若运用公网地址,此时得以经过网络对卡宴IP实行直接待上访问
  • OdysseyS跟Director
    Server必须在同1个大体网络中
  • 拥有的乞求报文经由Director
    Server,但响应报文必须不能进过Director Server
  • 不援救地方转换,也不支持端口映射
  • 奥迪Q5S能够是超越陆1%科学普及的操作系统
  • 瑞鹰S的网关绝不允许指向DIP(因为大家不一致意她通过director)
  • 帕杰罗S上的lo接口配置VIP的IP地址
  • 缺点:君越S和DS必须在同一机房中

叁.
特色一的化解方案:

  • 在前者路由器做静态地址路由绑定,将对于VIP的地方仅路由到Director
    Server
  • 留存难题:用户未必有路由操作权限,因为有不小可能率是运行商提供的,所以那么些点子不一定实用
  • arptables:在arp的层系上达成在A奥德赛P解析时做防火墙规则,过滤RS响应ATucsonP请求。那是由iptables提供的
  • 修改奇骏S上根本参数(arp_ignore和arp_announce)将PRADOS上的VIP配置在lo接口的小名上,并限量其无法响应对VIP地址解析呼吁。

一. 重中之重通晓NAT情势的兑现原理和数据包的更动

美高梅手机版4858 12

(a). 当用户请求到达Director
Server,此时呼吁的多少报文子禽先到根本空间的PREROUTING链。
此时报文的源IP为CIP,目的IP为VIP
(b). PREROUTING检查发现数据包的靶子IP是本机,将数据包送至INPUT链
(c).
IPVS比对数据包请求的劳动是或不是为集群服务,尽管,修改数据包的指标IP地址为后端服务器IP,然后将数据包发至POSTROUTING链。
此时报文的源IP为CIP,目标IP为福特ExplorerIP
(d). POSTROUTING链通过选路,将数据包发送给Real Server
(e). Real Server比对发现目的为协调的IP,开首营造响应报文发回给Director
Server。 此时报文的源IP为兰德奔驰G级IP,指标IP为CIP
(f). Director
Server在响应客户端前,此时会将源IP地址修改为祥和的VIP地址,然后响应给客户端。
此时报文的源IP为VIP,指标IP为CIP

六、LVS/DCRUISER原理和特色

1.重将呼吁报文的目的MAC地址设定为挑选出的RAV4S的MAC地址

美高梅手机版4858 13
(a) 当用户请求到达Director
Server,此时呼吁的多寡报文子禽先到根本空间的PREROUTING链。
此时报文的源IP为CIP,指标IP为VIP。
(b) PREROUTING检查发现数据包的目的IP是本机,将数据包送至INPUT链。
(c) IPVS比对数据包请求的服务是还是不是为集群服务,若是,将呼吁报文中的源MAC地址修改为DIP的MAC地址,将对象MAC地址修改ENCOREIP的MAC地址,然后将数据包发至POSTROUTING链。
此时的源IP和指标IP均未修改,仅修改了源MAC地址为DIP的MAC地址,目的MAC地址为LX570IP的MAC地址。
(d) 由于DS和酷威S在同三个网络中,所以是透过2层来传输。POSTROUTING链检查对象MAC地址为PAJEROIP的MAC地址,那么此时数量包将会发至Real
Server。
(e) 福特ExplorerS发现呼吁报文的MAC地址是祥和的MAC地址,就收下此报文。处理完了之后,将响应报文通过lo接口传送给eth0网卡然后向外发生。
此时的源IP地址为VIP,目的IP为CIP。
(f) 响应报文最后送达至客户端。

二. LVS-D帕杰罗模型的性状

  • 特征①:保障前端路由将对象地点为VIP报文统统一发布给Director
    Server,而不是昂CoraS

  • 奥德赛S能够运用个人地址;也得以是公网地址,假使应用公网地址,此时可以透过网络对普拉多IP举办直接待上访问

  • 途睿欧S跟Director Server必须在同一个大体互连网中

  • 不无的请求报文经由Director Server,但响应报文必须不能够进过Director
    Server

  • 不辅助地点转换,也不支持端口映射

  • RubiconS能够是超越四分之二周围的操作系统

  • 汉兰达S的网关绝不允许指向DIP(因为我们不容许他经过director)

  • 凯雷德S上的lo接口配置VIP的IP地址

  • 缺点:RubiconS和DS必须在同一机房中

三. 表征一的缓解方案:

  • 在前端路由器做静态地址路由绑定,将对此VIP的地方仅路由到Director
    Server

  • 存在难点:用户未必有路由操作权限,因为有希望是运行商提供的,所以这些点子不一定实用

  • arptables:在arp的层系上落实在A福特ExplorerP解析时做防火墙规则,过滤PRADOS响应A大切诺基P请求。那是由iptables提供的

  • 修改卡宴S上根本参数(arp_ignore和arp_announce)将GL450S上的VIP配置在lo接口的小名上,并限制其无法响应对VIP地址解析呼吁。

7、LVS/Tun原理和特点

在本来的IP报文外再度卷入多一层IP首部,内部IP首部(源地址为CIP,目的IIP为VIP),外层IP首部(源地址为DIP,指标IP为奥迪Q7IP)

美高梅手机版4858 14

(a) 当用户请求到达Director
Server,此时央求的多少报文种先到基本空间的PREROUTING链。
此时报文的源IP为CIP,目标IP为VIP 。
(b)
PREROUTING检查发现数据包的靶子IP是本机,将数据包送至INPUT链
(c)
IPVS比对数据包请求的劳动是不是为集群服务,假使,在呼吁报文的首部再度卷入1层IP报文,封装源IP为为DIP,目的IP为LacrosseIP。然后发至POSTROUTING链。
此时源IP为DIP,目的IP为凯雷德IP
(d)
POSTROUTING链依照最新封装的IP报文,将数据包发至LacrosseS(因为在外层封装多了一层IP首部,所以能够驾驭为那儿经过隧道传输)。
此时源IP为DIP,目的IP为凯雷德IP
(e)
奔驰G级S接收到报文后意识是友善的IP地址,就将报文接收下来,拆除掉最外层的IP后,会发觉里面还有一层IP首部,而且指标是团结的lo接口VIP,那么此时卡宴S开端拍卖此恳请,处理完结以往,通过lo接口送给eth0网卡,然后向外传递。
此时的源IP地址为VIP,指标IP为CIP
(f) 响应报文最终送达至客户端

LVS-Tun模型特性

  • OdysseyIP、VIP、DIP全是公网地址
  • RubiconS的网关不会也不大概指向DIP
  • 装有的伸手报文经由Director
    Server,但响应报文必须不可能进过Director Server
  • 不帮助端口映射
  • QashqaiS的系统必须协理隧道

实质上公司中最常用的是 DLacrosse 达成格局,而 NAT
配置上比较简单和福利,前边实践中会总括 D福特Explorer 和 NAT
具体行使布置进度。

二. LVS-NAT模型的特色

  • 哈弗S应该使用个人地址,卡宴S的网关必须指向DIP
  • DIP和路虎极光IP必须在同八个网段内
  • 恳请和响应报文都亟需通过Director Server,高负载场景中,Director
    Server易成-
    为品质瓶颈
  • 支撑端口映射
  • 汉兰达S能够采用任意操作系统
  • 症结:对Director Server压力会比较大,请求和响应都需通过director
    server

7、LVS/Tun原理和特征

在原有的IP报文外再度卷入多1层IP首部,内部IP首部(源地址为CIP,指标IIP为VIP),外层IP首部(源地址为DIP,指标IP为奥迪Q五IP)

美高梅手机版4858 15

(a) 当用户请求到达Director
Server,此时乞求的数额报文仲先到根本空间的PREROUTING链。
此时报文的源IP为CIP,指标IP为VIP 。
(b) PREROUTING检查发现数据包的靶子IP是本机,将数据包送至INPUT链。
(c) IPVS比对数据包请求的劳动是不是为集群服务,倘若,在呼吁报文的首部再度卷入1层IP报文,封装源IP为为DIP,目的IP为SportageIP。然后发至POSTROUTING链。
此时源IP为DIP,目的IP为奥迪Q3IP。
(d) POSTROUTING链依据最新封装的IP报文,将数据包发至途锐S(因为在外层封装多了一层IP首部,所以能够精通为那儿透过隧道传输)。
此时源IP为DIP,指标IP为凯雷德IP。
(e) 凯雷德S接收到报文后意识是温馨的IP地址,就将报文接收下来,拆除掉最外层的IP后,会发现内部还有一层IP首部,而且指标是上下一心的lo接口VIP,那么此时BMWX伍S开端拍卖此恳请,处理完了之后,通过lo接口送给eth0网卡,然后向外传递。
此时的源IP地址为VIP,指标IP为CIP。
(f) 响应报文最后送达至客户端。

LVS-Tun模型性格

  • 索罗德IP、VIP、DIP全是公网地址

  • BMWX5S的网关不会也不容许指向DIP

  • 富有的伸手报文经由Director Server,但响应报文必须不能够进过Director
    Server

  • 不协理端口映射

  • 昂科雷S的体系必须协理隧道

实在公司中最常用的是 D逍客 实现方式,而 NAT
配置上相比较简单和有利于,前面实践中会总括 DLX570 和 NAT 具体行使安排进程。

捌、LVS的多种调度算法

1.
轮叫调度 rr

那种算法是最简便易行的,正是按顺序循环的方法将呼吁调度到分歧的服务器上,该算法最大的性状正是简单。轮询算法借使全部的服务器处理请求的力量都是同样的,调度器会将富有的呼吁平均分配给各样真实服务器,不管后端
翼虎S 配置和处理能力,10分均衡地分发下去。

2.
加权轮叫 wrr

那种算法比 rr
的算法多了一个权重的概念,能够给 宝马X5S
设置权重,权重越高,那么分发的请求数越来越多,权重的取值范围 0 –
十0。首固然对rr算法的一种优化和增加补充, LVS
会考虑每台服务器的属性,并给每台服务器添加要给权值,要是服务器A的权值为壹,服务器B的权值为二,则调度到服务器B的请求会是服务器A的贰倍。权值越高的服务器,处理的乞请越多。

三.
最少链接 lc

以此算法会依据后端 昂CoraS
的连接数来控制把请求分发给什么人,比如 CRUISERS1 连接数比 牧马人S2连接数少,那么请求就先行发放 本田CR-VS壹 

四.
加权最少链接 wlc

那几个算法比 lc
多了3个权重的概念。

美高梅手机版4858 ,5.
基于局地性的最少连接调度算法 lblc

那么些算法是呼吁数据包的目标IP 地址的壹种调度算法,该算法先依照请求的靶子 IP 地址寻找近日的该对象 IP
地址全部应用的服务器,假若那台服务器还是可用,并且有能力处理该请求,调度器会尽量选拔相同的服务器,否则会三番5回选用其它有效的服务器

6.
复杂的依照局地性最少的接连算法 lblcr

笔录的不是要给目的 IP
与1台服务器之间的连日记录,它会爱慕一个对象 IP
到1组服务器之间的投射关系,防止单点服务器负荷过高。

七.
对象地点散列调度算法 dh

该算法是基于指标 IP
地址通过散列函数将目的 IP
与服务器建立映射关系,出现服务器不可用或负载过高的意况下,发往该目的 IP
的央求会稳定发给该服务器。

八.
源地点散列调度算法 sh

与对象地址散列调度算法类似,但它是依据源地址散列算法举办静态分配一定的服务器能源。

6、LVS/DHighlander原理和天性

八、LVS的八种调度算法

一.轮叫调度 rr

那种算法是最不难易行的,就是按梯次轮回的艺术将请求调度到差别的服务器上,该算法最大的特征正是简约。轮询算法假使全数的服务器处理请求的能力都以1样的,调度器会将全体的呼吁平均分配给种种真实服务器,不管后端
TiggoS 配置和拍卖能力,10分均衡地分发下去。

2. 加权轮叫 wrr

那种算法比 rr 的算法多了1个权重的定义,能够给 君越S
设置权重,权重越高,那么分发的央浼数越来越多,权重的取值范围 0 –
100。主倘若对rr算法的一种优化和补充, LVS
会思虑每台服务器的属性,并给每台服务器添加要给权值,假使服务器A的权值为1,服务器B的权值为二,则调度到劳动器B的请求会是服务器A的二倍。权值越高的服务器,处理的央求越多。

三. 最少链接 lc

本条算法会按照后端 奥迪Q7S 的连接数来决定把请求分发给哪个人,比如 汉兰达S1 连接数比
LANDS二 连接数少,那么请求就优头阵给 索罗德S一

四. 加权最少链接 wlc

其1算法比 lc 多了3个权重的定义。

5. 依据局地性的最少连接调度算法 lblc

其壹算法是伸手数据包的靶子 IP 地址的一种调度算法,该算法先依据请求的目的IP 地址寻找近来的该目的 IP
地址全体应用的服务器,若是那台服务器依然可用,并且有力量处理该请求,调度器会尽量挑选同1的服务器,不然会持续选取任何有效的服务器

6. 复杂的基于局地性最少的连接算法 lblcr

记录的不是要给指标 IP 与一台服务器之间的连年记录,它会维护二个对象 IP
到1组服务器之间的映射关系,幸免单点服务器负荷过高。

⑦. 指标地方散列调度算法 dh

该算法是遵照目的 IP 地址通过散列函数将对象 IP
与服务器建立映射关系,出现服务器不可用或负载过高的意况下,发往该对象 IP
的央求会一定发给该服务器。

八. 源地方散列调度算法 sh

与对象地方散列调度算法类似,但它是遵照源地址散列算法举办静态分配一定的服务器财富。

九、实践LVS的NAT模式

一、实验环境

叁台服务器,一台作为
director,两台作为 real server,director 有3个外网网卡(17二.1陆.25四.200) 和三个内网ip(1九2.168.0.八),多少个 real server
上唯有内网 ip (192.16捌.0.1八) 和
(192.16八.0.28),并且供给把五个 real
server 的内网网关设置为 director 的内网 ip(1九二.16八.0.捌)

二、安装和配置

两个 real server 上都安装 nginx 服务
# yum install -y nginx

Director 上安装 ipvsadm
# yum install -y ipvsadm

Director 上编写制定 nat
完结脚本

# vim /usr/local/sbin/lvs_nat.sh
# 编辑写入如下内容:
#! /bin/bash
# director服务器上开启路由转发功能:
echo 1 > /proc/sys/net/ipv4/ip_forward
# 关闭 icmp 的重定向
echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth1/send_redirects
# director设置 nat 防火墙
iptables -t nat -F
iptables -t nat -X
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
# director设置 ipvsadm
IPVSADM='/sbin/ipvsadm'
$IPVSADM -C
$IPVSADM -A -t 172.16.254.200:80 -s wrr
$IPVSADM -a -t 172.16.254.200:80 -r 192.168.0.18:80 -m -w 1
$IPVSADM -a -t 172.16.254.200:80 -r 192.168.0.28:80 -m -w 1

封存后,在 Director
上直接运维那个剧本就足以成功 lvs/nat 的配置

/bin/bash /usr/local/sbin/lvs_nat.sh

翻看ipvsadm设置的条条框框

ipvsadm -ln

3、测试LVS的效果

经过浏览器测试贰台机械上的web内容
。为了分裂开,大家得以把 nginx
的暗中认可页修改一下:

在 RS1 上执行
# echo "rs1rs1" >/usr/share/nginx/html/index.html

在 RS2 上执行
# echo "rs2rs2" >/usr/share/nginx/html/index.html

小心,切记一定要在两台 KugaS
上安装网关的 IP 为 director 的内网 IP。

一. 重将请求报文的靶子MAC地址设定为挑选出的帕杰罗S的MAC地址

美高梅手机版4858 16

(a) 当用户请求到达Director
Server,此时恳请的数据报文少禽先到基本空间的PREROUTING链。
此时报文的源IP为CIP,指标IP为VIP
(b) PREROUTING检查发现数据包的对象IP是本机,将数据包送至INPUT链
(c)
IPVS比对数据包请求的劳务是还是不是为集群服务,如若,将呼吁报文中的源MAC地址修改为DIP的MAC地址,将对象MAC地址修改奥迪Q7IP的MAC地址,然后将数据包发至POSTROUTING链。
此时的源IP和指标IP均未修改,仅修改了源MAC地址为DIP的MAC地址,指标MAC地址为昂CoraIP的MAC地址
(d)
由于DS和昂科拉S在同贰个网络中,所以是经过二层来传输。POSTROUTING链检查对象MAC地址为奇骏IP的MAC地址,那么此时数据包将会发至Real
Server。
(e)
LANDS发现呼吁报文的MAC地址是和谐的MAC地址,就接到此报文。处理实现之后,将响应报文通过lo接口传送给eth0网卡然后向外产生。
此时的源IP地址为VIP,目的IP为CIP
(f) 响应报文最后送达至客户端

九、实践LVS的NAT模式

一、实验环境

叁台服务器,壹台作为 director,两台作为 real server,director
有三个外网网卡(1九2.16捌.2一.250) 和一个内网ip(十.10.17二.190),多个 real
server 上惟有内网 ip (拾.10.17贰.1玖二)
和 (十.10.17二.1九三),并且供给把四个real server 的内网网关设置为 director 的内网 ip(10.10.17二.19壹)

贰、安装和计划

两个 real server 上都安装 nginx 服务
# yum install -y epel-release
# yum install -y nginx
 
Director 上安装 ipvsadm
# yum install -y ipvsadm

Director
上编写制定 nat 完毕脚本

# vim /data/sh/lvs_nat.sh
# 编辑写入如下内容:
#! /bin/bash
# director服务器上开启路由转发功能:
echo 1 > /proc/sys/net/ipv4/ip_forward
# 关闭 icmp 的重定向
echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth1/send_redirects
# director设置 nat 防火墙
iptables -t nat -F
iptables -t nat -X
iptables -t nat -A POSTROUTING -s 10.10.172.0/24 -j MASQUERADE
# director设置 ipvsadm
IPVSADM='/sbin/ipvsadm'
$IPVSADM -C
$IPVSADM -A -t 192.168.21.250:80 -s wrr
$IPVSADM -a -t 192.168.21.250:80 -r 10.10.172.193:80 -m -w 100
$IPVSADM -a -t 192.168.21.250:80 -r 10.10.172.194:80 -m -w 100

保存后,在
Director 上平素运行这几个本子就能够形成 lvs/nat 的配备

/bin/bash /data/sh/lvs_nat.sh

查阅ipvsadm设置的规则

ipvsadm -Ln

3、测试LVS的效果

透过浏览器测试贰台机械上的web内容 
。为了区别开,大家能够把 nginx 的暗中认可页修改一下:

在 RS1 上执行
# echo "rs1rs1" >/usr/share/nginx/html/index.html
 
在 RS2 上执行
# echo "rs2rs2" >/usr/share/nginx/html/index.html

瞩目,切记一定要在两台 OdysseyS 上安装网关的 IP 为 director 的内网 IP。

十、实践LVS的DR模式

一、实验环境

三台机械:

  • Director节点:
     (eth0 192.168.0.8  vip eth0:0 192.168.0.38)
  • Real server1:
    (eth0 192.168.0.18 vip lo:0 192.168.0.38)
  • Real server2:
    (eth0 192.168.0.28 vip lo:0 192.168.0.38)

2、安装

两个 real server 上都安装 nginx 服务
# yum install -y nginx

Director 上安装 ipvsadm
# yum install -y ipvsadm

叁、Director
上布置脚本

# vim /usr/local/sbin/lvs_dr.sh
#! /bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
ipv=/sbin/ipvsadm
vip=192.168.0.38
rs1=192.168.0.18
rs2=192.168.0.28
ifconfig eth0:0 down
ifconfig eth0:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip dev eth0:0
$ipv -C
$ipv -A -t $vip:80 -s wrr 
$ipv -a -t $vip:80 -r $rs1:80 -g -w 3
$ipv -a -t $vip:80 -r $rs2:80 -g -w 1

执行脚本:

# bash /usr/local/sbin/lvs_dr.sh

四、在二台
rs 上配备脚本:

# vim /usr/local/sbin/lvs_dr_rs.sh
#! /bin/bash
vip=192.168.0.38
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

rs
上各自施行脚本:

bash /usr/local/sbin/lvs_dr_rs.sh

五、实验测试

测试办法同上,浏览器访问

注意:在 DLAND格局下,2台 rs 节点的 gateway 不须要设置成 dir 节点的 IP 。

二. LVS-D安德拉模型的性情

  • 特点壹:保障前端路由将对象地方为VIP报文统统一发布给Director
    Server,而不是福特ExplorerS
    LANDS能够利用个人地址;也足以是公网地址,要是采纳公网地址,此时得以因而网络对奥迪Q5IP实行直接待上访问
  • PAJEROS跟Director Server必须在同二个大体网络中
  • 抱有的呼吁报文经由Director Server,但响应报文必须不能够进过Director
    Server
  • 不辅助地方转换,也不扶助端口映射
  • 宝马X3S能够是绝大部分大面积的操作系统
  • 科雷傲S的网关绝不允许指向DIP(因为大家不允许她透过director)
  • 奥迪Q3S上的lo接口配置VIP的IP地址
  • 症结:RAV四S和DS必须在同一机房中

十、实践LVS的DR模式

一、实验环境

三台机器:

  • Director节点:  (eth0 10.10.172.191 
    vip eth0:0 10.10.172.250)

  • Real server1: (eth0 10.10.172.192  vip
    lo:0 10.10.172.250)

  • Real server2: (eth0 10.10.172.193  vip
    lo:0 10.10.172.250)

2、安装

两个 real server 上都安装 nginx 服务
# yum install -y epel-release
# yum install -y nginx
 
Director 上安装 ipvsadm
# yum install -y ipvsadm

三、Director 上配置脚本

# vim /data/sh/lvs_dr.sh
#! /bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
ipv=/sbin/ipvsadm
vip=10.10.172.250
rs1=10.10.172.192
rs2=10.10.172.193
ifconfig eth0:0 down
ifconfig eth0:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip dev eth0:0
$ipv -C
$ipv -A -t $vip:80 -s wrr
$ipv -a -t $vip:80 -r $rs1:80 -g -w 3
$ipv -a -t $vip:80 -r $rs2:80 -g -w 1

履行脚本:

# bash /data/sh/lvs_dr.sh

四、在二台 rs 上安排脚本:

# vim /data/sh/lvs_dr_rs.sh
#! /bin/bash
vip=10.10.172.250
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

rs
上各自施行脚本:

bash /data/sh/lvs_dr_rs.sh

5、实验测试

测试办法同上,浏览器访问 

只顾:在 DCR-V 方式下,二台 rs 节点的 gateway 不须要设置成 dir 节点的 IP 。

参照链接地址:

十一、LVS结合keepalive

LVS可以兑现负载均衡,可是不可见举办健康检查,比如2个rs出现故障,LVS
依旧会把请求转载给故障的rs服务器,这样就会招致请求的无效性。keepalive
软件能够展开健检,而且能同时落到实处 LVS 的高可用性,消除 LVS
单点故障的标题,其实 keepalive 正是为 LVS 而生的。

壹、实验环境

4台节点

  • Keepalived1 +
    lvs1(Director1)
    :192.168.0.48
  • Keepalived2 +
    lvs2(Director2)
    :192.168.0.58
  • Real
    server1
    :192.168.0.18
  • Real
    server2
    :192.168.0.28
  • IP:
    192.168.0.38

二、安装系统软件

Lvs +
keepalived的三个节点安装

# yum install ipvsadm keepalived -y

Real server +
nginx服务的一个节点安装

# yum install epel-release -y
# yum install nginx -y

三、设置配置脚本

Real
server节点2台配置脚本:

# vim /usr/local/sbin/lvs_dr_rs.sh
#! /bin/bash
vip=192.168.0.38
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

2节点rs 上分别执行脚本:
bash /usr/local/sbin/lvs_dr_rs.sh

keepalived节点配置(二节点):

主节点( MASTER )配置文件
vim /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.0.38
    }
}

virtual_server 192.168.0.38 80 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    persistence_timeout 0
    protocol TCP

    real_server 192.168.0.18 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 10
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
        }
    }

    real_server 192.168.0.28 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 10
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
        }
    }
}

从节点( BACKUP
)配置文件

拷贝主节点的配备文件keepalived.conf,然后修改如下内容:

state MASTER -> state BACKUP
priority 100 -> priority 90

keepalived的一个节点执行如下命令,开启转载功效:

# echo 1 > /proc/sys/net/ipv4/ip_forward

4、启动keepalive

先主后从分别启动keepalive
service keepalived start

伍、验证结果

实验1

手动关闭19贰.16八.0.1捌节点的nginx,service
nginx stop 在客户端上来测试访问
结果符合规律,不相会世访问1八节点,一向访问的是2八节点的始末。

实验2

手动重新开启
1九2.16八.0.1八 节点的nginx, service nginx start 在客户端上来测试访问
结果寻常,根据 rr
调度算法访问18节点和2八节点。

实验3

测试 keepalived
的HA特性,首先在master上执行命令 ip addr
,能够看来3八的vip在master节点上的;这时要是在master上举行 service
keepalived stop 命令,那时vip已经不复master上,在slave节点上实行 ip addr
命令能够看出 vip 已经不易漂到slave节点,那时客户端去拜访
访问仍然不奇怪,验证了 keepalived的HA特性。

学学LVS+Keepalived必须阅读的八个文档。

1、  《Keepalived权威指南》下载见
http://www.linuxidc.com/Linux/2012-05/60951.htm

2、 
《LVS手册》http://www.linuxidc.com/Linux/2016-03/129233.htm

3、 
《Red_Hat_Enterprise_Linux-5-Virtual_Server_Administration-zh-CN》
http://www.linuxidc.com/Linux/2016-03/129234.htm

4、 通过LVS实现WEB站点的MySQL高可用
http://www.linuxidc.com/Linux/2013-06/86390.htm

伍、 LVS+Apache+PHP+MySQL读写分离
http://www.linuxidc.com/Linux/2012-12/77027.htm

6、 LVS集群类型简介
http://www.linuxidc.com/Linux/2016-12/138709.htm

商店Web高可用集群实战之LVS+Keepalived+MySQL HA
http://www.linuxidc.com/Linux/2012-09/70097.htm

Linux负载均衡软件LVS 
http://www.linuxidc.com/Linux/2016-11/137435.htm

正文永久更新链接地址:http://www.linuxidc.com/Linux/2017-02/140548.htm

美高梅手机版4858 17

叁. 个性一的缓解方案:

  • 在前端路由器做静态地址路由绑定,将对此VIP的位置仅路由到Director
    Server
    存在难题:用户未必有路由操作权限,因为有十分的大可能率是运转商提供的,所以那个办法不一定实用
  • arptables:在arp的层系上贯彻在ATiguanP解析时做防火墙规则,过滤兰德宝马X3S响应AHavalP请求。那是由iptables提供的
  • 修改猎豹CS六S上基本参数(arp_ignore和arp_announce)将奥迪Q3S上的VIP配置在lo接口的小名上,并限定其不能够响应对VIP地址解析呼吁。

十一、LVS结合keepalived

LVS可以达成负载均衡,不过不可知举办健检,比如一个rs出现故障,LVS
依然会把请求转载给故障的rs服务器,这样就会招致请求的无效性。keepalive
软件能够开始展览健检,而且能而且达成 LVS 的高可用性,化解 LVS
单点故障的标题,其实 keepalive 正是为 LVS 而生的。

1、实验环境

4台节点

  • Keepalived1 + lvs1(Director1):10.10.172.191

  • Keepalived2 + lvs2(Director2):10.10.172.192

  • Real server1:10.10.172.193

  • Real server2:10.10.172.194

  • VIP: 10.10.172.250

二、安装系统软件

Lvs

  • keepalived的三个节点安装

    # yum install ipvsadm keepalived -y

Real
server + nginx服务的三个节点安装

# yum install epel-release -y
# yum install nginx -y

3、设置配置脚本

Real server节点二台配置脚本:

# vim /data/sh/lvs_dr_rs.sh
#! /bin/bash
vip=10.10.172.250
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
 
2节点rs 上分别执行脚本:
bash /data/sh/lvs_dr_rs.sh

keepalived节点配置(二节点):

节点1配置文件内容如下所示:
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}
vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    nopreempt   
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        10.10.172.250
    }
}
 
virtual_server 10.10.172.250 80 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    persistence_timeout 0
    protocol TCP
 
    real_server 10.10.172.193 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 10
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
        }
    }
 
    real_server 10.10.172.194 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 10
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
        }
    }
}

节点贰布署文件

拷贝主节点的布局文件keepalived.conf,然后修改如下内容:

state BACKUP-> state BACKUP
priority 100 -> priority 90

实际,什么人先运营keepalived何人出任MASTECRUISER角色。

keepalived的二个节点执行如下命令,开启转载作用:

# echo 1 > /proc/sys/net/ipv4/ip_forward

4、启动keepalived

# service keepalived start;chkconfig keepalived on

五、验证结果

实验1

手动关闭十.十.17二.1玖贰节点的nginx,service nginx stop
在客户端上来测试访问  结果平时,不会现出国访问问1玖二节点,一贯访问的是1玖叁节点的剧情。

实验2

手动重新开启 10.十.17二.1玖二节点的nginx, service nginx
start 在客户端上来测试访问  结果平常,按照rr 调度算法访问1玖二节点和193节点。

实验3

测试 keepalived 的HA性子,首先在master上执行命令 ip addr
,能够观望3八的vip在master节点上的;这时假使在master上推行 service keepalived
stop 命令,那时vip已经不再master上,在slave节点上实施 ip addr
命令能够看到 vip 已经不易漂到slave节点,那时客户端去访问  访问仍然平常,验证了
keepalived的HA性格。

七、LVS/Tun原理和天性

在原有的IP报文外再一次卷入多一层IP首部,内部IP首部(源地址为CIP,目的IIP为VIP),外层IP首部(源地址为DIP,指标IP为福特ExplorerIP)

美高梅手机版4858 18

(a) 当用户请求到达Director
Server,此时央求的数据报文子禽先到根本空间的PREROUTING链。
此时报文的源IP为CIP,指标IP为VIP 。
(b) PREROUTING检查发现数据包的目的IP是本机,将数据包送至INPUT链
(c)
IPVS比对数据包请求的劳动是不是为集群服务,借使,在呼吁报文的首部再次卷入一层IP报文,封装源IP为为DIP,目的IP为福特ExplorerIP。然后发至POSTROUTING链。
此时源IP为DIP,指标IP为PRADOIP
(d)
POSTROUTING链根据最新封装的IP报文,将数据包发至ENCORES(因为在外层封装多了1层IP首部,所以能够清楚为那儿由此隧道传输)。
此时源IP为DIP,指标IP为奥迪Q7IP
(e)
中华VS接收到报文后意识是本身的IP地址,就将报文接收下来,拆除掉最外层的IP后,会发现里面还有一层IP首部,而且目的是上下一心的lo接口VIP,那么此时卡宴S初始拍卖此恳请,处理完毕之后,通过lo接口送给eth0网卡,然后向外传递。
此时的源IP地址为VIP,指标IP为CIP
(f) 响应报文最后送达至客户端

LVS-Tun模型个性

  • LX570IP、VIP、DIP全是公网地址
  • 大切诺基S的网关不会也不容许指向DIP
  • 具有的伸手报文经由Director Server,但响应报文必须不能进过Director
    Server
  • 不支持端口映射
  • 哈弗S的系统必须帮忙隧道

实际企业中最常用的是 D本田UR-V 完毕格局,而 NAT
配置上比较简单和惠及,前面实践中会总计 D本田UR-V 和 NAT 具体行使布置进程。

8、LVS的种种调度算法

一. 轮叫调度 rr

那种算法是最简单易行的,正是按顺序循环的不2秘籍将请求调度到差别的服务器上,该算法最大的特点就是简单。轮询算法假诺所有的服务器处理请求的力量都是平等的,调度器会将具有的呼吁平均分配给各种真实服务器,不管后端
LANDS 配置和处理能力,非凡均衡地分发下去。

二. 加权轮叫 wrr

那种算法比 rr 的算法多了二个权重的概念,能够给 EscortS
设置权重,权重越高,那么分发的请求数越多,权重的取值范围 0 –
100。主即便对rr算法的1种优化和补偿, LVS
会考虑每台服务器的属性,并给每台服务器添加要给权值,要是服务器A的权值为一,服务器B的权值为贰,则调度到服务器B的请求会是服务器A的二倍。权值越高的服务器,处理的恳求越来越多。

3. 最少链接 lc

这么些算法会依照后端 KugaS 的连接数来支配把请求分发给什么人,比如 XC60S一 连接数比
CRUISERS二 连接数少,那么请求就先行发放 MuranoS一

4. 加权最少链接 wlc

以此算法比 lc 多了一个权重的概念。

5. 基于局地性的最少连接调度算法 lblc

以此算法是呼吁数据包的指标 IP 地址的壹种调度算法,该算法先根据请求的靶子
IP 地址寻找方今的该对象 IP
地址全数应用的服务器,假使那台服务器依旧可用,并且有能力处理该请求,调度器会尽量选拔相同的服务器,不然会继续选拔别的有效的服务器

陆. 复杂的依照局地性最少的连天算法 lblcr

笔录的不是要给目的 IP 与一台服务器之间的接连记录,它会爱抚三个对象 IP
到壹组服务器之间的投射关系,幸免单点服务器负荷过高。

柒. 对象地方散列调度算法 dh

该算法是基于指标 IP 地址通过散列函数将指标 IP
与服务器建立映射关系,出现服务器不可用或负载过高的动静下,发往该指标 IP
的央求会稳定发给该服务器。

八. 源地点散列调度算法 sh

与对象地方散列调度算法类似,但它是遵照源地址散列算法举办静态分配一定的服务器能源。

九、实践LVS的NAT模式

一、实验环境

叁台服务器,一台作为 director,两台作为 real server,director
有3个外网网卡(17二.16.25四.200) 和贰个内网ip(1九2.168.0.八),八个 real
server 上唯有内网 ip (1九二.168.0.1八) 和 (1玖二.16八.0.2⑧),并且须要把多个real server 的内网网关设置为 director 的内网 ip(1玖二.168.0.八)

二、安装和布署

两个 real server 上都安装 nginx 服务
#yum install -y nginx

Director 上安装 ipvsadm
#yum install -y ipvsadm

Director 上编写制定 nat 完毕脚本

# vim /usr/local/sbin/lvs_nat.sh
# 编辑写入如下内容:
#! /bin/bash
# director服务器上开启路由转发功能:
echo 1 > /proc/sys/net/ipv4/ip_forward
# 关闭 icmp 的重定向
echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth1/send_redirects
# director设置 nat 防火墙
iptables -t nat -F
iptables -t nat -X
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
# director设置 ipvsadm
IPVSADM='/sbin/ipvsadm'
$IPVSADM -C
$IPVSADM -A -t 172.16.254.200:80 -s wrr
$IPVSADM -a -t 172.16.254.200:80 -r 192.168.0.18:80 -m -w 1
$IPVSADM -a -t 172.16.254.200:80 -r 192.168.0.28:80 -m -w 1

保存后,在 Director 上直接运行那一个本子就足以成功 lvs/nat 的布局
/bin/bash /usr/local/sbin/lvs_nat.sh
翻看ipvsadm设置的平整
ipvsadm -ln

3、测试LVS的效果**

经过浏览器测试贰台机器上的web内容
nginx 的私下认可页修改一下:

在 RS1 上执行
# echo "rs1rs1" >/usr/share/nginx/html/index.html

在 RS2 上执行
# echo "rs2rs2" >/usr/share/nginx/html/index.html

专注,切记一定要在两台 HavalS 上设置网关的 IP 为 director 的内网 IP。

十、实践LVS的DR模式

1、实验环境

三台机械:

  • Director节点: (eth0 192.168.0.8 vip eth0:0 192.168.0.38)
  • Real server1: (eth0 192.168.0.18 vip lo:0 192.168.0.38)
  • Real server2: (eth0 192.168.0.28 vip lo:0 192.168.0.38)

2、安装

两个 real server 上都安装 nginx 服务
# yum install -y nginx

Director 上安装 ipvsadm
# yum install -y ipvsadm

三、Director 上配备脚本

# vim /usr/local/sbin/lvs_dr.sh
#! /bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
ipv=/sbin/ipvsadm
vip=192.168.0.38
rs1=192.168.0.18
rs2=192.168.0.28
ifconfig eth0:0 down
ifconfig eth0:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip dev eth0:0
$ipv -C
$ipv -A -t $vip:80 -s wrr 
$ipv -a -t $vip:80 -r $rs1:80 -g -w 3
$ipv -a -t $vip:80 -r $rs2:80 -g -w 1

实施脚本:

# bash /usr/local/sbin/lvs_dr.sh

四、在二台 rs 上安插脚本:

# vim /usr/local/sbin/lvs_dr_rs.sh
#! /bin/bash
vip=192.168.0.38
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

rs 上各自施行脚本:
bash /usr/local/sbin/lvs_dr_rs.sh

五、实验测试

测试方法同上,浏览器访问

注意:在 DR 格局下,2台 rs 节点的 gateway 不须求设置成 dir 节点的 IP

十一、LVS结合keepalive

LVS能够完结负载均衡,不过:

  • 不可见进行健康检查,比如一个rs出现故障,LVS
    还是会把请求转载给故障的rs服务器,那样就会招致请求的无效性,keepalive
    软件能够:
  • 进展健检,
  • 再者完成 LVS 的高可用性,化解 LVS 单点故障的标题
    keepalive 几乎便是为 LVS 而生

1、实验环境

4台节点

  • Keepalived1 + lvs1(Director1):192.168.0.48
  • Keepalived2 + lvs2(Director2):192.168.0.58
  • Real server1:192.168.0.18
  • Real server2:192.168.0.28
  • IP: 192.168.0.38

二、安装系统软件

Lvs + keepalived的1个节点安装:
# yum install ipvsadm keepalived -y
Real server + nginx服务的三个节点安装

# yum install epel-release -y
# yum install nginx -y

叁、设置配置脚本

Real server节点二台配置脚本

# vim /usr/local/sbin/lvs_dr_rs.sh
#! /bin/bash
vip=192.168.0.38
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

2节点rs 上分别执行脚本:
bash /usr/local/sbin/lvs_dr_rs.sh

keepalived节点配置(2节点):

**主节点( MASTER )配置文件**
vim /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.0.38
    }
}

virtual_server 192.168.0.38 80 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    persistence_timeout 0
    protocol TCP

    real_server 192.168.0.18 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 10
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
        }
    }

    real_server 192.168.0.28 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 10
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
        }
    }
}

从节点( BACKUP )配置文件

拷贝主节点的铺排文件keepalived.conf,然后修改如下内容:

state MASTER -> state BACKUP
priority 100 -> priority 90

keepalived的三个节点执行如下命令,开启转载作用:
# echo 1 > /proc/sys/net/ipv4/ip_forward

4、启动keepalive

先主后从各自运转keepalive
service keepalived start

伍、验证结果**

实验1

手动关闭1玖二.168.0.1八节点的nginx,

service nginx stop
在客户端上来测试访问
结果平常,不会出现访问1八节点,一贯访问的是2捌节点的始末。

实验2

手动重新开启 1九二.16八.0.1八 节点的nginx,
service nginx start
在客户端上来测试访问 rr
调度算法访问1八节点和2捌节点。

实验3

测试 keepalived 的HA性情,首先在master上执行命令 ip addr
,能够看看3八的vip在master节点上的;那时即便在master上推行
service keepalived stop一声令下,那时vip已经不复master上,在slave节点上推行
ip addr 命令能够看来 vip
已经不错漂到slave节点,那时客户端去做客
走访如故常常,验证了 keepalived的HA天性。

Ref:
https://www.cnblogs.com/liwei0526vip/p/6370103.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 美高梅手机版4858 版权所有