FreeBSD6.1 +CARP+IPVS双机热备份负载均衡技术

cu 2006年12月26日 09:59 查看7542次 作者: @kang  【
文章分类:unix系统

FreeBSD6.1 +CARP+IPVS双机热备份负载均衡


经过一个星期的找资料….测试….找资料….再测试……,终于测试成功Freebsd6.1+IPVS+CARP,实现双机热备份和负载均衡功能。其中:
IPVS: 实现负载均衡功能
CARP: 实现双机热备份

一 系统环境

FreeBSD 6.1 Release 最小化安装(完全安装也可以) + Kernel Source (ALL)

SRV01 192.168.2.133 255.255.255.0 (双机热备 主)
SRV02 192.168.2.130 255.255.255.0 (双机热备 辅)
Share IP 192.168.2.144 255.255.255.0 (主辅机器共享)

二 安装过程

a.在核心配置文件中添加对CARP的支持和options NF_SOCKOPT(ipvs需要) 选项
Srv01# cd /usr/src/sys/i386/conf/
Srv01# cp GENERIC LVS
Srv01# vi LVS
添加以下选项:
options                NF_SOCKOPT
device                 carp

 

b. Freebsd6.1 的uipc_socket.c中没有#include "opt_nfsockopt.h" ,需手动添加否则编译将出错。
vi /usr/src/sys/kern/uipc_socket.c
找到#include "opt_compat.h"这一行,在下面加上 #include "opt_nfsockopt.h"

c. 打ipvs for freebsd6.1补丁(patch)。
Srv01# cd /usr/ports/net/ipvs
Srv01# make patch-system         #具体说明可以查看当前目录下的Makefile

d. 编译核心
Srv01# cd /usr/src/sys/i386/conf
Srv01# config LVS
Srv01# cd ../compile/LVS
Srv01# make depend
Srv01# make
Srv01# make install
Srv01# reboot

以上操作在srv02上同样做一遍

 

 

三 具体配置

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     #password随便输入,但srv01和srv02必需一致。
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

 

IPVS 部分

srv01# kldload /boot/modules/ipvs.ko
srv01# kldload /boot/modules/rr/ip_vs_rr.ko
srv01# ipvsadm

责任编辑:easy

给文章打分...

平均分:0.6(37 次)

-5 -4 -3 -2 -1 0 1 2 3 4 5
10

顶一下

发表我的见解...

  • 您的大名: 留空为匿名
  • 您的主页:
  • 您的邮箱: