我在 18.04 系统上运行 Netplan。我已经能够锻炼并将我的大部分网络配置从我的 16.04 系统转换为 18.04 的 Netplan,但是当我尝试在使用绑定的桥上将 MTU 设置为 9000 时遇到了问题一个 VLAN。
我的配置:
# Ceph network configuration
network:
version: 2
renderer: networkd
ethernets:
eth2:
dhcp4: no
dhcp6: no
optional: true
mtu: 9000
eth3:
dhcp4: no
dhcp6: no
optional: true
mtu: 9000
bonds:
bond1:
interfaces: [ eth2, eth3 ]
parameters:
mode: 802.3ad
mii-monitor-interval: 100
lacp-rate: fast
vlans:
bond1.220:
id: 220
link: bond1
mtu: 9000
bridges:
br-ceph-access:
addresses: [ x.x.x.x/24 ]
interfaces: [ bond1.220 ]
parameters:
forward-delay: 9
hello-time: 2
max-age: 12
stp: false
我已将“mtu:9000”添加到作为绑定一部分的两个 NIC 以及 VLAN 中。我已经这样做了,因为将“mtu:9000”添加到绑定接口或桥接接口会产生错误“未知密钥 mtu”
在任何情况下,该mtu: 9000
设置都不会受到尊重,正如您在ip a
(notice mtu 15000
) 的相关部分中看到的那样:
4: eth2: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond1 state UP group default qlen 1000
link/ether b2:07:76:18:10:5b brd ff:ff:ff:ff:ff:ff
5: eth3: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond1 state UP group default qlen 1000
link/ether b2:07:76:18:10:5b brd ff:ff:ff:ff:ff:ff
10: br-ceph-access: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 4e:b5:52:25:a4:c5 brd ff:ff:ff:ff:ff:ff
inet x.x.x.x/24 brd 172.16.238.255 scope global br-ceph-access
valid_lft forever preferred_lft forever
11: bond1: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether b2:07:76:18:10:5b brd ff:ff:ff:ff:ff:ff
那么我在哪里错了?使用 Netplan 设置 mtu 的正确方法是什么?我是否发现了需要报告的错误?
我通过将 MTU 设置添加到“bonds:”和“bridges:”部分(从“ethernets:”部分中删除)解决了这个问题。这是工作配置:
我认为您想通过 MAC 地址匹配设备,否则systemd-networkd很难确切知道将 MTU 应用于哪些设备。您还应该为绑定本身指定 MTU 为 9000,因为它的选项将在基础接口添加到绑定时应用于它们:
但请注意,匹配设备有其自身的一系列问题。见https://github.com/CanonicalLtd/netplan/commit/a27122bc8d8e066b1a90a7fd8d65342e8b906a8e