免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2124 | 回复: 2
打印 上一主题 下一主题

求助集群高手 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-05-19 16:49 |只看该作者 |倒序浏览
我是安下面的文档资料做的双机系统.为什么老是不成功?
做到最后只出现:
IP Virtual Server version 1.0.8 (size=65536)
Prot LocalAddressort Scheduler Flags
  -> RemoteAddressort           Forward Weight ActiveConn InActConn
FWM  81 wlc
  -> 192.168.0.1:0              Masq    1       0         0
  -> 192.168.0.2:0              Masq    1       0        0

而没有文档中所说的ActiveConn 为  1

如果你没有那么多的机器来做 集群测试或研究的话,可以用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
|
|_________
|??????|
real???real
server?server

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 LocalAddressort Scheduler Flags
  -> RemoteAddressort           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

论坛徽章:
0
2 [报告]
发表于 2006-05-19 17:02 |只看该作者

是正版的吗

另外你得设置虚拟ip,

论坛徽章:
0
3 [报告]
发表于 2006-05-22 09:24 |只看该作者
对下面IP的说明:
 192.168.0.35是LVS服务器的IP
 192.168.1.95是VIP,也就是你通过IE访问web时用的IP,因为我们通过fw作Nat后到内网服务器的
 192.168.1.93、192.168.1.91是真实Web服务器的IP


lvs.cf配置文件: 

  1. primary = 192.168.0.35
  2. service = lvs
  3. rsh_command = rsh
  4. #backup_active = 0
  5. #backup = 192.168.1.190
  6. #heartbeat = 1
  7. #heartbeat_port = 539
  8. #keepalive = 4
  9. #deadtime = 12
  10. network = direct
  11. #nat_router = 192.168.0.35 eth0
  12. #nat_nmask = 255.255.255.255
  13. #reservation_conflict_action = preempt
  14. debug_level = NONE
  15. virtual web {
  16.      active = 1
  17.      address = 192.168.1.95 eth0:0
  18.      vip_nmask = 255.255.254.0
  19.      port = 80
  20.      #persistent = 600
  21.      send = "GET / HTTP/1.0\r\n\r\n"
  22.      expect = "HTTP"
  23.      load_monitor = none
  24.      scheduler = rr
  25.      protocol = tcp
  26.      timeout = 6
  27.      reentry = 3
  28.      quiesce_server = 0
  29.      server webserver1 {
  30.          address = 192.168.1.93
  31.          active = 1
  32.          weight = 100
  33.      }
  34.      server webserver2 {
  35.          address = 192.168.1.91
  36.          active = 1
  37.          weight = 100
  38.      }
  39. }
复制代码




在每台真实服务器上需要作以下的配置:
/etc/rc.local

  1. ifconfig lo:0 192.168.1.95 broadcast 192.168.1.95 netmask 255.255.255.255 up
  2. route add -host 192.168.1.95 dev lo:0
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP