Linux中的Bonding技术

将多块网卡虚拟成为一块网卡,使其具有相同的ip地址,来实现提升主机的网络吞吐量或者是提高可用性等作用,这种技术被称作Bonding

Linux下支持七种模式的网卡绑定,这里列出常用的两种:

  • 模式0:平衡轮训  使用这种模式来进行多网卡绑定时我们可以提高网络的带宽,其流量是从绑定的多块网卡上平均分配的
  • 模式1:主动备份  使用这种模式来进行多网卡绑定时我们可以提高网络的稳定性,这种模式不会提高网络的带宽,每次只有一块网卡在走流量,只有当这块网卡发生故障时,绑定在一起的其它物理网卡才会工作
我们如果想通过多网卡绑定来提升网络的带宽,就选择模式0,如果想提高网络的稳定性,则选择模式1

网卡绑定以后我们需要给我们的逻辑网卡取一个名字,通常格式为 bondn,n代表的是编号,如 /dev/bond0, /dev/bond1

然后我们需要在 /etc/sysconfig/network-scripts 这个目录下创建该逻辑网卡的配置文件,如/etc/sysconfig/network-scripts/ifc-bond0:

[root@xiaoluo network-scripts]# vi ifcfg-bond0

DEVICE=bond0  //  设备名字
IPADDR=172.25.215.200  //  网卡ip地址
PREFIX=24  //  子网掩码24位
ONBOOT=yes  //  开机启动yes
BOOTPROTO=none  //  启动协议,因为我们是手动配置IP,所以设置成none,如果是通过DHCP动态分配,则设置成dhcp
USERCTL=no  //  关闭掉用户控制
BONDING_OPTS="mode=1 miimon=5"  //  这个是bond网卡最主要的配置,我们的bond网卡其实是根据一个叫做bonding的驱动来配置的,后面跟配置参数,这里我们使用的是模式1(主动备份)
因为要使用多网卡绑定,所以需要再添加一块网卡,这里添加一块网卡eth1,使用ifconfig查看一下:
[root@xiaoluo network-scripts]# ifconfig
bond0     Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
          inet addr:172.25.215.200  Bcast:172.25.215.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

eth0      Link encap:Ethernet  HWaddr 08:00:27:D7:F8:84  
          inet6 addr: fe80::a00:27ff:fed7:f884/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1285 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:221706 (216.5 KiB)  TX bytes:468 (468.0 b)

eth1      Link encap:Ethernet  HWaddr 08:00:27:F4:7D:CC  
          inet6 addr: fe80::a00:27ff:fef4:7dcc/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1196 errors:0 dropped:0 overruns:0 frame:0
          TX packets:95 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:216126 (211.0 KiB)  TX bytes:4806 (4.6 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:73 errors:0 dropped:0 overruns:0 frame:0
          TX packets:73 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:6330 (6.1 KiB)  TX bytes:6330 (6.1 KiB)
此时我们计算机里面就有两块网卡了,因为我们需要将这两块网卡绑定到bond0这个逻辑网卡中,所以我们要在两块网卡的配置文件里面添加两条语句:

MASTER=bond0  // 将这两块网卡绑定到bond0这块逻辑网卡上
SLAVE=yes  //  SLAVE=yes表示这两块网卡附属于bond0这块网卡
注意这两块网卡不需要配置IP地址了:
[root@xiaoluo network-scripts]# vi ifcfg-eth0

DEVICE=eth0
HWADDR=08:00:27:D7:F8:84
TYPE=Ethernet
UUID=2877e96e-6ddd-443b-a337-bafa7c77c6e5
ONBOOT=no
NM_CONTROLLED=yes
BOOTPROTO=none
IPV6INIT=no
USERCTL=no
MASTER=bond0
SLAVE=yes

[root@xiaoluo network-scripts]# vi ifcfg-eth1

DEVICE=eth1
BOOTPROTO=none
TYPE=Ethernet
PEERDNS=yes
IPV6INIT=no
ONBOOT=no
USERCTL=no
HWADDR=08:00:27:f4:7d:cc
MASTER=bond0
SLAVE=yes
bond0这块网卡其实是通过一个叫做 bonding 的驱动来配置的,所以我们还需要为bond0这块网卡添加驱动支持,将这个驱动添加到 /etc/modprobe.d/ 这个目录下
[root@xiaoluo network-scripts]# cd /etc/modprobe.d/

[root@xiaoluo modprobe.d]# ls
anaconda.conf   blacklist-visor.conf  dist.conf      openfwwf.conf
blacklist.conf  dist-alsa.conf        dist-oss.conf
这个文件夹下放的都是我们系统所需驱动的配置文件,我们这时需要给我们的bonding添加一个名字为 bonding.conf 的配置文件
[root@xiaoluo modprobe.d]# vi bonding.conf

alias bond0 bonding
此时配置好以后,我们就可以通过 ifup bond0 来启动我们的bond0网卡

[root@xiaoluo network-scripts]# ifup bond0

Active connection state: activated
Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/2
此时我们可以通过ifconfig命令来查看一下当前网卡信息:

[root@xiaoluo network-scripts]# ifconfig

bond0     Link encap:Ethernet  HWaddr 08:00:27:D7:F8:84  
          inet addr:172.25.215.200  Bcast:172.25.215.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fed7:f884/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:8175 errors:0 dropped:0 overruns:0 frame:0
          TX packets:117 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1417884 (1.3 MiB)  TX bytes:6230 (6.0 KiB)

eth0      Link encap:Ethernet  HWaddr 08:00:27:D7:F8:84  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:4131 errors:0 dropped:0 overruns:0 frame:0
          TX packets:22 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:711693 (695.0 KiB)  TX bytes:1424 (1.3 KiB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:D7:F8:84  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:4044 errors:0 dropped:0 overruns:0 frame:0
          TX packets:95 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:706191 (689.6 KiB)  TX bytes:4806 (4.6 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:81 errors:0 dropped:0 overruns:0 frame:0
          TX packets:81 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:7226 (7.0 KiB)  TX bytes:7226 (7.0 KiB)



参考文献:

[1]. http://www.cnblogs.com/xiaoluo501395377/archive/2013/05/26/3100065.html





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值