如果你没有那么多的机器来做 集群测试或研究的话,可以用vmware来虚拟多台linux做集群

1 软件需求

系统:rh as 3.5 或用cenos 3.5代替
虚拟机:VMwareWorkstation-5.0.0-13124
集群软件: ipvsadm-1.21-9 (在rh claster suite as3 个扩展盘里可以找到)
web配置工具: piranha-0.7.10-2 (rh公开的原码包RHCS中可以找到)

2 安装

vmware和linux系统的安装就不多说了,linux最小化安装即可,已经节省我们的磁盘空间,值得注意的是,如果你要是复制多个linux 的话,网卡要重新添加的,因为复制的mac地址是一样的。
至于修改name.vmx 和对lock 文件的删除这里也不多说了!

3 结构

一般用1台负载均衡服务器做lvs的核心部分,再加上两台节点服务器来做实际的服务器就可以完成负载均衡的测试。
lvs
|
|_________
||
realreal
serverserver

4 网络

以上图名称为标准lvs要双网卡
eth0外网为连接internet 172.168.0.1
eth1连接内网连接两个real server 192.168.0.254
两个real server 一个网卡就够了
eth0 分别是192.168.0.1 192.168.0.2
同时我们把3太服务器/etc/hosts统
127.0.0.1 localhost localhost.localdomain
192.168.0.1 real01
192.168.0.2 raal02
192.168.0.254 lvs

5 lvs上所需要的配置

我们用NAT来实现负载均衡的,所以打开转发
vi /etc/sysctl.conf
net.ipv4.ip_forward = 0(该为1)
sysctl.conf -p 生效

iptables 的规则
iptables -t mangle -A PREROUTING -p tcp -d 172.168.0.1/32 --dport 80 -j MARK --set-mark 80
iptables -t mangle -A PREROUTING -p tcp -d 172.168.0.1/32 --dport 443 -j MARK --set-mark 80
这里值得说明的是 我们不直接用nat 很是用mangle 加了标记 这样就可以把http 和https绑定成一组了,来做多端口的负载均衡(如果没用的化就可以不加443这条规则)
iptables -t nat -A POSTROUTING -s 192.168.70.0/24 -j MASQUERADE

核心部分/etc/sysconfig/ha/lvs.cf
代码:
serial_no = 41
primary = 172.168.0.1
primary_private = 192.168.0.254
service = lvs
backup_active = 0
backup = 0.0.0.0
heartbeat = 1
heartbeat_port = 539
keepalive = 6
deadtime = 18
network = nat
nat_router = 192.168.0.254 eth1
debug_level = NONE
virtual [server_lvs] {
     active = 1
     address = 172.168.0.1 eth0
     vip_nmask = 255.255.255.0
     fwmark = 80
     port = 80
     send = "GET / HTTP/1.0/r/n/r/n"
     expect = "HTTP"
     use_regex = 0
     load_monitor = none
     scheduler = wlc
     protocol = tcp
     timeout = 12
     reentry = 30
     quiesce_server = 0
     server [real01] {
         address = 192.168.0.1
         active = 1
         weight = 1
     }
     server [real02] {
         address = 192.168.0.2
         active = 1
         weight = 1
     }
}
(我们也可以通过piranha来通过web来配置这个文件,由于是图形下的相对比较简单这里就不多说了)

6 运行
shell>lvs

看一下
ps aux
代码:
root      3294  0.0  0.0  1760  632 ?        S    Jun29   0:05 /usr/sbin/nanny -c -h 192.168.0.1 -p 80 -f 80 -s GET / HTTP/1.0/r/n/r/n -x HTTP -a 30 -I /sbin/ipvsadm -t 12 -w 1 -V 172.168.0.1 -M m -U none --lvs
root      3295  0.0  0.0  1764  632 ?        S    Jun29   0:05 /usr/sbin/nanny -c -h 192.168.0.1 -p 80 -f 80 -s GET / HTTP/1.0/r/n/r/n -x HTTP -a 30 -I /sbin/ipvsadm -t 12 -w 1 -V 172.168.0.1 -M m -U none --lvs
shell>ipvsadm

ipvsadm -l
代码:
IP Virtual Server version 1.0.8 (size=65536)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
FWM  81 wlc
  -> 192.168.0.1:0              Masq    1      1          0
  -> 192.168.0.2:0              Masq    1      1          0
7测试

现在你可以去访问 http://172.168.0.1 来进行测试
当然你先要在两台real server 上配置并启动apache
在目录用不同内容的index.html 来做测试 刷新浏览器 你就可以看到结果了

8存储
如果同一个网站网页文件怎么做统一呢? 实现方法很多的我会继续写的
 
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