@kang 发表于 2006-11-30 08:42

原帖由 gxl-cn 于 2006-11-29 23:39 发表
如何实现多机(两个以上) 负载均衡 的dns??
多機的原理也是一樣,如下:

CARP 部分
srv01
srv01# sysctl net.inet.carp.preempt=1
srv01# ifconfig carp0 create
srv01# ifconfig carp0 vhid 1 pass password 192.168.2.144/24 up
SRV02
srv02# sysctl net.inet.carp.preempt=1
srv02# ifconfig carp0 create
srv02# ifconfig carp0 vhid 1 advskew 100 pass yourpassword 192.168.2.144/24 up
SRV03
srv03# sysctl net.inet.carp.preempt=1
srv03# ifconfig carp0 create
srv03# ifconfig carp0 vhid 1 advskew 100 pass yourpassword 192.168.2.144/24 up
。。。。。。更多的主機設置類推。



IPVS 部分

srv01# kldload /boot/modules/ipvs.ko
srv01# kldload /boot/modules/rr/ip_vs_rr.ko
srv01# ipvsadm –A –t 192.168.2.144:53 -s rr
srv01# ipvsadm -a -t 192.168.2.144:53 -r 192.168.2.133:53 -g
srv01# ipvsadm -a -t 192.168.2.144:53 -r 192.168.1.130:53 –g
srv01# ipvsadm -a -t 192.168.2.144:53 -r 192.168.1.134:53 –g            //srv03 ip: 192.168.2.134
在每台主機上同樣設置以上的IPVS部分。
這樣就能實現負載均衡。
我只試過3台機,而且都在同一網段。通過路由器的情況還沒試過,CARP好像是不支持路由冗余的。

xuzhendong 发表于 2006-11-30 09:38

长见识了。顶下搂主!

@kang 发表于 2006-11-30 12:43

congli,今天發現一個問題,當我將master重啟後(此時backup機正常運作),sysctl -a |grep carp 顯示如下(原master):
net.inet.ip.same_prefix_carp_only: 0
net.inet.carp.allow: 1
net.inet.carp.preempt: 1
net.inet.carp.log: 1
net.inet.carp.arpbalance: 0
net.inet.carp.suppress_preempt: 1

原master的 "net.inet.carp.suppress_preempt "值自動變為1,而且此時的角色為backup,原backup機提升為master。如果在原master機上執行ifconfig命令後,"net.inet.carp.suppress_preempt" 值變為0,而此時角色也從backup轉為master。
請問"net.inet.carp.suppress_preempt"這個控制角色搶占的參數是否由ifconfig命令激活呢?

bhuang 发表于 2006-11-30 12:53

可惜没带资源监测,万一httpd死掉,热备和负载均衡也就没意义了。

congli 发表于 2006-11-30 12:57

按照现在的设置,两台机器只能算是热备,至于负载均衡看看下面的链接
http://www.unix-tutorials.com/go.php?id=280

cnhtml 发表于 2006-11-30 17:21

楼主请教一下
我们公司的应用是工业级的,而且有一部分时实数据运算在内存中,。如果按此进行热备,内存中的运算数据怎么处理?

请教了。

dragonbbc 发表于 2006-12-01 10:04

mark一下,有空了学习

@kang 发表于 2006-12-01 13:24

在/var/log/messages中发现一个:arp_rtrequest: bad gateway 192.168.2.144 (!AF_LINK)
查了很久没有找到问题的原因。不过该错误并没有造成其它问题,不影响系统。有没有哪位对该问题有解吗?

@kang 发表于 2006-12-01 13:30

如果要在系统启动时自动设置CARP参数,可以将相关参数写入/etc/rc.conf:
srv01: Master (/etc/rc.conf)
cloned_interfaces="carp0"
ifconfig_carp0="vhid 1 pass password 192.168.2.144/24"

srv02:Backup (/etc/rc.conf)
cloned_interfaces="carp0"
ifconfig_carp0="vhid 1 pass password advskew 100 192.168.2.144/24"

开机时将自动添加carp0。

alabos 发表于 2006-12-06 17:48

双机互备份,那么数据资料如何同步? 这个才是关键!
页: 1 2 3 [4] 5 6 7 8 9 10 11
查看完整版本: FreeBSD6.x(7.x) +CARP+IPVS双机热备份负载均衡Ver1.0