1、LVS负载均衡概念剖解:
1)LVS技术全称:Linux virtual Server ,Linux虚拟机服务器集群,1998由章文嵩博士设计、并且开源的,是中国最早的开源软件项目之一。
 
2)LVS被称为负载均衡软件(软件级别),用户通过互联网访问LVS VIP地址,LVS根据转发方式和算法将用户,对于用户来讲,是无法看到或者感知后端集群的状态的。
  • 转发方式:
  • 算法:
 
3)在目前互联网IT企业中,主流的可伸缩网络架构,都有一个共同的特点:前端调度器,拥有前端调度器就可以实现网络架构的横向、纵向伸缩功能,无限扩容集群的量级。
 
4)在IP负载均衡技术中,主要是通过三种转发方式来实现请求的转发,三种方式:
  • NAT:
  • DR:
  • TUN:
 
2、LVS负载均衡NAT方式实战:
1)LVS负载均衡NAT转发方式原理:
用户请求LVS VIP到达director(LVS服务器:LB),director(LVS)将请求的报文的目标IP地址改成后端的realserverIP地址,同时将报文的目标端口也改成后端选定的realserver相应端口,最后将报文发送到realserver,realserver将数据返给director,director再把数据发送给用户。(再次请求都经过director,所以访问大的话,director会成为瓶颈)。

2)LVS NAT模式注意事项:
  • LVS服务器至少2块物理网卡,一块连接公网(VIP),一块连接内网;
  • 后端Realserver机器的默认网关设置为LVS的内网IP地址;
  • 保证LVS内网网卡通常跟Realserver在同一网段;
  • LVS NAT模式后端Realserver机器数量不超过30台;
  • 用户的请求进入和返回均会经过LVS,LVS会成为瓶颈。
 
3、LVS NAT模式架构部署:
ipvsadm装方式如下:(源码部署需要和内核整合)
wget  -c 
http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz
ln -s /usr/src/kernels/2.6.*  /usr/src/linux
tar xzvf ipvsadm-1.24.tar.gz
cd ipvsadm-1.24 
make
make install
yum方式安装:(安装完即可,无需启服务)
yum install ipvsadm* -y
1)LVS NAT模式,要求至少两台服务器,一台作为LVS,另一台为Real server后端服务器,而且LVS至少2块网卡(一块为模拟公网,一块为内网网卡。)

2)192.168.1.21Real server后端服务器的网关设置为LVS服务器的内网网卡IP地址:192.168.1.20,如下图所示:

3) LVS外网网卡的IP地址为10.10.10.188,可以作为对外接收用户的访问请求,也可以自行添加其他的外网IP绑定在外网网卡上。

nodprode ip_vs
lsmod |grep -i ip_vs

#添加VIP 10.10.10.188虚拟集群:

ipvsadm -A -t 10.10.10.188:80 -s rr
-A 添加虚拟服务器VIP
-t       TCP协议
-s 指定算法为RR轮询模式

#在虚拟集群10.10.10.188中,加入后端Real server服务器:

ipvsadm -a -t 10.10.10.188:80 -r 192.168.1.21:80 -m -w 100
-a 往虚拟服务器集群中添加真实后端服务器
-t TCP协议
-r       指定后端realserver服务器的IP和端口
-m       指定NAT转发模式
-w       weight权重设置

4)LVS NAT模式能够实现数据转发,还要依靠Linux内核开启转发功能,所以需要如下设置:

echo 1 > /proc/sys/net/ipv4/ip_forward

5)查看LVS NAT模式集群配置信息。如图所示:

ipvsadm -L -n

6)查看LVS 参数使用帮助:

ipvsadm --help|more

7)访问效果:(需要关闭防火墙)

 
4、LVS负载均衡DR方式实战:
1)LVS DR原理:用户请求LVS VIP到达director(LB均衡器),director将请求的报文的目标MAC地址改成后端的realserverMAC地址,目标IP为VIP(不变),源IP为用户IP地址(保持不变),如果Director将报文发送到realserver,realserver检测到目标为自己本地VIP,如果在同一个网段,然后将请求直接返给用户。如果用户跟realserver不在一个网段,则通过网关返回用户,如下图所示:

2)LVS DR模式注意事项:
  • LVS服务器和后端服务器realserver必须在同网段(内网、公网);
  • LVS修改请亲报文的目标MAC,目标(VIP)不修改的;
  • 目标IP(VIP)保持不变。在RS后端配置VIP,lo网卡上面配置(不冲突);
  • RS后端服务器的网关指向路由器的下一跳,保证数据能够出去(访问外网);
  • 在所有RS后端服务器,抑制ARP广播,禁止VIP响应解析,而且要保证真实网卡不能抑制ARP广播。
 
