U8服务器参数配置中负载均衡如何设置 怎样配置负载均衡

\u5982\u4f55\u914d\u7f6eWeb\u670d\u52a1\u5668\u5b9e\u73b0\u8d1f\u8f7d\u5747\u8861

\u8fd9\u7bc7\u5b9e\u7528\u6587\u7ae0\u4ecb\u7ecd\u5982\u4f55\u5c06pfSense 2.0\u914d\u7f6e\u6210\u4f60\u90a3\u4e9bWeb\u670d\u52a1\u5668\u7684\u8d1f\u8f7d\u5747\u8861\u5668\u3002\u8fd9\u7bc7\u5b9e\u7528\u6587\u7ae0\u5047\u8bbe\u4f60\u5df2\u7ecf\u5b89\u88c5\u4e86\u4e00\u4e2apfSense\u8bbe\u5907\u548c\u81f3\u5c11\u4e24\u53f0Apache\u670d\u52a1\u5668\uff0c\u5e76\u4e14\u8fd0\u884c\u5728\u4f60\u7684\u7f51\u7edc\u4e0a\uff1b\u8fd8\u5047\u8bbe\u4f60\u5177\u5907\u4e86pfSense\u65b9\u9762\u7684\u4e00\u4e9b\u77e5\u8bc6\u3002
\u8981\u6c42
\u4e00\u53f0\u8bbe\u5907\u7528\u4e8e\u5b89\u88c5pfSense 2.0\uff08\u5982\u679c\u8fd9\u662f\u4f60\u7684\u8fb9\u7f18\u9632\u706b\u5899\uff0c\u6211\u4f1a\u5efa\u8bae\u7269\u7406\u673a\u5668\uff09\u3002
\u81f3\u5c11\u4e24\u53f0Apache2\u670d\u52a1\u5668\uff08\u8fd9\u4e9b\u53ef\u4ee5\u662f\u865a\u62df\u670d\u52a1\u5668\uff09\u3002
\u5bf9Apache\u670d\u52a1\u5668\u8fdb\u884c\u4e86\u914d\u7f6e\uff0c\u4ee5\u4fbf\u4ee5\u67d0\u79cd\u65b9\u5f0f\u540c\u6b65Web\u6587\u4ef6\uff08rsync/corosync\u6216\u901a\u8fc7Web\u670d\u52a1\u5668\u7ef4\u6301\u6587\u4ef6\u7248\u672c\u6700\u65b0\u7684\u53e6\u4e00\u4e2a\u9009\u9879\uff09\u3002
\u914d\u7f6epfSense
pfSense\u4f7f\u7528\u8d1f\u8f7d\u5747\u8861\u5668\uff0c\u5c06\u67d0\u4e9b\u7c7b\u578b\u7684\u6d41\u91cf\u5e26\u6765\u7684\u8d1f\u8f7d\u5206\u644a\u5230\u591a\u53f0\u670d\u52a1\u5668\u4e0a\uff1b\u5982\u679c\u4f60\u6709\u591a\u53f0\u670d\u52a1\u5668\u7528\u4e8e\u6258\u7ba1\u8fd0\u884c\u5e94\u7528\u7a0b\u5e8f\uff0c\u8fd9\u5f88\u597d\uff1b\u4f60\u53ef\u4ee5\u5c06\u8d1f\u8f7d\u5206\u644a\u5230\u6240\u6709\u670d\u52a1\u5668\u4e0a\uff0c\u800c\u4e0d\u662f\u628a\u8d1f\u8f7d\u5168\u6254\u7ed9\u4e00\u53f0\u670d\u52a1\u5668\u3001\u5bfc\u81f4\u4e0d\u582a\u91cd\u8d1f\u3002
\u53ef\u4ee5\u5165\u624b\u4e86\uff0c\u5148\u70b9\u51fb\u201cServices\u201d\uff08\u670d\u52a1\uff09\uff0c\u7136\u540e\u70b9\u51fb\u201cLoad Balancers\u201d\uff08\u8d1f\u8f7d\u5747\u8861\u5668\uff09\uff0c\u7136\u540e\u70b9\u51fb\u201cMonitor\u201d\uff08\u76d1\u89c6\u5668\uff09\u9009\u9879\u5361\u3002
\u8981\u6dfb\u52a0\u4e00\u4e2a\u65b0\u6761\u76ee\uff0c\u70b9\u51fb\u201cPlus\u201d\uff08\u6dfb\u52a0\uff09\u6309\u94ae\uff0c\u6307\u5b9a\u201cName\u201d\uff08\u540d\u79f0\uff09\u548c\u201cDescription\u201d\uff08\u63cf\u8ff0\uff0c\u5728\u8fd9\u4e2a\u793a\u4f8b\u4e2d\uff0c\u6211\u4f1a\u4f7f\u7528ApacheClusterMon\u4f5c\u4e3a\u540d\u79f0\u548c\u63cf\u8ff0\uff09\uff0c\u5c06\u7c7b\u578b\u8bbe\u6210\u201cHTTP\u201d\uff0c\u7136\u540e\u4e3a\u201cHost\u201d\uff08\u4e3b\u673a\uff09\u8bbe\u7f6e\u4e00\u4e2a\u672a\u4f7f\u7528\u7684IP\u5730\u5740\uff08\u6211\u4eec\u968f\u540e\u4f1a\u521b\u5efa\u865a\u62df\u670d\u52a1\u5668\u7684IP\uff0c\u4ee5\u4fbf\u5206\u914d\u7ed9\u6545\u969c\u5207\u6362\u670d\u52a1\u5668\u7ec4\uff09\uff0c\u4efb\u7531\u201cHTTP Code\u201d\uff08HTTP\u4ee3\u7801\uff09\u8bbe\u6210\u201c200 OK\u201d\u3002\u9700\u8981\u7684\u8bdd\uff0c\u7136\u540e\u70b9\u51fb\u201cSave\u201d\uff08\u4fdd\u5b58\uff09\uff0c\u4f7f\u66f4\u6539\u751f\u6548\u3002
\u73b0\u5728\u6211\u4eec\u8981\u521b\u5efa\u670d\u52a1\u5668\u6c60\u3002\u70b9\u51fb\u201cPools\u201d\uff08\u670d\u52a1\u5668\u6c60\uff09\u9009\u9879\u5361\uff0c\u70b9\u51fb\u201cPlus\u201d\uff08\u6dfb\u52a0\uff09\u6309\u94ae\uff0c\u5373\u53ef\u6dfb\u52a0\u65b0\u7684\u670d\u52a1\u5668\u6c60\u3002
\u6307\u5b9a\u4e00\u4e2a\u540d\u79f0\uff08ApacheSrvPool\u5c06\u7528\u5728\u6211\u7684\u793a\u4f8b\u4e2d\uff09\u3002\u5c06\u201cMode\u201d\uff08\u6a21\u5f0f\uff09\u8bbe\u6210\u201cLoad Balance\u201d\uff08\u8d1f\u8f7d\u5747\u8861\uff09\uff0c\u7136\u540e\u5c06\u201cPort\u201d\uff08\u7aef\u53e3\uff09\u8bbe\u6210\u201c80\u201d\uff08\u4f60\u53ef\u4ee5\u8ba9pfSense\u5bf9\u5176\u4ed6\u7aef\u53e3\u4e0a\u7684\u5176\u4ed6\u5e94\u7528\u7a0b\u5e8f\u5b9e\u73b0\u8d1f\u8f7d\u5747\u8861\uff09\uff0c\u5c06\u201cMonitor\u201d\uff08\u76d1\u89c6\u5668\uff09\u8bbe\u6210\u4f60\u4e4b\u524d\u521b\u5efa\u7684\u76d1\u89c6\u5668\u914d\u7f6e\uff0c\u5e76\u4e14\u6307\u5b9a\u4f60\u5e0c\u671b\u5728\u670d\u52a1\u5668\u6c60\u4e2d\u7684\u6240\u6709Web\u670d\u52a1\u5668\u7684IP\u5730\u5740\uff0c\u9700\u8981\u7684\u8bdd\uff0c\u70b9\u51fb\u201cSave\u201d\uff08\u4fdd\u5b58\uff09\uff0c\u4f7f\u66f4\u6539\u751f\u6548\u3002
\u63a5\u4e0b\u6765\u70b9\u51fb\u201cVirtual Servers\u201d\uff08\u865a\u62df\u670d\u52a1\u5668\uff09\u9009\u9879\u5361\uff0c\u70b9\u51fb\u201cPlus\u201d\uff08\u6dfb\u52a0\uff09\u6309\u94ae\uff0c\u6dfb\u52a0\u4e00\u4e2a\u65b0\u6761\u76ee\u3002\u6307\u5b9a\u201cName\u201d\uff08\u540d\u79f0\uff09\u548c\u201cDescription\u201d\uff08\u63cf\u8ff0\uff09\uff0c\u7136\u540e\u7528\u4f60\u4e4b\u524d\u9009\u62e9\u7684\u672a\u4f7f\u7528IP\u5730\u5740\u6765\u8bbe\u7f6e\u201cIP Address\u201d\uff08IP\u5730\u5740\uff09\uff0c\u5c06\u201cPort\u201d\uff08\u7aef\u53e3\uff09\u8bbe\u6210\u201c80\u201d\uff0c\u7136\u540e\u5c06\u201cVirtual Server Pool\u201d\uff08\u865a\u62df\u670d\u52a1\u5668\u6c60\uff09\u8bbe\u6210\u4f60\u4e4b\u524d\u521b\u5efa\u7684\u670d\u52a1\u5668\u6c60\uff0c\u70b9\u51fb\u201cSubmit\u201d\uff08\u63d0\u4ea4\uff09\uff0c\u4f7f\u66f4\u6539\u751f\u6548\u3002
\u5c31\u8fd9\u6837\uff0c\u4f60\u521a\u914d\u7f6e\u597d\u4e86pfSense\uff0c\u5bf9\u4f60\u7684Web\u670d\u52a1\u5668\u4e4b\u95f4\u7684\u7f51\u7edc\u6d41\u91cf\u5b9e\u73b0\u8d1f\u8f7d\u5747\u8861\u3002
\u987a\u4fbf\u63d0\u4e00\u4e0b\uff0c\u5982\u679c\u4efb\u4f55\u4e00\u53f0\u670d\u52a1\u5668\u6ca1\u6709\u7ed9\u51fa200 OK\u72b6\u6001\u8fd9\u6837\u7684\u56de\u5e94\uff08pfSense\u5b9a\u671f\u5411\u4f60\u7684Web\u670d\u52a1\u5668\u53d1\u9001\u8bf7\u6c42\uff0c\u4ee5\u786e\u5b9a\u5b83\u4eec\u662f\u5426\u6b63\u5e38\u8fd0\u884c\uff09\uff0c\u670d\u52a1\u5668\u6c60\u5c31\u4f1a\u5904\u4e8e\u79bb\u7ebf\u505c\u8fd0\u72b6\u6001\u3002\u8981\u907f\u514d\u51fa\u73b0\u505c\u8fd0\uff0c\u6700\u597d\u7684\u529e\u6cd5\u5c31\u662f\u914d\u7f6e\u6545\u969c\u5207\u6362\u7cfb\u7edf\uff08\u4e0b\u4e00\u7bc7\u6587\u7ae0\u4f1a\u6709\u4ecb\u7ecd\uff09\u3002

