Linux系统下多网卡绑定操作方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统下多网卡绑定操作方法相关的知识,希望对你有一定的参考价值。

参考技术A   在Linux系统中,通常会将多个网卡绑定为一个逻辑网卡,这样可以提高网络的稳定性,那么要如何将多个网络绑定为一个呢?下面小编就给大家介绍下Linux下多网卡绑定的bond模式原理。
  将多个Linux网络端口绑定为一个,可以提升网络的性能,比如对于备份服务器,需要在一个晚上备份几个T的数据,如果使用单个的千兆网口将会是很严
重的瓶颈。其它的应用,比如ftp服务器,高负载的下载网站,
都有类似的问题。因此使用Linux
teaming或bond来绑定多个网卡作为一个逻辑网口,配置单个的IP地址,会大幅提升服务器的网络吞吐(I/O)。
  Linux的多网卡绑定功能使用的是内核中的“bonding”模块,关于此模块可以参考Linux
Ethernet
Bonding
Driver文档,
但是目前发布各个Linux版本内核均已包含了此模块,大多数情况下不需要重新编译内核。
Linux

bonding
驱动提供了绑定/集成(bond)多个网卡为一个虚拟逻辑网口的功能。并请注意绑定的网口(bonded)有多种工作模式;
一般来说,分为
热后备(hot
standby)

负载均衡(load
balancing)。
在Redhat/Fedora和其它类Redhat
Linux中是比较容易配置的。
  1.创建bond0配置文件
  vi
/etc/sysconfig/network-scripts/ifcfg-bond0
  DEVICE=bond0
--物理设备名字
  IPADDR=192.168.1.2
--IP地址
  NETMASK=255.255.255.0
--子网掩码
  GATEWAY=192.168.1.1
--网关
  DNS=8.8.8.8
--DNS
  ONBOOT=yes
--随机启动
  NAME=bond0
  BOOTPROTO=none
  USERCTL=no
--是否允许非root用户控制该设备
  2.修改被绑定的eth0和eth1的配置文件
  vi
/etc/sysconfig/network-scripts/ifcfg-eth0
  DEVICE=“eth0”
  USERCTL=no
  ONBOOT=yes
  MASTER=bond0
  SLAVE=yes
  BOOTPROTO=none
  HWADDR=00:15:17:CC:FC:35
  eth1的配置文件与之相同,只是device的值改为eth1即可。
  3.装在bond模块驱动
  编辑/etc/modprobe.conf或者/etc/modules.conf文件,加入如下内容,使系统启动时加载bonding模块驱动
  alias
bond0
bonding
  option
bond0
miimon=100
mode=1
  说明:
  1).miimon=100
用来进行链路监测的。即每100ms监测一次链路状态。bonding只监测主机与交换机之间链路。如果交换机出去的链路出问题而本身没有问题,那么bonding认为链路没有问题而继续使用。
  2).mode=1
表示提供冗余功能。除此之外还可以为0、2、3,共四种模式。0表示负载均衡
  4.在/etc/rc.d/rc.local文件中加入如下语句,使得系统启动自动运行
  ifenslave
bond0
eth0
eth1
  route
add
-net
192.168.1.254
netmask
255.255.255.0
bond0
#如有需要才加该路由
  5.检测、验证配置
  首先执行命令装载bonding模块:modprobe
bonding
  重启网络服务,并确认bond0正确启动:service
network
restart
  确认设备已经正确加载:less
/proc/net/bonding/bond0
  列出所有网口:ifconfig

  上面就是Linux下多网卡绑定bond模式原理的介绍了,bond模式原来一般有7种,这里只介绍了其中的一种,希望对你有所帮助。

Linux下多网卡bonding

一、什么是Bonding

    Bonding,就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP地址是不可能的。通过Bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。


二、Bonding的几种工作模式

Mode 0 (balance-rr)
轮转(Round-robin)策略:从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力    
Mode 1 (active-backup)
活动-备份(主备)策略:在绑定中,只有一个slave被激活。当且仅当活动的slave接口失败时才会激活其他slave。为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见
Mode 3 (broadcast)
广播策略:在所有的slave接口上传送所有的报文。本模式提供容错能力。


三、Bonding中的Mode1配置演示

1、首先在虚拟机上添加一块网卡

技术分享

[[email protected] ~]# ifconfig  -a        //ifconfig -a 查看所有的网卡设备
eth0      Link encap:Ethernet  HWaddr 00:0C:29:9C:63:16  
          inet addr:10.1.252.122  Bcast:10.1.255.255  Mask:255.255.0.0
          inet6 addr: fe80::20c:29ff:fe9c:6316/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:111504 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1487 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:8815045 (8.4 MiB)  TX bytes:176077 (171.9 KiB)

eth1      Link encap:Ethernet  HWaddr 00:0C:29:9C:63:20      添加成功!
          BROADCAST 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:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

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:65536  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)

二、创建bonding设备的配置文件

[[email protected] ~]# vi /etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0
IPADDR=10.1.0.222
NETMASK=255.255.0.0
GATEWAY=10.1.0.1
DNS1=114.114.114.114
BONDING_OPTS="miimon=100 mode=1"

三、创建网卡的配置文件

[[email protected] ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth*
DEVICE="eth0"
SLAVE=yes
MASTER=bond0

DEVICE="eth1"
SLAVE=yes
MASTER=bond0

[[email protected] ~]#

四、重新启动网卡的配置文件并测试

技术分享

技术分享

    ping10.1.0.222这个主机

技术分享

    然后断开eth0这个网卡

技术分享

    查看此时的信息

技术分享

技术分享

   再把eth1也断开,然后ping主机

技术分享

技术分享

技术分享   

    因为两块网卡都断开了,所以没有人提供服务了,让我们再次把eth0连上,然后再次ping主机

技术分享

技术分享

技术分享

    实验成功!!谢谢浏览!!



本文出自 “学無止境” 博客,请务必保留此出处http://dashui.blog.51cto.com/11254923/1846417

以上是关于Linux系统下多网卡绑定操作方法的主要内容,如果未能解决你的问题,请参考以下文章

Linux下多网卡绑定bond0及模式

Linux下多网卡绑定(bond)

centos 7 下多网卡绑定

惊雷Linux下多网卡冗余的实现

Linux下多网卡bonding

[01] Debian 10 配置多网卡绑定及VLAN接口