bonding

bonding

bonding 就是把多个物理网卡绑定成一个逻辑上的网卡,使用同一个 IP 工作,在增加带宽的同时也可以提供冗余性,一般使用较多的就是来提高冗余,分别和不同交换机相连,提高可靠性,但有时服务器带宽不够了也可以用作增加带宽。

bond 模式

网卡绑定 bond 共有七种模式 (0~6)

  • mode=0 (balance-rr) 表示负载分担round-robin,和交换机的聚合强制不协商的方式配合。
  • mode=1 (active-backup) 表示主备模式,只有一块网卡是active, 另外一块是备份的standby, 这时如果交换机配的是捆绑,将不能正常工作,因为交换机往两块网卡发包,有一半包是丢弃的。
  • mode=2 (broadcast) 表示所有包从所有 interface 发出, 这个不均衡, 只有冗余机制,和交换机的聚合强制不协商方式配合。
  • mode=4 (802.3ad) 表示支持 802.3ad 协议, 和交换机的聚合 LACP 方式配合 (需要 xmit_hash_policy)。
  • mode=5 (balance-tlb) 表示适配器传输负载均衡,是根据每个 slave 的负载情况选择 slave 进行发送, 接收时使用当前轮到的 slave。
  • mode=6 (balance-alb) 在 5 的 tlb 基础上增加了 rlb。

交换机设置

  • mode 1、5、6 不需要交换机设置
  • mode 0、2、3 需要交换机设置静态聚合
  • mode 4 需要交换机支持 802.3ad

内核

bonding 技术是 Linux 系统内核层面实现的,它是一个内核模块(驱动)。

编译配置

CONFIG_BONDING=m

查看 bonding 模块

modinfo bonding

查看 bond

cat /proc/net/bonding/bond0

实例

配置 bond

function configure_bond(){
    # 创建并配置bond

    # 参数1:网卡1名称
    # 参数2:网卡2名称
    # 参数3:IP地址/掩码元数
    # 参数4:网关地址
    # 参数5:bond名称

    [ $# != 5 ] && echo "bond创建参数错误" && return

    # 创建bond0
    nmcli connection add con-name "$5" type bond ifname "$5" mode active-backup miimon 100
    nmcli connection add type bond-slave ifname "$1" master "$5"
    nmcli connection add type bond-slave ifname "$2" master "$5"
    nmcli connection delete "$1"
    nmcli connection delete "$2"
    # 配置bond0
    nmcli connection modify "$5" autoconnect yes
    nmcli connection modify "$5" +ipv4.addresses "$3"
    nmcli connection modify "$5" +ipv4.gateway "$4"
    nmcli connection modify "$5" ipv4.method manual
    nmcli connection reload
    systemctl restart network
}
configure_bond0 ens33 ens36 "192.168.107.143/24" "192.168.107.2" bond0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rechie_gao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值