Freebsd 主机集群 主机热备+负载均衡

2009-05-13 09:06:46来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

前些天子没有什么事干,就向这个话题“炮开”了,我全过程是用Vmware+FreeBSD6.2做测试,把自已的电脑当成了实验室。

有些人说Vmware不支持这个“实验”但实验表明是可以的,网上有好多这类型的文章,但大多数是不全或不齐,让我走了不少的弯路。其实这个主题有两个内容的一个是主机冗余(就是热机备用),还有一个就是负载均衡(向热备的主机发送工作指令)。

如果有其中一台(非Master主机)机断了线“能用ifconfig命令查看”。“主机冗余”单元通过carp协议通知“负载均衡”单元,不要发送工作指令去那。如果断线的是Master主机“负载均衡”单元就完蛋了,冗余主机会接替Master,接着重建“负载均衡”单元(我写的教程要约一分钟才能重建“负载均衡”单元,因为是使用cron)。如果原来的Master主机在次连接上和现有的Master主机发生冲突,Carp协议就会在俩者间选择一台主机为Master主机。如果是现有的Master主机胜出,原来的Master主机就要关闭“负载均衡”单元,不然就会做成数据风暴。(我查阅了一些莫博士的资料后加上经过多次实验后得出的,这就是有些人说Vmware不支持这个“实验”原因。) 别:在这“结构”上我不建议大伙们集群机超过4台。

话不多说现在开始了,我在主机上装了apache2+php+postgresql(远程)



首先是安装FreeBSD,看其它的文档。

第二步应该是make kernel,热机备用和负载均衡分别需要修改内核

热机备用自已看官方手册
carp


负载均衡如下:
安装cvsup,ipvs只支持i386 如果你是用amd64就装不上。
#cd /usr/ports/net/ipvs/

#make
一定会出错,这是正常的。不出错才不正常。因为没有改内核。
#cp /usr/ports/distfiles/ipvs-0.4.0_2.tar.gz /tmp/
去到tmp目录
#tar -vzxf ipvs-0.4.0_2.tar.gz

#cp /tmp/ipvs-0.4.0_2/patch/OS-RELEASE/"加入你的版本" /usr/src
向内核加入源码。
#cd /usr/src
#patch -p0
#patch -p0
#patch -p0
#patch -p0
“因为6.2的uipc_socket.c与6.0的uipc_socket.c文件不一样,所以补丁没全部打上,我们要手动修改uipc_socket.c.patch“
#ee sys/kern/uipc_socket.c
找到#include "opt_compat.h"这一行,在下面加上#include "opt_nfsockopt.h"
“另外,6.0的目录下没有sys_i386_conf_GENERIC.patch文件,所以要在内核文件加上选行
options NF_SOCKOPT
#nf_sockopt
API这一项.或者直接使用5.3-RELEASE下的sys_i386_conf_GENERIC.patch文件.不过我用另一个文件名,所以我手动修改这个内核文件.
下面就可以重新编译内核了.”

现在就去编译内核。话我不多
cd /usr/src/sys/i386/conf, config MYKERNEL, cd ../compile/MYKERNEL,  make depend, make, make install,reboot

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Mplayer Install

下一篇:教儿子用FreeBSD