1.\u6240\u6709\u670d\u52a1\u5668\u8282\u70b9\u5fc5\u987b\u662f\u540c\u4e00\u4e2a\u57df\u7684\u6210\u5458\u3002
2.\u914d\u7f6eDNS\u6216\u5728hosts\u6587\u4ef6\u4e2d\u505a\u89e3\u6790\u3002
3.\u5efa\u7acb\u516c\u7528\u57df\u540d\uff0c\u540e\u7eed\u5b89\u88c5\u8d1f\u8f7d\u5747\u8861\u65f6\u7528\u5230\u3002
4.\u51c6\u5907\u76f8\u5e94\u8282\u70b9\u7684IP\u5730\u5740\uff08\u4ee5\u4e24\u8282\u70b9\u4e3a\u4f8bpublic\u4e24\u4e2a\uff0c\u865a\u62dfIP\u4e00\u4e2a(\u4e0epublic\u5728\u4e00\u4e2a\u7f51\u6bb5)\uff0cprivate\u4e24\u4e2a\uff09
\u5982\u679c\u662f\u7528\u5fae\u8f6f\u7684\u8d1f\u8f7d\u5747\u8861\u662f\u4e0d\u9700\u8981\u7279\u522b\u7684\u8bbe\u5907\u3002
\u5728\u6bcf\u4e2a\u8282\u70b9\u4e0a\u5747\u5b89\u88c5windows server2003 x64 or x86 ENT,\u5e76\u5b89\u88c5SP1\u53ca\u5176\u4ed6\u8865\u4e01\u3002
\u8bbe\u7f6e\u6bcf\u4e2a\u8282\u70b9\u7684\u7f51\u7edc\u8fde\u63a5\uff0cpublic\u7684IP\u5fc5\u987b\u4e0eAD\u540c\u5c5e\u4e00\u4e2a\u7f51\u6bb5(\u6bd4\u5982192.168.16.0/28)\uff0cDNS\u6307\u5411AD\uff1bprivate\u7684IP\u5fc5\u987b\u4e0e\u5176\u4ed6\u8282\u70b9\u7684private\u7684IP\u540c\u5c5e\u4e00\u4e2a\u7f51\u6bb5\uff08\u4e0e\u4e0d\u540c\u7f51\u6bb5\u6bd4\u5982\uff1a10.10.10.0/28\uff09\uff0cDNS\u4e0d\u7528\u8bbe\u5b9a\uff0c\u5e76\u7981\u7528private\u4e2dWINS\u9009\u9879\u4e2dNetBIOS\u4e0a\u7684TCP/IP\u548cDNS\u6ce8\u518c\u3002

