博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux中使用LVS实现负载均衡
阅读量:7038 次
发布时间:2019-06-28

本文共 3949 字,大约阅读时间需要 13 分钟。

什么是LVS

    LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。同时LVS又被称为四层路由,工作于传输层上。

LVS技术简介

    LVS集群采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。为此,在设计时需要考虑系统的透明性、可伸缩性、高可用性和易管理性。

LVS的组成部分

    LVS=ipvs+ipvsadm    ipvs:是一种内核框架,工作于input链上,相当于IPtables的netfilter框架,该框架根据定义在input链的上规则来进行数据包转发,试不能进入用户空间    ipvsadm:相当于iptabels命令,用于定义ipvs的规则123123

LVS的名词解释

CIP:客户端IPVIP:虚拟IP,可以实现转移,配置负载均衡服务器,与CIP进行通信。real server:正真实现响应的服务器DS:LVS服务器DIP:用于与real server服务器交互的ip,与RIP进行通信,位于进行负载均衡的机器上。RIP:real server的IP.

这里写图片描述

LVS的工作模型

 1. NAT模式:    相当于DNAT:    特征:    a.RS的RIP为私有IP,且网关只想DIP    b.RS的RIP和DIP必修在一个网段内    C.请求和响应都进过LVS服务器    d.可以进行端口映射  2. DR模式:    请求进过LVS服务器,而响应不仅过LVS服务器,由RS直接响应给Client端。    过程:客户端发送DIP.VIP的数据包到达DS,DS进行原目标MAC地址转化,转化为RS服务器中某一 台主机的MAC,然后通过VIP网卡广播出去,到达RS,RS处理之后通过另外一个路由器发送出去,将数据 包响应给客户端。     RS配置要求:    配置RIP和VIP,且VIP配置在IO上。RS和DS要在同一网段之中    特征:                RS的网关不能指向DIP,不支持端口映射 3. RUN模式:    使用IP隧道技术,在原有报文上进行再一次IP封装    机制:        客户端发送过来的CIP.VIP报文到达DS,DS将报文经二次封装变成CIP.VIP DIP.RIP的报文,  进过DS进行转发从DIP接口出来发送值互联网,RS接受到报文之后,进行解析,发向目标ip伪RIP,  进行接收,之后发向还有一层ip报文,再一次解析,发现目标IP为VIP,RS配置里VIP,所以接受进  行响应,发送到互联网VIP.CIP的报文    特性:            1,RIP,DIP,VIP都比需全是公网地址            2,RS的网关不指向DIP            3,不支持端口映射            4,RS的OS必须支持隧道功能

这里写图片描述

这里写图片描述

LVS调度

 1. 静态方法:    rr:轮询调度算法    wrr:加权轮询调度算法    sh:原地址hash,实现同一IP定向至同一服务器    dh:目标地址HASH  2. 动态方法:         lc:最少链接,RS的负载=活动链接数*256+非活动链接数    wrc:加权最少链接,RS的负载/权重    sed:最少期望延迟,改进版wrc,计算方法负载=(活动链接数+1)*256/wight    nq:永不排队调度算法,开始时根据论寻将请求分给从大到小的。

