Linux网卡bond的七种模式详解,⽹卡绑定(bond)怎么实现?有哪些绑定⽅式?

您所在的位置:网站首页 查看网卡bond模式 Linux网卡bond的七种模式详解,⽹卡绑定(bond)怎么实现?有哪些绑定⽅式?

Linux网卡bond的七种模式详解,⽹卡绑定(bond)怎么实现?有哪些绑定⽅式?

2023-10-14 07:22| 来源: 网络整理| 查看: 265

七种bond模式说明: 第一种模式:mod=0,即:(balance-rr) Round-robin policy(平衡抡循环策略) 特点:传输数据包顺序是依次传输(即:第1个包走eth0,下一个包就走eth1….一直循环下去,直到最后一个传 输完毕),此模式提供负载平衡和容错能力。

第二种模式:mod=1,即: (active-backup) Active-backup policy(主-备份策略) 特点:只有一个设备处于活动状态,当一个宕掉另一个马上由备份转换为主设备。mac地址是外部可见得,从外面看来,bond的MAC地址是唯一的,以避免switch(交换机)发生混乱。此模式只提供了容错能力;由此可见此算法的优点是可以提供高网络连接的可用性,但是它的资源利用率较低,只有一个接口处于工作状态,在有 N 个网络接口的情况下,资源利用率为1/N。

第三种模式:mod=2,即:(balance-xor) XOR policy(平衡策略) 特点:基于指定的传输HASH策略传输数据包。缺省的策略是:(源MAC地址 XOR 目标MAC地址) % slave数量。 其他的传输策略可以通过xmit_hash_policy选项指定,此模式提供负载平衡和容错能力。

第四种模式:mod=3,即:broadcast(广播策略) 特点:在每个slave接口上传输每个数据包,此模式提供了容错能力。

第五种模式:mod=4,即:(802.3ad) IEEE 802.3adDynamic link aggregation(IEEE 802.3ad 动态链接聚合) 特点:创建一个聚合组,它们共享同样的速率和双工设定。根据802.3ad规范将多个slave工作在同一个激活的聚合体下。 必要条件: 条件1:ethtool支持获取每个slave的速率和双工设定。 条件2:switch(交换机)支持IEEE 802.3ad Dynamic link aggregation。 条件3:大多数switch(交换机)需要经过特定配置才能支持802.3ad模式。

第六种模式:mod=5,即:(balance-tlb) Adaptive transmit load balancing(适配器传输负载均衡) 特点:不需要任何特别的switch(交换机)支持的通道bonding。在每个slave上根据当前的负载(根据速度计算)分配外出流量。如果正在接受数据的slave出故障了,另一个slave接管失败的slave的MAC地址。 该模式的必要条件: ethtool支持获取每个slave的速率

第七种模式:mod=6,即:(balance-alb) Adaptive load balancing(适配器适应性负载均衡) 特点:该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡(receive load balance, rlb),而且不需要任何switch(交换机)的支持。

centos配置

将网卡名称改为传统网卡命名方式,看着方便,好区分,添加 rhgb quiet net.ifnames=0

[root@woo ~]# vim /etc/default/grub GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0 rhgb quiet" GRUB_DISABLE_RECOVERY="true"

在这里插入图片描述 为grub2生成其配置文件

[root@woo ~]# grub2-mkconfig -o /etc/grub2.cfg

重启系统后,网卡名变为eh0、eth1、eth2、eth3

[root@woo ~]# reboot

4个物理网口分别是 : eth0、eth1(这2块网卡为外网,192.168.190.0/24) 绑定后的虚拟口是 :bond0(192.168.190.111) eth2、eth3(这2块网卡为内网,192.168.56.0/24) 绑定后的虚拟口是:bond1(192.168.56.111) 在这里插入图片描述

配置网卡信息,bond0配置:

