linux bonding 原理,linux bonding原理

一、什么是bondingLinux bonding 驱动提供了一个把多个网络接口设备捆绑为单个的网络接口设置来使用,用于网络负载均衡及网络冗余

二、bonding应用方向

1、网络负载均衡

对于bonding的网络负载均衡是我们在文件服务器中常用到的,比如把三块网卡,当做一块来用,解决一个IP地址,流量过大,服务器网络压力过大的问题。对于文件服务器来说,比如NFS或SAMBA文件服务器,没有任何一个管理员会把内部网的文件服务器的IP地址弄很多个来解决网络负载的问题。如果在内网中,文件服务器为了管理和应用上的方便,大多是用同一个IP地址。对于一个百M的本地网络来说,文件服务器在多 个用户同时使用的情况下,网络压力是极大的,特别是SAMABA和NFS服务器。为了解决同一个IP地址,突破流量的限制,毕竟网线和网卡对数据的吞吐量是有限制的。如果在有限的资源的情况下,实现网络负载均衡,最好的办法就是 bonding

2、网络冗余

对于服务器来说,网络设备的稳定也是比较重要的,特别是网卡。在生产型的系统中,网卡的可靠性就更为重要了。在生产型的系统中,大多通过硬件设备的冗余来提供服务器的可靠性和安全性,比如电源。bonding 也能为网卡提供冗余的支持。把多块网卡绑定到一个IP地址,当一块网卡发生物理性损坏的情况下,另一块网卡自动启用,并提供正常的服务,即:默认情况下只有一块网卡工作,其它网卡做备份

三、bonding实验环境及配置

1、实验环境系统为:CentOS,使用4块网卡(eth0、eth1  ==>  bond0;eth2、eth3 ==> bond1)来实现bonding技术

2、bonding配置

第一步:先查看一下内核是否已经支持bonding

1)如果内核已经把bonding编译进内核,那么要做的就是加载该模块到当前内核;其次查看ifenslave该工具是否也已经编译

modprobe  -l   bond*或者 modinfo   bonding

modprobe   bonding

lsmod | grep 'bonding'

echo  'modprobe bonding &> /dev/null'  >>  /etc/rc.local(开机自动加载bonding模块到内核)

which  ifenslave

注意:默认内核安装完后就已经支持bonding模块了,无需要自己手动编译

2)如果bonding还没有编译进内核,那么要做的就是编译该模块到内核

(1)编译bonding

tar -jxvf  kernel-XXX.tar.gz

cd  kernel-XXX

make  menuconfig

选择 " Network device support "  ->  " Bonding driver support "

make bzImage

make modules  &&  make modules_install

make install

(2)编译ifenslave工具

gcc -Wall -O -I   kernel-XXX/include ifenslave.c -o ifenslave

第二步:主要有两种可选择(第1种:实现网络负载均衡,第2种:实现网络冗余)

例1:实现网络冗余(即:mod=1方式,使用eth0与eth1)

(1)编辑虚拟网络接口配置文件(bond0),并指定网卡IP

vi   /etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.0.254

BROADCAST=192.168.0.255

NETMASK=255.255.255.0

NETWORK=192.168.0.0

GATEWAY=192.168.0.1

USERCTL=no

TYPE=Ethernet

注意:建议不要指定MAC地址vi   /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=none

ONBOOT=yes

USERCTL=no

MASTER=bond0

SLAVE=yes注意:建议不要指定MAC地址

vi   /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

BOOTPROTO=none

ONBOOT=yesUSERCTL=no

MASTER=bond0

SLAVE=yes

注意:建议不要指定MAC地址

(2)编辑模块载入配置文件(/etc/modprobe.conf),开机自动加载bonding模块到内核

vi   /etc/modprobe.conf

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值