LVS配置详解

一、LVS系统组成

前端:负载均衡层

–      由一台或多台负载调度器构成

中间:服务器群组层

–      由一组实际运行应用服务的服务器组成

底端:数据共享存储层

–      提供共享存储空间的存储区域

二、LVS术语

Director Server:调度服务器,将负载分发到RealServer的服务器

Real Server:真实服务器,真正提供应用服务的服务器

VIP:虚拟IP地址,公布给用户访问的IP地址

RIP:真实IP地址,集群节点上使用的IP地址

DIP:Director连到Real Server的IP地址

三、LVS负载均衡方式

VS/NAT:通过网络地址转换实现的虚拟服务器

–      Director将用户请求报文的目的地址改成选定的Real Server地址后,转发给RealServer

–      大并发访问时,调度器的性能成为瓶颈

VS/DR:直接使用路由技术实现虚拟服务器

–      通过改写请求报文的MAC地址,将请求发至Real Server,Real Server直接响应客户端

VS/TUN:通过隧道方式实现虚拟服务器

–      Director采用隧道技术将请求发至RealServer后,Real Server直接响应客户端

四、负载均衡调度算法

Director Server根据各台服务器的负载情况,通过高度算法动态选择一台Real Server

LVS目前实现了10种调度算法

常用调度算法有4种

–      轮询(Round Robin)

–      加权轮询(Weighted Round Robin)

–      最少连接(Least Connections)

–      加权最少连接( Weighted Least Connections )

轮询(Round Robin)

–      将客户端请求平均分发到Real Server

加权轮询(Weighted Round Robin)

–      根据Real Server的性能设置权重,再进行轮询调度

最少连接(Least Connections)

–      动态地将网络请求调度到已建立的连接数最少的服务器上

加权最少连接( Weighted Least Connections )

–      根据Real Server的性能设置权重,再将网络请求调度到已建立的连接数最少的服务器上

基于局部性的最少链接(Locality-Based Least Connections)

–      根据请求的目标IP地址找出该目标IP地址最近使用的服务器,若该服务器是可用的且没有超载,将请求发送到该服务器;若服务器不存在,或者该服务器超载且有服务器处于一半的工作负载,则用“最少链接”的原则选出一个可用的服务器,将请求发送到该服务器

带复制的基于局部性最少链接(Locality-Based Least Connections with Replication)

–      维护从一个目标IP地址到一台服务器的映射

–      根据请求的目标IP地址找出该目标IP地址对应的服务器组,按“最小连接”原则从服务器组中选出一台服务器,若服务器没有超载,将请求发送到该服务器;若服务器超载,则按“最小连接”原则从这个集群中选出一台服务器,将该服务器加入到服务器组中,将请求发送到该服务器

–      当该服务器组有一段时间没有被修改,将最忙的服务器从服务器组中删除,以降低复制的程度。

目标地址散列(Destination Hashing)

–      根据请求的目标IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空

源地址散列(Source Hashing)

–      根据请求的源IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空

最短的期望的延迟(Shortest Expected Delay Scheduling SED)

–      基于WLC算法

–      A、B、C三台机器分别权重1、2、3 ,连接数也分别是1、2、3。如果使用WLC算法的话一个新请求进入时它可能会分给ABC中的任意一个

–      使用sed算法后会进行这样一个运算:A(1+1)/1,B(1+2)/2,C(1+3)/3

–      根据运算结果,把连接交给C

最少队列调度(Never Queue Scheduling NQ)

–      如果有台Real Server的连接数为0就直接分配过去,无需SED运算

五、LVS-NAT配置详解

1、拓扑图

2、Director Server(调度服务器)配置

#配置yum源

[[email protected] ~]# cat/etc/yum.repos.d/rhel-source.repo

[yum-local]

name=yum-local

baseurl=file:///iso/

enabled=1

gpgcheck=0

[yum-LoadBalancer]

name=yum-LoadBalancer

baseurl=file:///iso/LoadBalancer/    #必须保证有LoadBalancer源

enabled=1

gpgcheck=0

#安装ipvsadm

[[email protected] ~]# yum -y install ipvsadm

#配置ipvsadm

[[email protected] ~]# ipvsadm  -A  -t 172.16.1.10:80  -s  rr          director外网地址

[[email protected] ~]# ipvsadm  -a  -t 172.16.1.10:80  -r  192.168.1.10(内网服务器ip)  -m -w  1

[[email protected] ~]# ipvsadm  -a  -t 172.16.1.10:80  -r  192.168.1.20 -m  -w  2

[[email protected] ~]# ipvsadm  -Ln

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port           Forward Weight ActiveConn InActConn

TCP  172.16.1.10:80 wrr

-> 192.168.1.10:80              Masq    1      0          0

-> 192.168.1.20:80              Masq    2      0          0

3、Real server(真实服务器配置)

#安装Apache

[[email protected] ~]# yum -y install httpd

#编写主页文件

[[email protected] ~]# cat /var/www/html/index.html

<html>

<head>

<title>web-a</title>

</head>

<body>

<h1>This is WEB-A 192.168.1.10</h1>

</body>

</html>

#启动Apache

[[email protected] ~]# service httpd start

#web-b按照主机a来配置,只更改index.html的内容

[[email protected] ~]# cat /var/www/html/index.html

<html>

<head>

<title>web-b</title>

</head>

<body>

<h1>This is WEB-B 192.168.1.20</h1>