网络的负载均衡是一种动态均衡技术,通过一些工具实时地分析数据包,掌握网络中的数据流量状况,把任务合理均衡地分配出去。这种技术基于现有网络结构,提供了一种扩展服务器带宽和增加服务器吞吐量的廉价有效的方法,加强了网络数据处理能力,提高了网络的灵活性和可用性。

网络的负载均衡是一种动态均衡技术,通过一些工具实时地分析数据包,掌握网络中的数据流量状况,把任务合理均衡地分配出去。这种技术基于现有网络结构,提供了一种扩展服务器带宽和增加服务器吞吐量的廉价有效的方法,加强了网络数据处理能力,提高了网络的灵活性和可用性。

以四台服务器为例实现负载均衡:

安装配置LVS

1. 安装前准备:

(1)首先说明,LVS并不要求集群中的服务器规格划一,相反,可以根据服务器的不同配置和负载状况,调整负载分配策略,充分利用集群环境中的每一台服务器。如下表:

Srv Eth0 Eth0:0 Eth1 Eth1:0

vs1 10.0.0.1 10.0.0.2 192.168.10.1 192.168.10.254

vsbak 10.0.0.3 192.168.10.102

real1 192.168.10.100

real2 192.168.10.101

其中,10.0.0.2是允许用户访问的IP。

