admin

负载均衡集群的方式设定和脚本

admin 运维技术 2022-11-16 417浏览 0

通过前面我们对LVS的安装和负载均衡算法的介绍,相信大家已经对这些轻车熟路了。那么我们现在就开始介绍重点内容——lvs下的负载均衡集群配置问题了。那么首先是设定方式,当然还要了解NAT的含义和它的基本架构图。那么具体内容还请大家看下文。

理解了上述关于请求转发方式和调度算法的基本概念后,就可以运用LVS来具体实现几种不同方式的负载均衡的集群系统。LVS的配置是通过前面所安装的IP虚拟服务器软件ipvsadm来实现的。ipvsadm与LVS的关系类似于iptables和NetFilter的关系,前者只是一个建立和修改规则的工具,这些命令的作用在系统重新启动后就消失了,所以应该将这些命令写到一个脚本里,然后让它在系统启动后自动执行。网上有不少配置LVS的工具,有的甚至可以自动生成脚本。但是自己手工编写有助于更深入地了解,所以本文的安装没有利用其它第三方提供的脚本,而是纯粹使用ipvsadm命令来配置。

下面就介绍一下如何配置LVS/NAT、LVS/TUN、LVS/DR方式的负载均衡集群。

设定LVS/NAT方式的负载均衡集群

NAT是指Network Address Translation,它的转发流程是:Director机器收到外界请求,改写数据包的目标地址,按相应的调度算法将其发送到相应Real Server上,Real Server处理完该请求后,将结果数据包返回到其默认网关,即Director机器上,Director机器再改写数据包的源地址,***将其返回给外界。这样就完成一次负载调度。

构架一个最简单的LVS/NAT方式的负载均衡集群下图所示。

负载均衡集群的方式设定和脚本

LVS/NAT方式的集群简图

Real Server可以是任何的操作系统,而且无需做任何特殊的设定,惟一要做的就是将其默认网关指向Director机器。Real Server可以使用局域网的内部IP(192.168.0.0/24)。Director要有两块网卡,一块网卡绑定一个外部IP地址(10.0.0.1),另一块网卡绑定局域网的内部IP(192.168.0.254),作为Real Server的默认网关。#p#

这里将所有LVS的配置命令写到一个可执行脚本中,脚本如下:

#!/bin/bash 
#OpenIPForwarding 
echo1>/proc/sys/net/ipv4/ip_forward 
#Tomaketheloadbalancerforwardthemasqueradingpackets 
iptables-tnat-APOSTROUTING-s192.168.2.0/24-d0.0.0.0/0-oeth0-jMASQUERADE 
ipvsadm-C 
#ChoosetheWeightedRoundRobing 
ipvsadm-A-t10.0.0.1:80-swrr 
#SetRealServer 
ipvsadm-a-t10.0.0.1:80-r192.168.0.1:873-m-w2
ipvsadm-a-t10.0.0.1:80-r192.168.0.2:873-m-w3
ipvsadm

将该脚本保存为/root/lvs_nat.sh,然后加上可执行属性,执行它:

#chmoda+x/root/lvs_nat.sh 
#/root/lvs_nat.sh

运行该脚本后,一个简单的LVS/NAT方式的负载均衡集群已经成功架设。模拟多个用户从外界访问10.0.0.1的80端口,用ipvsadm可以观看到以下信息:

#ipvsadm 
IPVirtualServerversion1.0.9(size=4096) 
ProtLocalAddress:PortSchedulerFlags 
->RemoteAddress:PortForwardWeightActiveConnInActConn 
TCP10.0.0.1:httpwrr 
->192.168.0.1:httpMasq320
->192.168.0.2:httpMasq210

其中ActiveConn表示对应的Real Server当前有多少个正在活动的连接,InActConn表示不活动的连接数。从这里我们可以看到有3个HTTP请求,被分别分配在不同的Real Server上,表明这个负载均衡集群正在成功运行中。

本例完成了这样一个简单的LVS/NAT集群,由此可以看出,LVS/NAT方式实现起来最为简单,而且Real Server使用的是内部IP,可以节省Real IP的开销。但因为执行NAT需要重写流经Director的数据包,在速度上有一定延迟;另外,当用户的请求非常短,而服务器的回应非常大的情况下,会对Director形成很大压力,成为新的瓶颈,从而使整个系统的性能受到限制。

继续浏览有关 网络 的文章
发表评论