[root@woo ~]# vi /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 BOOTPROTO=static ONBOOT=yes NM_CONTROLLED=yes BONDING_OPTS="miimon=100 mode=0" IPADDR=192.168.190.111 NETMASK=255.255.255.0 GATEWAY=192.168.190.2 DNS1=114.114.114.114

在这里插入图片描述

配置网卡信息,eth0配置:

[root@woo ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 ONBOOT=yes MASTER=bond0 SLAVE=yes

在这里插入图片描述 配置网卡信息,eth1配置:

[root@woo ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 ONBOOT=yes MASTER=bond0 SLAVE=yes

在这里插入图片描述

配置网卡信息,bond1配置:

[root@woo ~]# vi /etc/sysconfig/network-scripts/ifcfg-bond1 DEVICE=bond1 BOOTPROTO=static ONBOOT=yes NM_CONTROLLED=yes BONDING_OPTS="miimon=100 mode=1" IPADDR=192.168.56.111 NETMASK=255.255.255.0 GATEWAY=192.168.56.2 #DNS1=114.114.114.114

在这里插入图片描述

配置网卡信息,eth2配置:

[root@woo ~]# vim ifcfg-eth2 DEVICE=eth2 ONBOOT=yes MASTER=bond1 SLAVE=yes

在这里插入图片描述 配置网卡信息,eth3配置:

[root@woo ~]# vim ifcfg-eth3 DEVICE=eth3 ONBOOT=yes MASTER=bond1 SLAVE=yes

在这里插入图片描述

重启一下网络,然后确认一下状况:

[root@woo ~]# systemctl restart network [root@woo ~]# cat /proc/net/bonding/bond0 [root@woo ~]# cat /proc/net/bonding/bond1

在这里插入图片描述 在这里插入图片描述

确认模块是否加载成功:

[root@woo ~]# lsmod | grep bonding bonding 149864 0 ubuntu 18.04配置

4个物理网口分别是 : eth0、eth1(这2块网卡为外网,192.168.190.0/24) 绑定后的虚拟口是 :bond0(192.168.190.18) eth2、eth3(这2块网卡为内网,192.168.56.0/24) 绑定后的虚拟口是:bond1(192.168.56.18) 在这里插入图片描述

root@web2:~# sudo vim /etc/netplan/01-netcfg.yaml # This file describes the network interfaces available on your system # For more information, see netplan(5). network: version: 2 renderer: networkd ethernets: eth0: dhcp4: no dhcp6: no eth1: dhcp4: no dhcp6: no eth2: dhcp4: no dhcp6: no eth3: dhcp4: no dhcp6: no bonds: bond0: interfaces: - eth0 - eth1 addresses: [192.168.190.18/24] gateway4: 192.168.190.2 nameservers: addresses: [114.114.114.114,180.76.76.76] parameters: mode: active-backup mii-monitor-interval: 100 bond1: interfaces: - eth2 - eth3 addresses: [192.168.56.18/24] parameters: mode: active-backup mii-monitor-interval: 100 # routes: #- to: 172.20.0.0/16 # via: 10.20.0.1 #- to: 10.20.0.0/16 # via: 10.20.0.1 #- to: 10.2.0.0/16 # via: 10.20.0.1 #- to: 10.8.0.0/16 # via: 10.20.0.1

yaml文件有严格的缩进格式,严格按照以下格式 在这里插入图片描述 重启网络服务

root@web2:~# sudo netplan apply

查看网卡状态

root@web2:~# cat /proc/net/bonding/bond0 root@web2:~# cat /proc/net/bonding/bond1

在这里插入图片描述 在这里插入图片描述

备注: 如果有同学想直接复制我的配置文件进行修改,可能在vim里面格式会错乱,需要进入 paste 模式:

:set paste

进入 paste 模式后,按 i 键进入插入模式,然后再粘帖,文本格式不会错乱了。但粘帖后还需要按 进入普通模式并执行如下命令结束 paste 模式:

:set nopaste


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3