用UltraMonkey(Linux Virtual Server)实现负载均衡

发表于:2007-06-08来源:作者:点击数: 标签:
简单 测试 使用UltraMonkey(Linux Virtual Server)+Redhat linux 9 实现负载均衡。没有处理session共享问题,意义不大,网上有很多完整的资料。 主要技术: Linux virtual server http://www.LinuxVirtualServer.org/ http://www-900.ibm.com/developerWor
简单测试使用UltraMonkey(Linux Virtual Server)+Redhat linux 9 实现负载均衡。没有处理session共享问题,意义不大,网上有很多完整的资料。

主要技术:

Linux virtual server

  • http://www.LinuxVirtualServer.org/
  • http://www-900.ibm.com/developerWorks/cn/linux/cluster/lvs/part1/index.shtml

Ultra Mokey

  • http://www.ultramonkey.org/

参考资料

  • 如何在RedHat 7.3/8.0/9.0上实现集群负载均衡系统
  • 在Linux下构造高性能、高可用、高可伸缩性的服务集群

网络拓扑图:

安装步骤:

一、均衡服务器

1.         安装Redhat Linux9;
2.         升级至最新版本。内核版本为2.4.20-31.9;
3.         安装ultramokey内核,版本为2.4.20-31.9.um.2;
4.         重启安装ultramonkey其他辅助包,期间缺少的rpm包可在redhat9安装光盘2找到;
5.         网卡绑定2个ip地址

Eth0       : IP  192.169.0.39  NETMASK: 255.255.255.0
Eth0:1     : IP  192.169.1.1  NETMASK: 255.255.255.0

 6.         配置/etc/ha.d/ldirectord.cf

###########################################################################

#Gobal Directives

#检测服务器超时时间:10秒

checktimeout=10

#每2秒检测服务器

checkinterval=2

autoreload=yes

#logfile="local0"

quiescent=yes



# Virtual Server for HTTP

#外部访问ip

virtual=192.168.1.1:80

#注意!以下数行必须要有一个空格开头

        fallback=127.0.0.1:80

		#节点服务器

        real=192.168.0.135:80 masq

        real=192.168.0.66:80 masq

        real=192.168.0.12:80 masq

		#服务类型

        service=http

		#判断服务器是否正常工作,获取/meip25/jsp.txt ,内容为good即为正常

        request="/meip25/jsp.txt"

        receive="good"

		#均衡调度算法 rr=轮询

        scheduler=rr

		#协议

        protocol=tcp

        checktype=negotiate

###########################################################################

7.    重启动服务 service ldirectord restart

8.查看状态  ipvsadm –L –n    

[root@linuxserver root]# ipvsadm

IP Virtual Server version 1.0.10 (size=65536)

Prot LocalAddress:Port Scheduler Flags

  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn

TCP  192.168.1.1:http rr

  -> 192.168.0.66:http            Masq    1      0          0

  -> greentea:http                Local   0      0          0

以上代表 192.168.0.66工作正常,其他两台服务器不正常工作

 

统计信息 ipvsadm –L –n –stats

 [root@linuxserver root]# ipvsadm -L -n --stats

IP Virtual Server version 1.0.10 (size=65536)

Prot LocalAddress:Port               Conns   InPkts  OutPkts  InBytes OutBytes

  -> RemoteAddress:Port

TCP  192.168.1.1:80                      0        0        0        0        0

  -> 192.168.0.66:80                     0        0        0        0        0

  -> 127.0.0.1:80                        0        0        0        0        0

二、应用服务器(Real Servers)

       IP: 192.168.0.*

NETMASK:  255.255.255.0

GW:  192.168.0.39

三、客户端

       IP:192.168.1.*

       NETMASK:255.255.255.0

 

特点:

1. 支持服务器节点数量大,VS/NAT转发方式支持服务器节点数 <10~20 台

2. 节点服务器支持所有操作系统(Windows,Linux,Unix

3. 目前已知使用Linux Virtual Server技术的商用的负载均衡,高可用套件有:Redhat Linux的集群套件,Turbo Linux的TurboCluster Server 6 )

测试结果(仅参考):

统计信息: 

Prot LocalAddress:Port         连接数  输入包 输出包  输入流量         输出流量(Byte)

  -> RemoteAddress:Port

TCP  192.168.1.1:80           49     5512     9519    1,159,115      6,914,158

  -> 192.168.0.12:80           17     4045     7094   834,290        5,142,918

  -> 192.168.0.66:80           16     1184     1976   281,863        1,404,690

  -> 192.168.0.135:80          16      283      449     42,962       366,550 

结果表明连接请求平均分配到服务器(real server)中了,但是从流量看,各服务器的负荷并不均衡,可能跟均衡调度算法有关(测试使用轮询(Round Robin)算法)。


 

原文转自:http://www.ltesting.net

...