设为首页 收藏本站
查看: 2627|回复: 6

[经验分享] bonding配置实例

[复制链接]
累计签到:10 天
连续签到:1 天
发表于 2012-6-11 17:27:48 | 显示全部楼层 |阅读模式
对于bonding的网络负载均衡是我们在文件服务器中常用到的,比如把三块网卡,当做一块来用,解决一个IP地址,流量过大,服务器网络压力 过大的问题。对于文件服务器来说,比如NFS或SAMBA文件服务器,没有任何一个管理员会把内部网的文件服务器的IP地址弄很多个来解决网络负载的问 题。如果在内网中,文件服务器为了管理和应用上的方便,大多是用同一个IP地址。对于一个百M的本地网络来说,文件服务器在多个用户同时使用的情况下,网 络压力是极大的,特别是SAMABA和NFS服务器。为了解决同一个IP地址,突破流量的限制,毕竟网线和网卡对数据的吞吐量是有限制的。如果在有限的资 源的情况下,实现网络负载均衡,最好的办法就是 bonding ;
另一种情况就是服务器的一个网卡失效或者网络连接意外断开,如果做了bonding就可以切换到另一个网卡的网络连接上.保证服务的不中断.
详细的资料可以参考:
http://www.linux-foundation.org/ ... onds_with_sysconfig

下面试验一下热备模式.
首先要看linux是否支持bonding,RHEL4已经默认支持了.(大部分发行版都支持)
# modinfo bonding

filename:        /lib/modules/2.6.18-8.el5/kernel/drivers/net/bonding/bonding.ko
author:           Thomas Davis, tadavis@lbl.gov and  many others
description:     Ethernet Channel Bonding Driver, v3.0.3
version:        3.0.3
license:          GPL
srcversion:     2547D22885C2FDF28EF7D98
如果有类似上面的信息输出,说明已经支持了.