5、LVS DR模式架构部署:
1)Real server后端服务器的网关设路由器出口IP地址(正常设置,保持能够上网),另外配置拷贝lo网卡为lo:1,配置一个VIP地址(需要在同网段),掩码设置为4个255,否则网卡起不来(所有流量都会走ens33真实网卡的)配置在lo网卡是为了VIP地址不冲突:
#拷贝网卡:
cp /etc/sysconfig/network-scripts/ifcfg-lo /etc/sysconfig/network-srcipts/ifcfg-lo:1
#编辑 添加如下内容 vim /etc/sysconfig/network-srcipts/ifcfg-lo:1
DEVICE=lo
IPADDR=192.168.1.188
NETMASK=255.255.255.255
ONBOOT=yes
NAME=loopback #需要重启网卡:
ifup lo:1
systemctl restart network

2)在客户端验证pingVIP地址能够通信,发现其MAC地址就是Real server后端服务器的MAC:

3) LVS服务器配置负载均衡,配置网卡IP 可以配置真实网卡的子接口上:(VIP地址需要同网段)添加realserver后端服务器的IP:

#添加VIP 192.168.1.188虚拟集群,加人后端服务器IP:

ipvsadm -A -t 192.168.1.188:80 -s rr

ipvsadm -a -t 192.168.1.188:80 -r 192.168.1.20 -g -w 100
ipvsadm -a -t 192.168.1.188:80 -r 192.168.1.21 -g -w 100
#参数解释:
-A 大A 添加虚拟集群
-t tcp协议
-s 指定算法rr模式
-a 在虚拟集群中添加后端真实IP
-g 指定DR模式
-w 权重 #查看虚拟集群状态:
ipvsadm -L -n #删除集群IP:
ipvsadm -d -t 192.168.1.188:80 -r 192.168.1.20
ipvsadm -D -t 192.168.1.188:80

4)为了实现均衡,需要在后端服务器上配置抑制arp广播,禁止arp响应解析,而且要保证真实网卡能接受arp广播:

cat /proc/sys/net/ipv4/conf/lo/arp_ignore  默认是0需要运行如下命令:

echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
#解释:
arp ignore参数(1)含义:只响应目标IP配置在真实网卡;
arp announce参数(2)含义:忽略报文得源IP地址,使用主机上能够跟用户通信的真实网卡发送数据。

6、LVS负载均衡TUN方式实战(基于DR,是DR的升级版):
LVS TUN原理:用户请求LVS到达director,director通过IP-TUN加密技术请求的报文的目标MAC地址改成后端的Real serverMAC地址,目标IP为VIP(不变),源IP为用户IP地址(保持不变),然后director将报文发送到realserver,realserver基于IP-TUN解密,然后检测到目标为自己本地VIP,如果在同一个网段,然后将请求直接返回给用户。如果用户跟realserver不在一个网段,则通过网关返回用户。如下图所示:

realserver配置DR脚本:

#!/bin/sh
#LVS Client Server
VIP=192.168.1.188
case  $1  in                                                                                                                                                                                                                                                   
start)                                                                                                                                                                                                                                           
    ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP
    /sbin/route add -host $VIP dev lo:0
    echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
    echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
    sysctl -p >/dev/null 2>&1
    echo "RealServer Start OK"
    exit 0
;;                                                                                                                                                                                                                                        
stop)
    ifconfig lo:0 down
    route del $VIP >/dev/null 2>&1
    echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
    echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
    echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
    echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
    echo "RealServer Stoped OK"
    exit 1
;;
*)
    echo "Usage: $0 {start|stop}"
;;
esac

