Bond0-无法将正确的LB算法设置为802.3ad

问题描述

Ubuntu 16.04.4

我正在尝试设置4接口bond0。我设置了以下内容

10-bond0.netdev

[NetDev]
Name=bond0
Kind=bond

[Bond]
Mode=802.3ad
TransmitHashPolicy=layer3+4
MIIMonitorSec=1s
LACPTransmitRate=fast

10-bond0.network

[Match]
Name=bond0

[Network]
Address=10.38.63.1/24

20-enx00145ee890e0.network

[Match]
Name=enx00145ee890e0

[Network]
Bond=bond0

20-enx00145ee890e1.network

[Match]
Name=enx00145ee890e1

[Network]
Bond=bond0

20-enx00145ee890e2.network

[Match]
Name=enx00145ee890e2

[Network]
Bond=bond0

20-enx00145ee890e3.network

[Match]
Name=enx00145ee890e3

[Network]
Bond=bond0

一次

root@server#cat /sys/class/net/bond0/bonding/mode
balance-rr 0

如果我将bond0重新定义为bond1(将 bond0 文件移动到 bond1 文件中,然后在其中调整信息)

root@server#cat /sys/class/net/bond1/bonding/mode
802.3ad 4

另外,当引入bond1时,在“ ip link show”显示的接口中我仍然会得到bond0,因此bond0必须在某个位置定义,但我不知道在哪里。

我不得不说,我在网络和systemd网络服务上混合了一个系统。

/ etc / network / interface没有对bond0的引用

如果要改用systemd-networks,我确实想摆脱网络,但是由于我无法访问服务器,因此必须仔细,准确地准备事情。

我不知道系统从何处获得“ balance-rr”,并且不遵守与bond0相关的文件中的802.3ad。

我在哪里可以进一步检查?

TIA

解决方法

我想我找到了问题

root @ brunas:/ etc / systemd / network $ systemctl --version systemd 229

我遇到了这个错误

https://github.com/systemd/systemd/issues/7025 https://github.com/systemd/systemd/issues/5971

第二个链接中报告的解决方法是创建

/etc/modprobe.d/bonding.conf并设置

选项绑定max_bonds = 0