主要技术:
Linux virtual server
Ultra Mokey
参考资料
网络拓扑图:
安装步骤:
一、均衡服务器
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)算法)。