(2)这4台服务器中,vs1作为虚拟服务器(即负载平衡服务器),负责将用户的访问请求转发到集群内部的real1,real2,然后由real1,real2分别处理。
Client为客户端测试机器,可以为任意操作系统。

(3)所有OS为redhat6.2,其中vs1 和vsbak 的核心是2.2.19, 而且patch过ipvs的包, 所有real
server的Subnet mask 都是24位, vs1和vsbak 的10.0.0. 网段是24 位。

2.理解LVS中的相关术语

(1) ipvsadm :ipvsadm是LVS的一个用户界面。在负载均衡器上编译、安装ipvsadm。

(2) 调度算法: LVS的负载均衡器有以下几种调度规则:Round-robin,简称rr;weighted
Round-robin,简称wrr;每个新的连接被轮流指派到每个物理服务器。Least-connected,简称lc;weighted
Least-connected,简称wlc,每个新的连接被分配到负担最小的服务器。

(3) Persistent client
connection,简称pcc,(持续的客户端连接,内核2.2.10版以后才支持)。所有来自同一个IP的客户端将一直连接到同一个物理服务器。超时时间被设置为360秒。Pcc是为https和cookie服务设置的。在这处调度规则下,第一次连接后,所有以后来自相同客户端的连接(包括来自其它端口)将会发送到相同的物理服务器。但这也会带来一个问题,因为大约有25%的Internet
可能具有相同的IP地址。

