bongding 工作模式 和 所绑定的物理网卡的活动及链路状态

在 CentOS 6.2 系统中,配置 bonding 模块用于实现网络冗余和负载均衡。通过编辑 `/etc/modprobe.d/hhc-bonding.conf` 文件,设置 `mode` 参数可选择不同的工作模式,如 RR、热备、XOR等。bonding 提供了 BOND_STATE_ACTIVE 和 BOND_STATE_BACKUP 两种活动状态,以及 BOND_LINK_UP、BOND_LINK_DOWN、BOND_LINK_FAIL 和 BOND_LINK_BACK 四种链路状态,确保网络的稳定性和可靠性。
Centos6.2环境
vi /etc/modprobe.d/hhc-bonding.conf
alias bond0 bonding 
options bond0 miimon=100 mode=5 max_bonds=4
miimon表示链路检查间隔,单位为毫秒;
max_bonds : 多bonding时参数


bonding模块的工作模式,可以分为多主型工作模式和主备型工作模式 
    mode的值表示工作模式,他共有0、1、2、3、4、5、6七种模式,
    0:负载均衡模式,RR方式,全负载均衡,需要Switch侧做Trunk,可失效一网卡; 
    1:热备模式,不需要Switch侧支持;
    2:负载均衡模式,XOR方式,根据来源MAC; 
    3:广播模式,所有网卡一起收发数据包,可失效一网卡;
    4:802.3ad模式,动态链路聚合模式,属于主备型工作模式。需要Switch支持802.3ad Dynamic Link Aggregation;
    5:负载均衡模式,TLB方式,半负载均衡,发送为负载均衡,接收为动态分配,不需要Switch侧支持,可失效一网卡;
    6:负载均衡模式,ALB方式,全负载均衡,网卡需支持动态更改MAC,不需要Switch侧支持,可失效一网卡;
    


bonding为绑定的物理网卡定义了2种活动状态4钟链路状态
   活动状态:


    * BOND_STATE_ACTIVE:处于该状态的网卡是潜在的发送数据包的候选者
    * BOND_STATE_BACKUP:处于该状态的网卡在选择发送数据的网卡时被排除


   链路状态:


    * BOND_LINK_UP:  上线状态(处于该状态的网卡是是潜在的发送数据包的候选者)
    * BOND_LINK_DOWN:故障状态
    * BOND_LINK_FAIL:网卡出现故障,向状态BOND_LINK_DOWN 切换中
    * BOND_LINK_BACK:网卡恢复,向状态BOND_LINK_UP切换中
   注:一个网卡必须活动状态为BOND_STATE_ACTIVE并且链路状态为 BOND_LINK_UP,才有可能作为发送数据包的候选者。
### Ubuntu系统中配置bond0的mode4 (LACP) 模式 在Ubuntu系统中,配置`bond0`接口使用`mode4`(即802.3ad或LACP)模式需要对网络配置文件进行修改,并确保相关的内核模块工具已经安装。以下步骤适用于Ubuntu 18.04及更高版本,因为这些版本默认使用`netplan`作为网络配置管理器。 #### 安装必要的软件包 首先,确认是否已安装了用于管理配置绑定接口所需的软件包。对于基于Debian的系统如Ubuntu,通常不需要额外安装`ifenslave`,因为它已经被集成到系统中。但是,为了安全起见,可以运行以下命令来确保它是最新的: ```bash sudo apt update && sudo apt install ifenslave ``` #### 加载并启用bongding模块 检查当前是否加载了`bonding`内核模块: ```bash lsmod | grep bonding ``` 如果未看到输出,则需手动加载该模块: ```bash sudo modprobe bonding ``` 要使模块在重启后自动加载,编辑`/etc/modules`文件,添加一行`bonding`以确保开机时自动加载此模块。 #### 修改Netplan配置文件 接下来,您需要创建或修改位于`/etc/netplan/`目录下的YAML格式的网络配置文件。假设您的物理网卡名称为`enp1s0f0``enp1s0f1`,并且希望将它们组合成一个名为`bond0`的绑定接口,采用LACP模式,您可以按照如下示例配置: ```yaml network: version: 2 renderer: networkd ethernets: enp1s0f0: dhcp4: no optional: true enp1s0f1: dhcp4: no optional: true bonds: bond0: interfaces: [enp1s0f0, enp1s0f1] parameters: mode: 802.3ad lacp-rate: fast transmit-hash-policy: layer3+4 addresses: [192.168.2.3/24] gateway4: 192.168.2.1 nameservers: addresses: [8.8.8.8, 114.114.114.114] ``` 在这个例子中,我们设置了两个物理接口`enp1s0f0`与`enp1s0f1`加入到`bond0`中,设置其工作模式为802.3ad,指定快速LACP速率(`lacp-rate: fast`)以及传输哈希策略为`layer3+4`,这有助于提高负载均衡的效果[^4]。同时,给`bond0`分配了一个静态IP地址、网关以及DNS服务器信息。 #### 应用新的网络配置 保存上述更改后,应用新的网络配置: ```bash sudo netplan apply ``` 此时,系统应该已经开始使用新定义的绑定接口了。可以通过`ip addr show bond0`或者`ifconfig bond0`(如果已安装)来验证`bond0`的状态。 #### 验证LACP状态 最后,检查LACP状态是否正常工作: ```bash cat /proc/net/bonding/bond0 ``` 这条命令会显示关于`bond0`绑定接口的详细信息,包括每个从属接口的状态、聚合组的信息等,这对于诊断任何可能的问题非常有用。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值