LVS介绍、LVS调度算法、LVS NAT模式搭建

一:LVS介绍和LVS调度算法

LB 集群的架构如下图,原理也很简答,就是当用户的请求过来时,会直接发到分发器
(Director Server)上,然后它把用户的请求根据预先设置好的算法,智能均衡地分发到后
端的真正服务器(real server)上。如果不同的机器,可能用户请求到的数据不一样,为了
避免这样的情况发生,所以用到了共享存储,这样保证所有用户请求的数据是一样的。

LVS 是一个实现负载均衡集群的开源软件项目,LVS 架构从逻辑上可分为调度层
(Director)、server集群层(Real server)和共享存储。LVS 从实现上分为下面三种模式。
(1)NAT(调度器将请求的目标 ip 即 vip地址改为Real server的ip, 返回的数据包也
经过调度器,调度器再把源地址修改为vip)。

(2)TUN(调度器将请求来的数据包封装加密通过 ip 隧道转发到后端的 real server上,
而real server会直接把数据返回给客户端,而不再经过调度器)。
(3)DR(调度器将请求来的数据包的目标mac地址改为real server的mac 地址,返回
的时候也不经过调度器,直接返回给客户端)。
参考资料 http://www.it165.net/admin/html/201401/2248.html

其中DIP(driector ip)为分发器的 IP,NAT模式下它必须为公网IP,要对外服务。VIP(virtual ip)为虚拟IP,用在TUN 和DR 模式中,需
要同时配置在分发器和后端真实服务器上。RIP(Real IP)为后端真实服务器的IP,在TUN和DR 模式中,RIP 为公网 IP。
要想把用户的请求调度给后端的 RS,是需要经过调度算法来实现的,那么关于 LVS 的调度算法,都有哪些?
轮询 Round-Robin rr
加权轮询 Weight Round-Robin wrr
最小连接 Least-Connection lc
加权最小连接 Weight Least-Connection wlc
基于局部性的最小连接 Locality-Based Least Connections lblc
带复制的基于局部性最小连接 Locality-Based Least Connections with Replication lblcr
目标地址散列调度 Destination Hashing dh
源地址散列调度 Source Hashing sh

二:LVS NAT模式搭建

(1)环境说明
三台服务器一台作为 director, 两台作为real server,Director 有一个外网 ip
(192.168.31.166) 和一个内网 ip(192.168.21.166), 两个real server上只有内网
ip(192.168.21.100)和(192.168.21.101) 并且需要把两个 real server的内网网关设置为 director
的内网ip(192.168.21.166)。
(2)安装和配置
两个real server 上都安装 nginx服务
#yum install -y nginx
Director上安装ipvsadm
#yum install -y ipvsadm
Direcotr 上编辑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.21.0/24 -j MASQUERADE
#director设置ipvsadm
IPVSADM=‘/sbin/ipvsadm‘
$IPVSADM –C
$IPVSADM -A -t 192.168.31.166:80 -s lc -p 300
$IPVSADM -a -t 192.168.31.166:80 -r 192.168.21.100:80 -m -w 1
$IPVSADM -a -t 192.168.31.166:80 -r 192.168.21.101:80 -m -w 1
保存后,在Director上直接运行这个脚本就可以完成lvs/nat的配置了。
#/bin/bash /usr/local/sbin/lvs_nat.sh

(3)测试
通过浏览器测试两台机器上的 web内容http://192.168.31.166。为了区分开,我们可以
把nginx的默认页修改一下:
在 RS1 上执行
#echo "rs1rs1" >/usr/share/nginx/html/index.html
在 rs2 上执行
#echo "rs2rs2" >/usr/share/nginx/html/index.html
注意,切记一定要在两台RS上设置网关的IP 为 director的内网IP。

原文地址:http://blog.51cto.com/10941098/2171430

时间: 2024-10-10 13:35:46

LVS介绍、LVS调度算法、LVS NAT模式搭建的相关文章

负载均衡(集群介绍,lvs介绍,LVS调度算法,NAT模式搭建)

一.负载均衡集群介绍 负载均衡集群:简单地说就是让多台服务器均衡地去承载压力. 实现负载均衡的开源软件有:LVS,keepalived,haproxy,nginx等 其中相对于(网络OSI七层模型),LVS属于四层,Nginx属于七层,haproxy既可以认为四层,也可以认为是七层. keepalived的负载均衡功能其实就是lvs lvs这种4层的负载均衡是可以分发出80外的其他端口通信的,比如Mysql,而七层nginx仅仅支持http.https,mail,haproxy也支持mysql这

Linux集群架构(2)LVS介绍、LVS的调度算法、NAT模式搭建、 DR模式、keepalive

             负载均衡集群介绍                 LVS介绍 1.LVS NAT模式:(,目标ip转发.适用于小型集群,机器数量不多10台左右) 2.LVS IP Tunnel模式(将目标ip进行更改) (在这个模式下的rs机器都是配置有公网ip) 3.LVS DR模式(把数据包的MAC地址修改) NAT模式适合小型集群,机器在10台左右.其优势是节省公网ip. IP TUNNEL和DR 相差不大,能使用在较大的集群模式下,但是每台rs服务器都要配置有公网ip,这样会比

