LVS介绍

LVS介绍

    LVS是linux virtual server的简写,是服务器集群的一种负载均衡解决方案,作为netfilter的补充套件,工作于内核空间。

    常见的术语

CIP:客户端ip地址

RIP:后端服务器ip地址

VIP:lvs面向客户端的ip地址

DIP:lvs面向后端服务器的ip地址

RS:后端服务器

VS:调试器

    调试算法分静态和动态两种

静态方法,根据算法本身进行调试

RR:轮询

WRR:加权轮询,根据服务器的权重做轮询

SH:源地址哈希,将来自同一ip的请求都发往该ip第一次请求的RS

DH:目标地址哈希,发送到同一目的地址的请求都发往指定的RS(常用于正向代理)

动态方法,根据算法及各RS当前的负载状态进行评估

LC:最少连接,把请求发给连接最少的RS

WLC:加权最少连接,按照服务器权重和服务器的连接数分配连接,

    算法:overhead=(activeconns*256+inactive)/weight

SED:最短延迟,当连接都为0的时候,优先由权重高的服务器处理

    算法:overhead=(activeconns+1)*256/weight

NQ:意为,永不排队,开始时,按权重从大到小分配负载,之后再按SED算法进行工作。SED算法的改进

LBLC:动态的DH算法

LBLCR:带复制功能的动态DH算法

Lvs-nat

多目标的DNAT,通过修改报文的目标地址和端口将请求转发至后端real server,类似与iptables的DNAT

工作原理:

 Client请求到VS的VIP,数据到达INPUT后匹配LVS规则, 通过调试算法把请求从DIP向后端RS转发,RS把响应报文通过VS发给client (RS的RIP与Director必须在同一个IP网络,且RS的网关须指向DIP)

 

Lvs-dr

重新封装一个MAC地址首部请求报文,再通过调试算法转给RS(源IP为CIP,目标IP始终为VIP)

工作原理

         Client请求到VS,VS在请求报文封装MAC首部,源MAC为DIP,目标MAC为后端某一台RS,源IP和目标IP都保持不变,RS通过本机VIP地址直接给客户端发响应报文。

DR类型须确保前端路由器将目标IP为VIP的请求报文一定会发送给RS。

         解决这个问题的方法有:

1、  路由器静态绑定

2、  禁止RS响应VIP的ARP请求(修改arp表或禁用RS的内核参数,并把VIP配置在特定的接口上实现禁止其响应。

 

Lvs-tun

         不修改请求报文的IP首部,在原有的IP首部外再次封装一个IP首部

         工作原理

         Client请求到VS, VS通过调试算法选定一台公网上的RS,并在请求报文外再封装一个IP首部,RS自己响应客户端(RIP、DIP、VIP全是公网地址)

 

Lvs-fullnat

Lvs-fullnat不是标准的调试机制,需要自己编译安装,它是通过同进修改请求报文的源IP和目标IP实现转发

工作原理类似nat类型,不同在于VS向后端RS转发时可以跨网络

 

LVS持久连接

         LVS持久连接分3种模式

         每端口持久(PPC)

         每客户端持久(PCC)

         每FWM持久(PFWMC)

 

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

赞 (0)
N27_xieqizhiN27_xieqizhi
上一篇 2017-08-04 08:33
下一篇 2017-08-04 09:23

相关推荐

  • 用户及用户组管理使用的练习

    用户及用户组管理使用的练习 1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 先使用who得出登陆用户,通过uniq去重。 [root@mail ~]# who | grep -E -o “^[[:alnum:]]+” | uniq root 2、取出最后登录到当前系统的用户的相关信息。 思路:首先使用who取得最后…

    Linux干货 2018-03-18
  • 高级文件系统管理(swap,RAID,LVM)

    交换分区wasp swap文件系统:     linux上的交换分区必须使用独立的文件系统;         其文件系统的system ID必须为82 创建swap设备,文件系统,使用mkswap命令 创建步骤:   &…

    Linux干货 2016-08-30
  • N25-第一周作业

    一,描述计算机的组成及其功能。        计算机(Computer)是一种能够按照事先存储的程序,自动、高速地进行大量数值计算和各种信息处理的现代化智能电子设备。由硬件和软件所组成,两者是不可分割的。        计算机的组成分为控制…

    Linux干货 2016-12-03
  • 进程和计划任务

    1、进程概念 内核的功用:进程管理、文件系统、网络功能、内存管理、驱动程序、安全功能等; 进程是运行中的程序的一个副本,是被载入内存的一个指令集合; 进程ID(PID )号码被用来标记各个进程; UID、GID 和SELinux 语境决定对文件系统的存取和访问权限,这些权限通常从执行进程的用户来继承并且存在生命周期; task struct:Linux内核存…

    Linux干货 2016-09-13
  • MySQL双主复制模型

    配置双主数据库实例 双方可以相互复制 为了不影响效果,两台虚拟机把刚才生成的数据文件都删除 rm -rf /var/lib/mysql/* 1、时间要同步 2、双方既要启动中继日志,也需要启动二进制日志 3、编写主的配置文件 双主复制时有一个最大的问题,自动增长字段会重叠。为了避免重叠,一个节点使用奇数,另一个节点使用偶数 这里表示的意思,从1增长,一次增长…

    Linux干货 2016-11-21
  • sed工具

    sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patternspace),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来…

    2017-08-26