(4) Persistent port
connection调度算法:在内核2.2.12版以后,pcc功能已从一个调度算法(你可以选择不同的调度算法:rr、wrr、lc、wlc、pcc)演变成为了一个开关选项(你可以让rr、
wrr、lc、wlc具备pcc的属性)。在设置时,如果你没有选择调度算法时,ipvsadm将默认为wlc算法。 在Persistent port
connection(ppc)算法下,连接的指派是基于端口的,例如,来自相同终端的80端口与443端口的请求,将被分配到不同的物理服务器上。不幸的是,如果你需要在的网站上采用cookies时将出问题,因为http是使用80端口,然而cookies需要使用443端口,这种方法下,很可能会出现cookies不正常的情况。

(5)Load Node Feature of Linux Director:让Load balancer 也可以处理users 请求。

(6)IPVS connection synchronization。

(7)ARP Problem of LVS/TUN and LVS/DR:这个问题只在LVS/DR,LVS/TUN 时存在。

3. 配置实例

(1) 需要的软件包和包的安装:

I. piranha-gui-0.4.12-2*.rpm (GUI接口cluster设定工具);

II. piranha-0.4.12-2*.rpm;

III. ipchains-1.3.9-6lp*.rpm (架设NAT)。

取得套件或mount到光盘,进入RPMS目录进行安装:

# rpm -Uvh piranha*

# rpm -Uvh ipchains*

(2) real server群:

真正提供服务的server(如web
server),在NAT形式下是以内部虚拟网域的形式,设定如同一般虚拟网域中Client端使用网域:192.168.10.0/24
架设方式同一般使用虚拟IP之局域网络。

a. 设网卡IP

real1 :192.168.10.100/24

real2 :192.168.10.101/24

b.每台server均将default gateway指向192.168.10.254。
192.168.10.254为该网域唯一对外之信道,设定在virtual server上,使该网域进出均需通过virtual server 。

c.每台server均开启httpd功能供web server服务,可以在各real server上放置不同内容之网页,可由浏览器观察其对各real
server读取网页的情形。

d.每台server都开启rstatd、sshd、rwalld、ruser、rsh、rsync,并且从Vserver上面拿到相同的lvs.conf文件。

(3) virtual server:

作用在导引封包的对外主机,专职负责封包的转送,不提供服务,但因为在NAT型式下必须对进出封包进行改写,所以负担亦重。

a.IP设置:

对外eth0:IP:10.0.0.1 eth0:0 :10.0.0.2

对内eth1:192.168.10.1 eth1:0 :192.168.10.254

NAT形式下仅virtual server有真实IP,real server群则为透过virtual server.

b.设定NAT功能

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

# echo 1 >; /proc/sys/net/ipv4/ip_always_defrag

# ipchains -P forward MASQ

