centos7 bonding双网卡绑定

本文介绍了如何在CentOS7中设置bonding以实现双网卡绑定,包括7种bonding模式的特性以及配置步骤。通过配置 ens33 和 ens34 两张网卡,采用mode=4(IEEE 802.3ad动态链接聚合)进行绑定,实现了带宽增加和容错能力。配置包括修改网卡配置文件,创建虚拟网卡配置,以及启动和检查bonding状态。文章最后还提到了如何删除bonding的配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

bond7种模式

1.第一种模式:mod=0 ,即:(balance-rr)Round-robin policy(平衡抡循环策略)

特点

所有链路处于附在均衡模式

增加了带宽,具有容错能力,当某一台服务器的两张网卡设置为轮询模式此时服务器发出的数据包就会在两个网卡上进行轮询

2.第二种模式:mod=1,即: (active-backup)Active-backup policy(主-备份策略)

特点

一个网卡处于活动状态,另一个处于备份状态,所以流量都在主链路上处理,活动网卡down 掉 启用备份网卡

3.第三种模式:mod=2,即:(balance-xor)XOR policy(平衡策略)

特点

基于指定的传输HASH策略传输数据包。(源MAC地址 XOR 目标MAC地址)% slave数量。其他的传输策略可以通过xmit_hash_policy选项指定,此模式提供负载平衡和容错能力

4.第四种模式:mod=3,即:broadcast(广播策略)

特点

例如2个网卡发送数据网卡A 网卡B会同时进行发送独立的一个数据包,总计就是2个同样的数据包

5.mod=4,即:(802.3ad)IEEE 802.3ad Dynamic link aggregation(IEEE802.3ad 动态链接聚合)

6.第六种模式:mod=5,即:(balance-tlb)Adaptive transmit load balancing(适配器传输负载均衡)

特点

不需要配置交换机,在美俄slave上根据当前负载分配外出流量,没有容错能力

7.第七种模式:mod=6,即:(balance-alb)Adaptive load balancing(适配器适应性负载均衡)

特点

该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡(receiveload balance, rlb),而且不需要任何switch(交换机)的支持。接收负载均衡是通过ARP协商实现的。bonding驱动截获本机发送的ARP应答,并把源硬件地址改写为bond中某个slave的唯一硬件地址,从而使得不同的对端使用不同的硬件地址进行通信。

 

配置步骤

两个网卡

ifcfg-ens33

ifcfg-ens34

 

1.修改网卡配置

切换工作目录

cd /etc/sysconfig/network-scripts/

修改网卡配置文件 

vim ifcfg-ens33 

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=e3814ece-5de5-4468-a7f5-9b27837dfff6
DEVICE=ens33
ONBOOT=yes
IPV6_PRIVACY=no
MASTER=bond0
SLAVE=yes

 

vim ifcfg-ens34

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens34
UUID=b451d049-e227-4d2d-bfa4-2383a0198ba3
DEVICE=ens34
ONBOOT=yes
IPV6_PRIVACY=no
MASTER=bond0
SLAVE=yes

 

2.虚拟网卡配置

需自行创建

vim ifcfg-bond0 
DEVICE=bond0
TYPE=bond
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.192.135
NETMASK=255.255.255.0
BONDING_OPTS="miimon=100 mode=4"
BONDING_MASTER=yes

MTU=1500

NM_CONTROLLED=no

 miimon是用来进行链路监测的。比如:miimon=100,单位是ms(毫秒)这边的100,是100ms,即是0.1秒那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路;

重启服务

reboot 

[root@bond0-linux ~]# ifconfig
bond0: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST>  mtu 1500
        inet 192.168.192.135  netmask 255.255.255.0  broadcast 192.168.192.255

        inet6 fe80::20c:29ff:fe4f:c0a2  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:4f:c0:a2  txqueuelen 1000  (Ethernet)
        RX packets 970  bytes 83501 (81.5 KiB)
        RX errors 0  dropped 8  overruns 0  frame 0
        TX packets 496  bytes 50224 (49.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens33: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500
        ether 00:0c:29:4f:c0:a2  txqueuelen 1000  (Ethernet)
        RX packets 620  bytes 58031 (56.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 494  bytes 50078 (48.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens34: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500
        ether 00:0c:29:4f:c0:a2  txqueuelen 1000  (Ethernet)
        RX packets 352  bytes 25616 (25.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2  bytes 146 (146.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 139  bytes 12660 (12.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 139  bytes 12660 (12.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
 

[root@bond0-linux ~]# ping www.baidu.com
PING www.a.shifen.com (61.135.169.121) 56(84) bytes of data.
64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=1 ttl=128 time=3.78 ms
64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=2 ttl=128 time=3.54 ms

查看bond 状态

cat /proc/net/bonding/bond0 
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: IEEE 802.3ad Dynamic link aggregation   //动态链路集合
Transmit Hash Policy: layer2 (0)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

802.3ad info
LACP rate: slow
Min links: 0
Aggregator selection policy (ad_select): stable
System priority: 65535
System MAC address: 64:51:06:f0:0c:90
Active Aggregator Info:
    Aggregator ID: 1
    Number of ports: 1
    Actor Key: 15
    Partner Key: 1
    Partner Mac Address: 00:00:00:00:00:00

Slave Interface: ens33
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 64:51:06:f0:0c:90
Slave queue ID: 0
Aggregator ID: 1
Actor Churn State: none
Partner Churn State: churned
Actor Churned Count: 0
Partner Churned Count: 1
details actor lacp pdu:
    system priority: 65535
    system mac address: 64:51:06:f0:0c:90
    port key: 15
    port priority: 255
    port number: 1
    port state: 77
details partner lacp pdu:
    system priority: 65535
    system mac address: 00:00:00:00:00:00
    oper key: 1
    port priority: 255
    port number: 1
    port state: 1

Slave Interface: ens37
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 64:51:06:f0:0c:94
Slave queue ID: 0
Aggregator ID: 2
Actor Churn State: churned
Partner Churn State: churned
Actor Churned Count: 1
Partner Churned Count: 1
details actor lacp pdu:
    system priority: 65535
    system mac address: 64:51:06:f0:0c:90
    port key: 15
    port priority: 255
    port number: 2
    port state: 69
details partner lacp pdu:
    system priority: 65535
    system mac address: 00:00:00:00:00:00
    oper key: 1
    port priority: 255
    port number: 1
    port state: 1

看到如上结果说明bonding已经绑定成功。

删除bonding

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens34
UUID=b451d049-e227-4d2d-bfa4-2383a0198ba3
DEVICE=ens34
ONBOOT=yes
IPV6_PRIVACY=no
MASTER=bond0                      //将这两项删掉
SLAVE=yes
 

ens33和ens34配置文件同时删除

将bond0的配置文件直接删除

rm -f ifcfig-bond0

 解除bonding模块

rmmod bonding

[root@network ~]# lsmod | grep bonding
[root@network ~]# 

在ens33和ens34配置文件中添加IP地址、掩码、网关重启网络  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值