专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

Linux实战双网卡bonding配置

bonding介绍

bonding(绑定)是一种linux系统下的网卡绑定技术,可以把服务器上n个物理网卡在系统内部抽象(绑定)成一个逻辑上的网卡,能够提升网络吞吐量、实现网络冗余、负载等功能,有很多优势。bonding技术是linux系统内核层面实现的,它是一个内核模块(驱动)。使用它需要系统有这个模块, 我们可以modinfo命令查看下这个模块的信息, 一般来说都支持.

bonding的七种模式

bonding技术提供了七种工作模式,在使用的时候需要指定一种,每种有各自的优缺点.


balance-rr (mode=0) 默认, 有高可用 (容错) 和负载均衡的功能, 需要交换机的配置,每块网卡轮询发包 (流量分发比较均衡). active-backup (mode=1) 只有高可用 (容错) 功能, 不需要交换机配置, 这种模式只有一块网卡工作, 对外只有一个mac地址。缺点是端口利用率比较低 balance-xor (mode=2) 不常用 broadcast (mode=3) 不常用 802.3ad (mode=4) IEEE 802.3ad 动态链路聚合,需要交换机配置,没用过 balance-tlb (mode=5) 不常用 balance-alb (mode=6) 有高可用 ( 容错 )和负载均衡的功能,不需要交换机配置 (流量分发到每个接口不是特别均衡)

centos7.5 配置bonding

  • 查看UP的网卡口
[root@t71 ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp61s0f2: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 08:94:ef:65:3a:9a brd ff:ff:ff:ff:ff:ff
3: enp61s0f3: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 08:94:ef:65:3a:9b brd ff:ff:ff:ff:ff:ff
4: enp175s0f0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP group default qlen 1000
    link/ether e8:61:1f:13:71:44 brd ff:ff:ff:ff:ff:ff
5: enp175s0f1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP group default qlen 1000
    link/ether e8:61:1f:13:71:44 brd ff:ff:ff:ff:ff:ff
6: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether e8:61:1f:13:71:44 brd ff:ff:ff:ff:ff:ff
    inet 192.168.4.71/22 brd 192.168.7.255 scope global bond0
       valid_lft forever preferred_lft forever
    inet6 fe80::ea61:1fff:fe13:7144/64 scope link 
       valid_lft forever preferred_lft forever
[root@t71 ~]# 

这是配置bonding完成之后的情况。但是在配置之前,也可以看到enp175s0f0和enp175s0f1处于UP状态

  • 修改/etc/sysconfig/network-scripts/ifcfg-enp175s0f0和/etc/sysconfig/network-scripts/ifcfg-enp175s0f1文件,具体修改内容如下:
DEVICE=enp175s0f0    # ifcfg-enp175s0f1文件对应的位置修改为enp175s0f1
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none

  • 创建bond文件:在/etc/sysconfig/network-scripts/创建文件ifcfg-bond0,具体内容如下:
DEVICE=bond0
TYPE=Bond
BOOTPROTO=none
USERCTL=no
IPADDR=192.168.4.74
NETMASK=255.255.252.0
GATEWAY=192.168.7.254
BONDING_OPTS="mode=4 miimon=100" #起初使用的是mode=6,后面修改为mode=4,需要添加具体配置
ONBOOT=yes
BONDING_MASTER=yes

  • 加载bonding模块
modprobe bonding

  • 查看bonding模块加载情况
[root@t74 ~]# lsmod | grep bonding
bonding               149864  0 
[root@t74 ~]# 

  • 关闭NetworkManager
systemctl stop NetworkManager
systemctl disable NetworkManager

  • 重启network服务
systemctl restart network

  • 查看配置情况
[root@t74 ~]# 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: e8:61:1f:26:e5:78
Active Aggregator Info:
    Aggregator ID: 1
    Number of ports: 2
    Actor Key: 15
    Partner Key: 833
    Partner Mac Address: 34:a2:a2:7a:5b:c0

Slave Interface: enp24s0f0
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: e8:61:1f:26:e5:78
Slave queue ID: 0
Aggregator ID: 1
Actor Churn State: none
Partner Churn State: none
Actor Churned Count: 0
Partner Churned Count: 0
details actor lacp pdu:
    system priority: 65535
    system mac address: e8:61:1f:26:e5:78
    port key: 15
    port priority: 255
    port number: 1
    port state: 61
details partner lacp pdu:
    system priority: 32768
    system mac address: 34:a2:a2:7a:5b:c0
    oper key: 833
    port priority: 32768
    port number: 6
    port state: 61

Slave Interface: enp24s0f1
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: e8:61:1f:26:e5:79
Slave queue ID: 0
Aggregator ID: 1
Actor Churn State: none
Partner Churn State: none
Actor Churned Count: 0
Partner Churned Count: 0
details actor lacp pdu:
    system priority: 65535
    system mac address: e8:61:1f:26:e5:78
    port key: 15
    port priority: 255
    port number: 2
    port state: 61
details partner lacp pdu:
    system priority: 32768
    system mac address: 34:a2:a2:7a:5b:c0
    oper key: 833
    port priority: 32768
    port number: 5
    port state: 61

因为选用的mode=4模式,所以需要进一步配置交换机,使用的交换机为华为S6720 具体配置如下:

system-view
interface eth-trunk 1
port link-type trunk
port trunk allow-pass vlan 10
mode lacp
trunkport XGigabitEthernet 0/0/1 to 0/0/2 #将交换机上的端口1和2聚合到trunk 1中

具体命令的作用,目前我也说不清楚,但是这样配置可以正常工作。不过经测试,io的能力并没有提高,这个问题仍需进一步关注

参考:

tech.souyunku.com/huangweimin…

blog.51cto.com/iceyao/1572…

文章永久链接:https://tech.souyunku.com/44267

未经允许不得转载:搜云库技术团队 » Linux实战双网卡bonding配置

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们