c.设定piranha 进入X-window中 (也可以直接编辑/etc/lvs.cf )

a).执行面板系统piranha

b).设定“整体配置”(Global Settings) 主LVS服务器主机IP:10.0.0.2, 选定网络地址翻译(预设) NAT路径名称:
192.168.10.254, NAT 路径装置: eth1:0

c).设定虚拟服务器(Virtual Servers) 添加编辑虚拟服务器部分:(Virtual
Server)名称:(任意取名);应用:http;协议: tcp;连接:80;地址:10.0..0.2;装置:eth0:0; 重入时间:180
(预设);服务延时:10 (预设);加载监控工具:ruptime (预设);调度策略:Weighted least-connections; 持续性:0
(预设); 持续性屏蔽: 255.255.255.255 (预设); 按下激活:实时服务器部分:(Real Servers); 添加编辑:名字:(任意取名);
地址: 192.168.10.100; 权重:1 (预设) 按下激活

另一架real server同上,地址:192.168.10.101。

d). 控制/监控(Controls/Monitoring)
控制:piranha功能的激活与停止,上述内容设定完成后即可按开始键激活piranha.监控器:显示ipvsadm设定之routing table内容
可立即更新或定时更新。

(4)备援主机的设定(HA)

单一virtual server的cluster架构virtual server 负担较大,提供另一主机担任备援,可避免virtual
server的故障而使对外服务工作终止;备份主机随时处于预备状态与virtual server相互侦测

a.备份主机:

eth0: IP 10.0.0.3

eth1: IP 192.168.10.102 同样需安装piranha,ipvsadm,ipchains等套件

b.开启NAT功能(同上面所述)。

c.在virtual server(10.0.0.2)主机上设定。

a).执行piranha冗余度 ;

b).按下“激活冗余度”;

冗余LVS服务器IP: 10.0.0.3;HEARTBEAT间隔(秒数): 2 (预设)

假定在…秒后进入DEAD状态: 5 (预设); HEARTBEAT连接埠: 539 (预设)

c).按下“套用”;

d).至“控制/监控”页,按下“在当前执行层添加PULSE DEAMON” ,按下“开始”;

e).在监控器按下“自动更新”,这样可由窗口中看到ipvsadm所设定的routing table,并且动态显示real
server联机情形,若real server故障,该主机亦会从监视窗口中消失。

d.激活备份主机之pulse daemon (执行# /etc/rc.d/init.d/pulse start)。

至此,HA功能已经激活,备份主机及virtual server由pulse daemon定时相互探询,一但virtual
server故障,备份主机立刻激活代替;至virtual server 正常上线后随即将工作交还virtual server。

LVS测试

经过了上面的配置步骤,现在可以测试LVS了,步骤如下:

1. 分别在vs1,real1,real2上运行/etc/lvs/rc.lvs_dr。注意,real1,real2上面的/etc/lvs
目录是vs2输出的。如果您的NFS配置没有成功,也可以把vs1上/etc/lvs/rc.lvs_dr复制到real1,real2上,然后分别运行。确保real1,real2上面的apache已经启动并且允许telnet。

2. 测试Telnet:从client运行telnet 10.0.0.2,
如果登录后看到如下输出就说明集群已经开始工作了:(假设以guest用户身份登录)

[guest@real1 guest]$——说明已经登录到服务器real1上。

再开启一个telnet窗口,登录后会发现系统提示变为:

[guest@real2 guest]$——说明已经登录到服务器real2上。

3. 测试http:从client运行iexplore http://10.0.0.2

因为在real1 和real2 上面的测试页不同,所以登录几次之后,显示出的页面也会有所不同,这样说明real server 已经在正常工作了。

扩展阅读:租1000人服务器多少钱 ... 42u标准机柜参数 ... 负载均衡服务器价格 ... 1000人游戏服务器价格 ... 服务器配置参数一览表 ... 阿里云负载均衡配置 ... 小型家用服务器配置 ... 什么样的服务器好 ... 服务器规格参数 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网