《Centos系统——LVS负载均衡》

目录

  • LVS负载均衡
    • 1. LVS介绍
    • 2. LVS组成部分
    • 3. LVS的专用名词
    • 4. LVS三种负载均衡模型
    • Nat、Tunnel、Dr
      • 1. LVS之NAT工作模式原理:
      • 2. LVS之DR(直接路由模式)工作模式
      • 3. LVS之TUN模式(ip 隧道模式)工作原理
      • 4. LVS三种负载均衡模型区别

LVS负载均衡

1. LVS介绍

LVS>Haproxy>nginx

LINUX虚拟服务器(Linux Virtual Servers ,LVS),使用负载均衡技术将多台服务器组成一个虚拟服务器。能快速增长访问需求,提供一个负载能力易于扩展,价格低廉。再1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。

2. LVS组成部分

LVS是由2部分组成,包括ipvs和ipvsadm

Ipvs:工作在内核空间,是真正生效实现调度的代码
Ipvsadm:工作在用户空间,负责为ipvs内核框架编写规则,定义设施集群服务,谁是后端真实服务。

3. LVS的专用名词

DS:Director Server 是前端负载均衡调度器

RS:Real Server 真实服务器

VIP:Virtrual IP 虚拟IP地址,向外部直接面向用户请求,作为用户请求的目标的IP地址

DIP: Director Server IP ,主要用于和内部主机通讯的IP地址

RIP:Real Server IP ,后端服务器的IP地址

CIP:Client IP, 访问用户的IP地址

4. LVS三种负载均衡模型

Nat、Tunnel、Dr

1. LVS之NAT工作模式原理:

《Centos系统——LVS负载均衡》_第1张图片

1、客户端发送数据包给负载均衡器

2、负载均衡器把客户端发来的数据包的IP头的目的地址换成其中一台RS的IP地址,并让RS处理数据

3、RS处理完数据之后将数据包交给负载均衡器

4、负载均衡器再把数据包的原IP地址改为自己的IP,将目的地址改为客户端IP地址,并数据包返回给客户端

注意:主要负责包转换的就是调度器(DS),那么压力都集中再调度器,就形成了瓶颈。DS需要有两块网卡。VIP(公网IP)一个,DIP一个。

2. LVS之DR(直接路由模式)工作模式

《Centos系统——LVS负载均衡》_第2张图片

1、负载均衡器和RS都使用同一个IP对外服务,但是只有DR对ARP请求进行响应,所有RS对本身这个IP的arp请求保持静默。也就是说,网关会把对这个服务IP的请求全部定向为DR,而DR收到数据包后根据调度算法,找出对应的RS,把目的MAC地址改为RS的MAC并将请求分发给这台RS。

2、这时RS收到这个数据包,处理完之后,由于IP一致,可以直接将数据返回给客户,等于直接从客户端收到这个数据包无异议,处理后直接返回给客户端。
注:由于负载均衡器要对二层包头进行改换,所以负载均衡器和RS之间必须在一个广播域,也就是理解为在同一台交换器上。

3. LVS之TUN模式(ip 隧道模式)工作原理

《Centos系统——LVS负载均衡》_第3张图片

1、客户端发送数据包给负载均衡啟

2、负载均衡器把客户端发来的数据包,封装一个新的IP头标记(仅目的IP)发送给RS

3、RS收到后,先把数据包借考,还原数据包,处理之后直接返回给客户端,不再需要经过负载均衡调度器

注:由于RS需要对负载均衡器发过来的数据包进行还原,所以必须支持IP TUNNEL协议,再RS的内核中,必须编译支持IP TUNNEL这个选项。

4. LVS三种负载均衡模型区别

NAT模型 DR模型 TUN模型
集群节点(rip和dip) 需要再同一个子网当中 必须再同一个物理网络当中 不需要再一个物理网络当中
Rip 私有地址,仅用于节点之间 可以使用公网地址 一定不能是私有地址
Director处理请求 处理入站和出站 仅处理入站 仅处理入站
Rs的网关 指向DIP 不能指向DIP,而是路由器 不能指向DIP,而是路由器
RS服务器要求 任何操作系统 支持大多数操作系统 必须是支持隧道功能的操作系统
RS个数 Low(10-20) High(100) High(100)

注意:
arp_ignore与arp_announce参数都是和ARP协议相关的,主要用于控制系统返回arp响应和发送arp请求的动作。
arp_ignore:控制系统收到在外部的arp请求的时候,是否返回arp响应。
取值范围为0~8
1代表:只响应目的IP地址为接受网卡上的本地地址的arp请求。
arp_announce:控制系统在对外发送arp请求时候,如何选择arp请求数据包的源IP地址。
取值范围是0~2
2:忽略IP数据包的源IP地址,选择该发送网卡在最合适的本地地址作为arp请求的源IP地址。

Ipvsadm命令详解
语法:
ipvsadm command 【protocol】 service-address(vs) service-address 【工作模式】 【调度算法】
-A 表示添加虚拟服务器
-a 表示添加真实服务器器
-t 用来指定VIP地址以及TCP端口
-r 用来指定RIP地址以及TCP端口
-s 用来指定负载调度算法:
rr(轮询) \wrr(加权轮询)\lc(最少连接) \wlc(加权最少连接)
-g 是DR模式 -m 是NAT模式 -i是TUN模式

你可能感兴趣的:(负载均衡LB,网络,linux,1024程序员节)