常州五颜六色网络技术有限公司 -> 技术文档 -> freebsd 下双网卡冗余的解决方法 登录 -> 注册 -> 回复主题 -> 发表主题

deserts 2007-06-01 20:56
环境:两台中心交换机,开启vrrp双机热备模式,服务器 freebsd4.11,安装两块intel千兆网卡,分别接两台交换机的同一个vlan内的端口。
目的:一台交换机故障后,自动切换到备用交换机,服务器网卡随着切换到备用交换机,不中断网络。
实现方法,利用freebsd的ng_one2many 模块实现,具体方法如下:
__________________________________________________________
/sbin/kldload netgraph
/sbin/kldload ng_ether
/sbin/kldload ng_one2many
#/sbin/kldload ng_socket
/sbin/ifconfig em0 up
/sbin/ifconfig em1 up
/usr/sbin/ngctl mkpeer em0: one2many upper one
/usr/sbin/ngctl connect em0: em0:upper lower many0
/usr/sbin/ngctl connect em1: em0:upper lower many1
/usr/sbin/ngctl msg em1: setpromisc 1
/usr/sbin/ngctl msg em1: setautosrc 0
#failAlg=1 为负载均衡模式,不能实现容错; failAlg=2可以自动检测链路状态,自动切换
/usr/sbin/ngctl msg em0:upper setconfig "{ xmitAlg=1 failAlg=2 enabledLinks=[ 1 1] }"
/sbin/ifconfig em0 inet 10.140.202.13 netmask 0xffffff00
/sbin/route add default 10.140.202.1
__________________________________________________________
xmitAlg=1 两块网卡轮流发包,理论上可以增加输出带宽,实际上还是有些问题,在同一个网段不会有问题,经过路由器后会丢包,不知道什么原因
xmitAlg=2 两块网卡同时发同样的包,在数据传输上没有任何问题,但这样只会增加服务器和交换机的负担,达到的目的是两块网卡可以冗余。大流量的时候最好不用。
将/etc/rc.conf中的
defaultrouter=
ifconfig_em0=
等网卡设置注释掉,开机执行one2many.sh即可实现双网卡的冗余,正常情况下,两个网卡同时工作,负载均衡,当其中一个网卡链路不通时,自动转到另一个网卡工作。


查看完整版本: [-- freebsd 下双网卡冗余的解决方法 --] [-- top --]



Copyright © 2005-2014 5y6s Inc. 苏ICP备05001866号 Powered by PHPWind 5.0.1
Time 0.013797 second(s),query:3 Gzip enabled