负载均衡集群介绍、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这种7层的更加灵活,能实现更多的个性化需求


LVS介绍

?LVS是由国人章文嵩开发

?流行度不亚于apache的httpd,基于TCP/IP做的路由和转发,稳定性和效率很高

?LVS最新版本基于Linux内核2.6,有好多年不更新了

?LVS有三种常见的模式:NAT、DR、IP Tunnel

?LVS架构中有一个核心角色叫做分发器(Load balance),它用来分发用户的请求,还有诸多处理用户请求的服务器(Real Server,简称rs)

NAT模式

?这种模式借助iptables的nat表来实现

?用户的请求到分发器后,通过预设的iptables规则,把请求的数据包转发到后端的rs上去

?rs需要设定网关为分发器的内网ip

?用户请求的数据包和返回给用户的数据包全部经过分发器,所以分发器成为瓶颈

?在nat模式中,只需要分发器有公网ip即可,所以比较节省公网ip资源

IP Tunnel模式

?这种模式,需要有一个公共的IP配置在分发器和所有rs上,我们把它叫做vip

?客户端请求的目标IP为vip,分发器接收到请求数据包后,会对数据包做一个加工,会把目标IP改为rs的IP,这样数据包就到了rs上

?rs接收数据包后,会还原原始数据包,这样目标IP为vip,因为所有rs上配置了这个vip,所以它会认为是它自己

LVS DR模式

?这种模式,也需要有一个公共的IP配置在分发器和所有rs上,也就是vip

?和IP Tunnel不同的是,它会把数据包的MAC地址修改为rs的MAC地址

?rs接收数据包后,会还原原始数据包,这样目标IP为vip,因为所有rs上配置了这个vip,所以它会认为是它自己

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模式搭建

准备3台机器
A机器为分发器,也叫调度器(简写为dir)
A机器 192.168.177.7 外网地址为192.168.153.55

B机器 192.168.177.100
C机器 192.168.177.200
B机器和C机器的网关需要设置为192.168.177.7

关闭防火墙,三台机器执行如下的命令

systemctl stop firewalld
systemc disable firewalld
systemctl start  iptables
iptables -F
service iptables save
setenforce 0

分发器上安装ipvsdam
yum install -y ipvsdam

分发器上编辑脚本
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
#注意区分网卡名字,我的两个网卡分别为ens33和ens37
echo 0 > /proc/sys/net/ipv4/conf/ens33/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/ens37/send_redirects
#director 设置nat防火墙
iptables -t nat -F
iptables -t nat -X
iptables -t nat -A POSTROUTING -s 192.168.177.0/24 -j MASQUERADE
#director设置ipvsadm
IPVSADM=‘/usr/sbin/ipvsadm‘
$IPVSADM -C
$IPVSADM -A -t 192.168.153.55:80 -s wlc -p 3
$IPVSADM -a -t 192.168.153.55:80 -r 192.168.177.100:80 -m -w 1
$IPVSADM -a -t 192.168.153.55:80 -r 192.168.177.200:80 -m -w 1

两台rs都需要安装rs,并且设置两台rs的主页,做一个区分,也就是说直接curl两台rs的ip时,得到不同的结果
这是我的实验结果,成功分发
[[email protected] yang]# curl 192.168.153.55
backup backup this is backup.
[[email protected] yang]# curl 192.168.153.55
master master this is master
[[email protected] yang]# curl 192.168.153.55
backup backup this is backup.
[[email protected] yang]# curl 192.168.153.55
master master this is master
[[email protected] yang]# curl 192.168.153.55
backup backup this is backup.

原文地址:http://blog.51cto.com/13658403/2135862

时间: 2024-08-01 13:01:33

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

LB(Load balance)负载均衡集群--{LVS-[NAT+DR]单实例实验+LVS+keeplived实验} 菜鸟入门级

LB(Load balance)负载均衡集群 LVS-[NAT+DR]单实例实验 LVS+keeplived实验 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统. 逻辑可分为: 1调度层 (Director):它是整个集群对外面的前端机,负责将客户的请求发送到一组服务器上执行,而客户认为服务是来自一个IP地址(我们可称之为虚拟IP地址)上的. 2[服务器池(server pool)/集群层(Real server)]:是一组真正执行客

LVS+Keepalived 实现高可用负载均衡集群

简介: 随着网站业务量的增长,网站的服务器压力越来越大?需要负载均衡方案!商业的硬件如 F5 ,Array又太贵,你们又是创业型互联公司如何有效节约成本,节省不必要的浪费?同时还需要实现商业硬件一样的高性能高可用的功能?有什么好的负载均衡可伸张可扩展的方案吗?有!我们利用LVS+Keepalivd基于完整开源软件的架构可以为你提供一个负载均衡及高可用的服务器.  一.LVS+Keepalived  介绍 1.  LVS LVS是Linux Virtual Server的简写,意即Linux虚拟服

18.6 负载均衡集群介绍;18.7 LVS介绍;18.9 LVS NAT模式搭建(上);18.10 LVS NAT模式搭建(下)

扩展: lvs 三种模式详解 http://www.it165.net/admin/html/201401/2248.html lvs几种算法 http://www.aminglinux.com/bbs/thread-7407-1-1.html 关于arp_ignore和 arp_announce http://www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.html lvs原理相关的   http://blog.csdn.net/pi9nc/

负载均衡集群介绍,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等 其中相对于(网络OSI七层模型),LVS属于四层,Nginx属于七层,haproxy既可以认为四层,也可以认为是七层. keepalived的负载均衡功能其实就是lvs lvs这种4层的负载均衡是可以分发出80外的其他端口通信的,比如Mysql,而七层nginx仅仅支持http.https,mail,haproxy也支持mysql这

负载均衡集群介绍(LB集群)、 LVS介绍、LVS NAT模式、LVS DR模式

负载均衡集群介绍(LB集群) LB集群是load balance集群的简写,翻译成中文就是负载均衡集群 负载均衡的原理就是当用户的请求过来时,会直接发到分发器上,然后它把用户的请求根据预先设置好的算法,只能均衡的分发到后端真正的服务器上.如果不同的机器,可能用户请求到的数据不一样,为了避免这样的情况发生,所有用到了共享存储,这样保证所有的用户请求的数据是一样的 主流开源软件LVS.keepalived.haproxy.nginx等 其中LVS属于4层(网络OSI 7层模型),nginx属于7层,

18.6 负载均衡集群介绍;18.7 LVS介绍;18.9-18.10 LVS NAT模式搭建(上下

扩展 lvs 三种模式详解 : http://www.it165.net/admin/html/201401/2248.html lvs几种算法 : http://www.aminglinux.com/bbs/thread-7407-1-1.html 关于arp_ignore和 arp_announce : http://www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.html lvs原理相关的 : http://blog.csdn.net/p

18.6 负载均衡集群介绍 18.7 LVS NAT模式搭建

18.6 负载均衡集群介绍 18.7 LVS介绍 18.8 LVS调度算法 18.9/18.10 LVS NAT模式搭建 三台机器分发器,也叫调度器(简写为dir)内网:15.132,外网:220.198(vmware仅主机模式)rs1内网:15.135rs2内网:15.139 [[email protected] network-scripts]# yum install -y ipvsdam[[email protected] yum.repos.d]# vim /usr/local/sbi