LVS负载均衡概念+三种模式的更多相关文章

  1. LVS负载均衡的三种模式和八种算法总结

    三种LVS负载均衡模式 调度器的实现技术中,IP负载均衡技术是效率最高的,IP虚拟服务器软件(IPVS)是在linux内核中实现的。 LVS负载均衡模式---1.NAT模式 NAT用法本来是因为网络I ...

  2. LVS负载均衡常用的工作模式有NAT、DR、和TUN三种,其中DR模式性能最为优越,使用最为广泛。

    一.安装LVS LVS的编译安装参考本站文章:http://www.linuxe.cn/post-192.html,对于LVS这种功能性软件,在生产中用yum安装也是没有问题的. 1 yum inst ...

  3. LVS负载均衡群集部署——NAT模式

    LVS负载均衡群集部署--NAT模式 1.群集应用概述 2.NAT模式LVS负载均衡群集部署 1.群集应用概述: 存在的问题: 互联网应用中,随着站点对硬件性能.响应速度.服务稳定性.数据可靠性等要求 ...

  4. LVS负载均衡群集部署——DR模式

    LVS负载均衡群集部署--DR模式 1.LVS-DR概述 2.部署实验 1.LVS-DR概述: LVS-DR(Linux Virtual Server Director Server)工作模式,是生产 ...

  5. LVS负载均衡机制之LVS-DR模式工作原理以及简单配置

    本博文主要简单介绍一下LVS负载均衡集群的一个基本负载均衡机制:LVS-DR:如有汇总不当之处,请各位在评论中多多指出. LVS-DR原理: LVS的英文全称是Linux Virtual Server ...

  6. Lvs 负载均衡 (VS/NAT模式)

    一.LVS简介 LVS是 Linux Virtual Server 的简称,也就是Linux虚拟服务器.这是一个由章文嵩博士发起的一个开源项目,它的官方网站是 http://www.linuxvirt ...

  7. LVS负载均衡集群--NAT模式部署

    目录: 一.企业群集应用概述 二.负载均衡群集架构 三.负载均衡群集工作模式分析 四.关于LVS虚拟服务器 五.NAT模式 LVS负载均衡群集部署 一.企业群集应用概述 1.群集的含义 Cluster ...

  8. 构建LVS负载均衡集群——NAT模式(最简单方式)

    一.装备一台lvs调度器主机要求两个网卡一个为内部局域网ip,一个为公网ip #IP地址设置过程不再重复 [root@localhost ~]# ip a | grep eth0 #内网ip : et ...

  9. LVS负载均衡集群--DR模式部署

    目录: 一.LVS-DR数据包流向分析 二.DR 模式的特点 三.LVS-DR中的ARP问题 四.DR模式 LVS负载均衡群集部署 一.LVS-DR数据包流向分析 1.为方便进行原理分析,将clien ...

  10. 集群,lvs负载均衡的四种工作模式

    集群 集群的三种分类以及用途 负载均衡: 分配流量(调度器),提升速度 高可用: 关键性业务 高性能: 开发算法,天气预报,国家安全 负载均衡的集群 lvs(适用于大规模) haproxy(适用于中型 ...

随机推荐

  1. Kubernetes(k8s)控制器(五):有状态应用StatefulSet

    目录 一.系统环境 二.前言 三.StatefulSet简介 四.有状态应用和无状态应用区别 五.StatefulSet 5.1 创建StatefulSet 5.2 scale扩展副本数 5.3 创建 ...

  2. Unity的IGenerateNativePluginsForAssemblies:深入解析与实用案例

    Unity IGenerateNativePluginsForAssemblies Unity是一款非常流行的游戏引擎,它支持多种平台,包括Windows.Mac.Linux.Android.iOS等 ...

  3. 自学前端-HTML5+CSS-综合案例一-热词

    综合案例一-热词 目录 综合案例一-热词 1.设计需求 2.设计所需标签和CSS样式 3.设计具体步骤 4.遇到的问题 设计图如下 1.设计需求 ①需要鼠标放上去有显示透明 ②需要点击后跳转到相应页面 ...

  4. 小程序软键盘&SM2解密方式

    小程序软键盘&SM2解密方式 转载请著名出处:https://www.cnblogs.com/funnyzpc/p/17572445.html SM2基本信息 私钥(primary key) ...

  5. 简单运维oceanbase

    简单运维oceanbase 数据库集群参数修改 直连 proxy 连接 手动修改参数 show parameters like '%xx%' ; alter system set xxx='xx'; ...

  6. 2021-10-09 Core学习

    控制器学习 如果有ID参数,根据前面定义的{controller=Home}/{action=Index}/{id?} 可以换成一下格式 页面学习 视图 基架搭建 然后在nuget控制台添加 Add- ...

  7. React: 动态添加样式

    问题背景 在软件开发过程中,经常会出现动态添加style或className,比如:同一个表格组件在A处调用,需要固定前四列数据, B处调用则不用,那这时候,动态添加元素就派上了用场. 解决方案 如下 ...

  8. SQL Server 内存占用较高 - 清除缓存 或 设置内存最大占用值

    SQL Server对服务器内存的使用策略是用多少内存就占用多少内存,只用在服务器内存不足时,才会释放一点占用的内存,所以SQL Server 服务器内存往往会占用很高 查看内存状态: DBCC Me ...

  9. 洛谷 P1336 最佳课题选择 题解

    P1336 最佳课题选择 题解 状态:考虑\(f_{i,j}\)表示前\(i\)种论文里面,一共写了\(j\)篇,的最少花费时间. 转移策略:我们一次考虑每一种论文写多少篇.假设写\(k\)篇,\(k ...

  10. cpu,gpu的种类