</body>

</html>

4、Director Server(调度服务器)防火墙配置

#开启ip forward 功能

[[email protected] ~]# sysctl -w net.ipv4.ip_forward=1  #临时开启,永久开启需修改/etc/sysctl.conf 文件

#配置防火墙

[[email protected] ~]# iptables  -I  INPUT -p  tcp  --dport 80  -j  ACCEPT

[[email protected] ~]# iptables -I  FORWARD  -d  202.1.1.0/24  -p  tcp  --dport  80  -j  ACCEPT

[[email protected] ~]# iptables  -I  FORWARD -s  202.1.1.0/24  -p  tcp  --sport  80  -j  ACCEPT

#保存配置

[[email protected] ~]# servic ipvsadm save

[[email protected] ~]# service iptables save

5、客户端浏览器浏览

#首先输入调度器ip

#刷新访问

六、LVS-DR配置详解

1、拓扑图

未完待续。。。。。。。。。。。。。。。

时间: 2024-10-05 05:07:37

LVS配置详解的相关文章

LVS 配置详解之NAT

LVS 有3种模式: NAT模式.IP TUN模式和DR模式. LVS调度算法分为静态类型和动态类型,共计10种: rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq 常用的调度算法: 固定调度算法:rr,wrr,dh,sh 动态调度算法:wlc,lc,lblc,lblcr 算法 说明 rr 轮询算法,它将请求依次分配给不同的rs节点,也就是RS节点中均摊分配.这种算法简单,但只适合于RS节点处理性能差不多的情况 wrr 加权轮训调度,它将依据不同RS的权值分配任务.权值

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

转:http://www.cnblogs.com/liwei0526vip/p/6370103.html 使用LVS实现负载均衡原理及安装配置详解 负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.haproxy,商业的硬件负载均衡设备F5.Netscale.这里主要是学习 LVS 并对其进行了详细的总结记录. 一.负载均衡LVS基本介绍 LB集群的架构和原理很简单,就是当用户的请求过来时,会直接分发到Director

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

使用 LVS 实现负载均衡原理及安装配置详解 来源:肖邦linux 发布时间:2017-02-19 阅读次数:106 0 负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.haproxy,商业的硬件负载均衡设备F5.Netscale.这里主要是学习 LVS 并对其进行了详细的总结记录. 一.负载均衡LVS基本介绍 LB集群的架构和原理很简单,就是当用户的请求过来时,会直接分发到Director Server上,然后它把用

keepalived的配置详解(非常详细)

keepalived的配置详解(非常详细) 2017-01-22 15:24 2997人阅读 评论(0) 收藏 举报  分类: 运维学习(25)  转载自:http://blog.csdn.net/u010391029/article/details/48311699 1. 前言 VRRP(Virtual Router Redundancy Protocol)协议是用于实现路由器冗余的协议,最新协议在RFC3768中定义,原来的定义RFC2338被废除,新协议相对还简化了一些功能. 2. 协议说

LVS原理详解(3种工作模式及8种调度算法)

2017年1月12日, 星期四 LVS原理详解(3种工作模式及8种调度算法) LVS原理详解及部署之二:LVS原理详解(3种工作方式8种调度算法) 作者:woshiliwentong  发布日期:2014-01-06 09:31:20 一.集群简介 什么是集群 计算机集群简称集群是一种计算机系统,它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作.在某种意义上,他们可以被看作是一台计算机.集群系统中的单个计算机通常称为节点,通常通过局域网连接,但也有其它的可能连接方式.集

Centos 7基于DR(直接路由)模式的负载均衡配置详解

DR(直接路由)是三种负载均衡模式其中之一,也是使用最多的一种模式,关于该模式的介绍,可以参考博文:LVS负载均衡群集详解. DR的工作模式示意图如下: 该模式的原理已经在上面链接的博文中写了下来.现在直接搭建一个基于DR模式的负载均衡群集. 环境如下: 在上面这个环境中,需要解决的问题有下面几点: 1.所有web节点和调度器都配置上VIP:客户端访问VIP(群集的虚拟IP地址)时,若是 调度器将请求转发给web节点,然后由web节点直接去响应客户端,那么客户端在收到 数据包后,发现收到的数据包

logback logback.xml 常用配置详解

一:根节点 包含的属性: scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true. scanPeriod: 设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒.当scan为true时,此属性生效.默认的时间间隔为1分钟. debug: 当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态.默认值为false. 例如: <configuration scan="true" scan

php-fpm的配置详解

php5.3自带php-fpm /usr/local/php/etc/php-fpm.confpid = run/php-fpm.pidpid设置,默认在安装目录中的/var/run/php-fpm.pid,建议开启 error_log = log/php-fpm.log错误日志,默认在安装目录中的/var/log/php-fpm.log log_level = notice错误级别. 可用级别为: alert(必须立即处理), error(错误情况), warning(警告情况), notic

varnish安装及配置详解

varnish系统架构: varnish主要运行两个进程:Management进程和Child进程(也叫Cache进程). Management进程主要实现应用新的配置.编译VCL.监控varnish.初始化varnish以及提供一个命令行接口等.Management进程会每隔几秒钟探测一下Child进程以判断其是否正常运行,如果在指定的时长内未得到Child进程的回应,Management将会重启此Child进程. Child进程包含多种类型的线程,常见的如:Acceptor线程:接收新的连接