如果没有,说明内核不支持bonding,需要重新编译内核
编译内核的步骤这里就不多写了,在make menuconfig里面
找到Bonding driver support这样的对话框,选中它.
如果是模块编译,还需要挂载模块.挂载bonding 模块的方法;[iyunv@localhost#] modprobe bonding
如果/sbin/ifenslave没有,我们还需要把它也单独编译出来
[iyunv@lin:/home/beinan#] cd  /usr/src/linux-2.6.20/Documentation/networking
[iyunv@lin:/home/networking#]   gcc -Wall -Wstrict-prototypes -O -I/usr/src/linux-2.6.20/include  ifenslave.c -o ifenslave
[iyunv@lin:/home/networking#] cp ifenslave /sbin/ifenslave


1.编辑虚拟网络接口配置文件,指定网卡IP
没有这个文件我们可以从以前的配置文件复制一个过来,减少输入的文字.  
#cd  /etc/sysconfig/network-scripts/
#cp ifcfg-eth0 ifcfg-bond0
#vi ifcfg-bond0  
将第一行改成 DEVICE=bond0  
# cat ifcfg-bond0
DEVICE=bond0   
BOOTPROTO=static
IPADDR=192.168.1.200
NETMASK=255.255.255.0
BROADCAST=192.168.1.255
ONBOOT=yes
TYPE=Ethernet
接下来修改以前的网卡的设置
[iyunv@rhas-13 network-scripts]# cat ifcfg-eth0  
DEVICE=eth0   
ONBOOT=yes
BOOTPROTO=none
[iyunv@rhas-13 network-scripts]# cat ifcfg-eth1   
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none  //网卡启动协议.这里我试验了static,dhcp,none发现没有什么区别
3 # vi /etc/moprobe.conf  (旧的版本可能是modules.conf)
编辑 /etc /moprobe.conf 文件,加入如下一行内容,以使系统在启动时加载bonding模块,对外虚拟网络接口设备为 bond0  

加 入下列行  
alias bond0 bonding  
options bond0 miimon=100 mode=1
alias net-pf-10 off  //这行是关闭ipv6支持,也可以不要)
说明:miimon是用来进行链路监测的。 比如:miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转 入另一条线路;mode的值表示工作模式,他共有0,1,2,3四种模式,常用的为0,1两种。
mode=0表示 load balancing (round-robin)为负载均衡方式,两块网卡都工作。
mode=1表示fault- tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份.   
bonding只能提供链路监测,即从主机到交换机的链路是否接通。如果只是交换机对外的链路down掉了,而交换机本身并没有故障,那么 bonding会认为链路没有问题而继续使用
4 # vi /etc/rc.d/rc.local  
加入  
ifenslave bond0 eth0 eth1
重启后我们用ifconfig查看网卡信息,可以看到多出一个bond0网卡.
bond0     Link encap:Ethernet  HWaddr 00:0C:29:C2:B3:44  
inet  addr:192.168.1.200  Bcast:192.168.1.255  Mask:255.255.255.0
UP BROADCAST RUNNING MASTER MULTICAST   MTU:1500  Metric:1
RX packets:48 errors:0 dropped:0  overruns:0 frame:0
TX packets:38 errors:0 dropped:0  overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:8817 (8.6 KiB)  TX bytes:4807 (4.6 KiB)
eth0      Link encap:Ethernet  HWaddr  00:0C:29:C2:B3:44  
UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
RX packets:44 errors:0 dropped:0 overruns:0 frame:0
TX  packets:46 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:8196 (8.0 KiB)  TX  bytes:6007 (5.8 KiB)
Interrupt:169 Base address:0x2000
eth1      Link encap:Ethernet  HWaddr  00:0C:29:C2:B3:44  
UP BROADCAST RUNNING SLAVE  MULTICAST  MTU:1500  Metric:1
RX packets:8 errors:0  dropped:0 overruns:0 frame:0
TX packets:0 errors:0  dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000  
RX bytes:861 (861.0 b)  TX bytes:0 (0.0 b)
Interrupt:193 Base address:0x2080
lo        Link encap:Local Loopback  
inet  addr:127.0.0.1  Mask:255.0.0.0
UP LOOPBACK RUNNING   MTU:16436  Metric:1
RX packets:12 errors:0 dropped:0  overruns:0 frame:0
TX packets:12 errors:0 dropped:0  overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:960 (960.0 b)  TX bytes:960 (960.0 b)
那也就是说在主备模式下,当一个网络接口失效时(例如主交换机掉电等),不回出现网络中断,系统会按照cat /etc/rc.d /rc.local里指定网卡的顺序工作,机器仍能对外服务,起到了失效保护的功能.
可以查看到bond0的工作状态
[iyunv@localhost ~]# cat /proc/net/bonding/bond0
Ethernet   Channel Bonding Driver: v3.0.3 (March 23, 2006)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave:  None
Currently Active Slave: eth0
MII Status: up
MII Polling  Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent   HW addr: 00:0c:29:c2:b3:44
Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent   HW addr: 00:0c:29:c2:b3:4e
以上是一种实现方法.公司的数据库服务器上采用了另一种配置方法

主要区别在网卡的配置文件上:
vi ifcfg-eth0
DEVICE=eth0
#USERCTL=no
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes

ifcfg-eth1中也加入红色的两行,

/etc/rc.local中的ifenslave bond0 eth0 eth1  可以省略掉.
在虚拟机中试验一下效果.

从另一台机器ping我们刚才设置的IP地址,然后在虚拟机vmware下面,点其中的一个网卡
选中disconnect(断开)
可以看到ping只是出现了两个time out后就又恢复了正常.说明我们的配置起作用了.
需要说明的是如果想做成负载均衡,仅仅设置这里options bond0 miimon=100 mode=0是不够的,还需要设置交换 机的 端口.

从原理分析一下(bond运行在mode 0下):
mode  0下bond所绑定的网卡的IP都被修改成一样的mac地址,如果这些网卡都被接在同一个交换机,那么交换机的arp表里这个mac地址对应的端口就有多 个,那么交换机接受到发往这个mac地址的包应该往哪个端口转发呢?正常情况下mac地址是全球唯一的,一个mac地址对应多个端口肯定使交换机迷惑了。
所 以mode0下的bond如果连接到交换机,交换机这几个端口应该采取聚合方式(cisco称为ethernetchannel,foundry称为 portgroup),因为交换机做了聚合后,聚合下的几个端口也被捆绑成一个mac地址



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-167-1-1.html 上篇帖子: linux sed用法详解 下篇帖子: 用arp-scan扫描局域网IP地址 服务器 网络连接 IP地址 管理员

尚未签到

发表于 2013-3-13 21:43:22 | 显示全部楼层
有竞争才有进步嘛

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-17 02:33:26 | 显示全部楼层
路过,学习下

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-27 04:10:24 | 显示全部楼层
我妈常说,我们家要是没有电话就不会这么穷。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-6-12 23:33:37 | 显示全部楼层
怀揣两块,胸怀500万!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-6-22 01:54:14 | 显示全部楼层
真是 收益 匪浅

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-6-29 23:54:01 | 显示全部楼层
爱她,就请为她做无痛人流手术!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表