负载均衡集群介绍,LVS介绍,LVS的调度算法,LVS的NAT模式搭建

笔记内容: 18.6负载均衡集群介绍 18.7 LVS介绍 18.8 LVS的调度算法 18.9/18.10 LVS NAT模式搭建 笔记日期:2017-11-11 18.6负载均衡集群介绍 首先我们先介绍一下什么是负载均衡: 负载平衡(Load balancing)是一种计算机网络技术,用来在多个计算机(计算机集群).网络连接.CPU.磁盘驱动器或其他资源中分配负载,以达到最佳化资源使用.最大化吞吐率.最小化响应时间.同时避免过载的目的.这是来自维基百科的介绍.负载均衡的目的,就在于平衡计算机

负载均衡集群介绍、LVS介绍及调度算法、LVS NAT模式搭建

负载均衡集群介绍 实现负载均衡集群的软件有:LVS.keepalived.Nginx.haproxy等.其中LVS属于四层(网络OSI模型):Nginx 属于七层:haproxy既可以认为是四层,也可以当作是七层使用. keepalived 的负载均衡功能其实就是lvs LVS.haproxy这种四层负载均衡可以分发除80端口以外的通信,如mysql-3306:而nginx 仅仅支持http,https,mail. 相对来说,LVS 这种四层的更加稳定,能承受更多的请求,而nginx 这种七层的

负载均衡集群介绍、LVS介绍、LVS调度算法、LVS NAT模式搭建

18.6 负载均衡集群介绍 主流开源软件LVS.keepalived.haproxy.Nginx等 其中LVS属于4层(网络OSI 7层模型),nginx属于7层,haproxy既可以认为是4层,可以当做7层使用 keepalived的负载均衡功能其实就是lvs lvs这种4层的负载均衡是可以分发除80外的其他端口通信的,比如MySQL的,而Nginx仅仅支持HTTP,HTTPS,mail,haproxy也支持MySQL这种 相比较来说,LVS这种4层的更稳定,能承受更多的请求,而Nginx这种

负载均衡集群、LVS介绍及调度算法、LVS NAT模式搭建

负载均衡集群介绍 主流开源软件LVS.keepalived.haproxy.nginx等 其中LVS属于4层(网络OSI 7层模型),nginx属于7层,haproxy既可以认为是4层,也可以当做7层使用 keepalived的负载均衡功能其实就是lvs lvs这种4层的负载均衡是可以分发除80外的其他端口通信的,比如MySQL的,而nginx仅仅支持http,https,mail,haproxy也支持MySQL这种相比较来说,LVS这种4层的更稳定,能承受更多的请求,而nginx这种7层的更加

六十二、负载均衡集群介绍、LVS介绍、LVS的调度算法、LVS NAT模式搭建

一.负载均衡集群介绍 主流开源软件LVS.keepalived.haproxy.nginx等 其中LVS属于4层(网络OSI 7层模型),nginx属于7层,haproxy既可以认为是4层,也可以当做7层使用. OSI简介:OSI采用了分层的结构化技术,共分七层,物理层.数据链路层.网络层.传输层.会话层.表示层.应用层. keepalived的负载均衡功能其实就是lvs,内置的功能. lvs这种4层的负载均衡是可以分发除80外的其他端口通信的,比如MySQL的,而nginx仅仅支持http,h

负载均衡集群介绍、LVS介绍、LVS的调度算法、LVS NAT模式搭建

负载均衡集群介绍 ?主流开源软件LVS.keepalived.haproxy.nginx等 ?其中LVS属于4层(网络OSI 7层模型),nginx属于7层,haproxy既可以认为是4层,也可以当做7层使用 ?keepalived的负载均衡功能其实就是lvs ?lvs这种4层的负载均衡是可以分发除80外的其他端口通信的,比如MySQL的,而nginx仅仅支持http,https,mail,haproxy也支持MySQL这种 ?相比较来说,LVS这种4层的更稳定,能承受更多的请求,而nginx这

负载均衡集群介绍 LVS介绍 LVS调度算法 LVS NAT模式搭建

一.负载均衡集群介绍二.LVS介绍LVS NAT模式使用NAT模式访问量不能太大,一般就是十几台或者十台以下在NAT模式中,只有分发器需要配置一个公网IP,然后分发器和rs之前只需要设定内网IP即可LVS IP Tunnel模式在Load Balancer 和 Real Server之间建立一个虚拟隧道叫做IP Tunnel,实现原理实际上是更改了数据包的目的IP,客户端请求分发器,分发器收到请求数据包后,会对数据包做一个加工,会把目标IP改为rs的IP,这样数据包就到了rs上,rs接收数据包后