Leave a comment (0) 作者:小项-怪物猪


要让机器使用carp有两种方法实现:
	1、加入内核
		cd /usr/src/sys/i386/conf	#进入内核目录
		cp GENERIC NEWKERNEL	#复制一个新文件
		vi NEWKERNEL	#编辑我们复制的新内核文件
	    在里面加入
		device          carp
	    开始编译{以前都用这种}
		config NEWKERNEL
		cd ../compile/NEWKERNEL
		make cleandepend && make depend
		make
		make install
	    或者是{现在好像都用这种}
		cd /usr/src
		make buildkernel KERNXONF=NEWKERNEL
		make installkernel KERNCONF=NEWKERNEL


各机配置:
Server1 机:
	IP: 192.168.0.204
    vi /etc/rc.conf
    加入
    cloned_ifterfaces="carp1"
    #ifconfig_carp1="vhid 1 pass 123123 192.168.0.218/24"
    ifconfig_carp1="vhid 1 pass 123123 192.168.0.204/24"

Server2 机:
	IP: 192.168.0.226
    vi /etc/rc.conf
    加入
    cloned_ifterfaces="carp2"
    #ifconfig_carp2="vhid 2 pass 123123 192.168.0.234/24"
    ifconfig_carp2="vhid 2 pass 123123 192.168.0.226/24"

Backup 机:
	IP: 192.168.0.223
    vi /etc/rc.conf
    加入
    cloned_ifterfaces="carp1 carp2"
    ifconfig_carp1="vhid 1 pass 123123 192.168.0.204/24"
    ifconfig_carp2="vhid 2 pass 123123 192.168.0.226/24"
    #ifconfig_carp1="vhid 1 pass 123123 192.168.0.218/24"
    #ifconfig_carp2="vhid 2 pass 123123 192.168.0.234/24"

    经过测试发现,如果carp的ip设定跟本机ip不同的时候会出来Server1机断开后通过204不能访问到Backup机;但是通过218的就可以访问。
    虚拟机里面测试为了区分个web的访问都加了不同的端口, 在Backup机的httpd.conf 里面必须加上两个Server机的访问端口{为这个问题折腾了一宿}。
 
            

/etc/sysctl.conf	加入

net.inet.carp.preempt=1		# 当主机中有一个 CARP 网络接口失去响应时, 这个选项将停止这台主机上所有的 CARP 接口。 默认禁用
net.inet.carp.arpbalance=1	# 使用 ARP 均衡本地网络流量。 默认禁用。
net.inet.carp.log=2		# 当值为 0 表示禁止记录所有日志。 值为 1 表示记录损坏的 CARP 包。任何大于 1 表示记录 CARP 网络接口的状态变化。默认值为 1。

打劫!!留下你的评论 »

表情 emoticons

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen:
  • 关闭

[ 搜狗云输入法 ]