ipvsadm命令编写规则

 1. 添加一个服务集群:    ipvsadm -A|E -t|u|f VIP [-s scheduler] [-p [timeout]] [-M netmask] [--pe persistence_engine]        -A:添加一个服务集群                    -t:TCP                    -u:UDP                    -f:防火墙标记                    -s:调度算法             -E:修改服务器集群  2. 在服务集群中添加RS    ipvsadm -a|e -t|u|f VIP -r DIP [options]        -a:添加一个RS                    -t:tcp                    -u:udp                    -f:防火墙                    -r RIP            [option]:常用的            -g:DR模式(默认)                    -m:nat模式           -e:修改  3. 删除     ipvsadm -D -t|u|f VIP           //删除一个服务集群     ipvsadm -d -t|u|f VIP -r RIP 4. 清除所有规则     ipvsadm -C 5. 保存    ipvsadm -S [-n] 6. 重载    ipvsadm -R 7. 查看    ipvsadm -L|l [option]    option:        -n:数字格式显示IP地址                -c:显示连接数相关的信息                --stats:显示统计数据                --rate:每秒的平均速率  8. 计数器清零    ipvsadm -Z [-t|u|f VIP]
 1. 结构    DR:Clone1  192.168.80.150(VIP),192.168.100.1(DIP)    RS:Clone2  192.168.100.2    RS:Clone3  192.168.100.3 2. 步骤:     DS:        ifconfig eth1 DIP_GW up        ifconfig eth0:0 VIP        ipvsadm -A -t VIP -s rr        ipvsadm -a -t vip -r RIP -m    RS:        ifconfig eth0 RIP up        route add default gw DIP

这里写图片描述

这里写图片描述

使用DR模式实现LVS的负载均衡

 1. 结构    DS:    192.168.80.150(VIP)    RS:        192.168.80.130        192.168.80.131 2. 步骤    DS配置:     ifconfig eth0:0 VIP up     route add -host VIP dev eth0:0     ipvsadm -A -t vip -s rr     ipvsadm -a -t vip -r rip -g -w wight    RS配置:     echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore     echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore     echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce     echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce     ifconfig eth0 RIP      ifconfig lo:0 VIP netmask 255.255.255.255 broadcast VIP up     route add -host VIP dev lo:0

这里写图片描述

这里写图片描述

LVS的持久性

 1. 持久客户端链接(PCC):在有效时间内,将来至同一客户端发往VIP的所有请求统统定向于统一RS。    添加规则时:ipvsadm -A -t ip:0 -s rr  -p time  2. 持久端口链接(PPC):在有效时间内,将来自统一客户端发往VIP的某端口的所有请求统统定向于 同一RS。ipvsadm默认是用ppc  3. 持久防火墙标记链接(PFMC):端口绑定,基于防火墙标记,将两个或者将两个或者两个以上的端 口绑定为统一服务。    添加防火墙标记:(多个端口标记为统一标记码,使用多次一下语句)            #iptable -t mangel -A PREROUTING -d VIP -p tcp --dport RS_port -j MARK --set-mark 标记码{0-99}         mangel:修改报文首部,及打标记。在input之前打标记。    添加规则:            #ipvsadm -A -f 标记码 -s -p        #ipvsadm -a -f 标记码 -r ip -g
本文转自lnsaneLlinux博客51CTO博客,原文链接http://blog.51cto.com/lnsane784/1950589如需转载请自行联系原作者
Insane_linux
你可能感兴趣的文章
linux普通用户home目录锁定
查看>>
实验2虚拟局域网(VLAN)配置
查看>>
Lync Server 2010 安装部署系列三:添加DNS记录
查看>>
centos5.5vsftpd安装总结
查看>>
C#中类的继承问题02
查看>>
MySQL基本操作
查看>>
为virtualbox 建立桥接网络
查看>>
通过组策略设置---允许普通用户能够关闭服务器
查看>>
Word 2003高级技巧之可爱的锚标记
查看>>
Phabricator 配置ssh访问代码仓库
查看>>
AWStats: Apache/IIS的日志分析工具
查看>>
Freebsd系统升级
查看>>
使用DPM2007备份还原Exchange2007邮箱数据库
查看>>
云MongoDB网络安全策略和权限管理体系
查看>>
[CTO札记]招聘出题
查看>>
企业网络及应用层安全防护技术精要(Part I)
查看>>
新瓶装旧酒的苹果,是否回走30年前的老路
查看>>
Rafy 领域实体框架 - 树型实体功能(自关联表)
查看>>
java中使用junit测试
查看>>
flex游戏编程性能优化
查看>>