web-dev-qa-db-ja.com

Netplanボンド/ブリッジMTU設定がBionicシステムで優先されない

18.04システムでNetplanを実行しています。 18.04で、16.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

結合の一部である両方のNICにVLANにも「mtu:9000」を追加しました。ボンドインターフェースまたはブリッジインターフェースに「mtu:9000」を追加すると「unknown key mtu」というエラーが生成されるため、これを実行しました。

いずれの場合も、mtu: 9000の関連セクションで以下に示すように、ip a設定は適用されません(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を設定する適切な方法は何ですか?報告する必要があるバグを発見しましたか?

2
Andre Goree

MTU設定を「bonds:」セクションと「bridges:」セクションの両方に追加することでこれを解決しました(「ethernets:」セクションから削除)。動作設定は次のとおりです。

# Ceph network configuration
network:
  version: 2
  renderer: networkd
  ethernets:
    eth2:
      dhcp4: no
      optional: true
    eth3:
      dhcp4: no
      optional: true
  bonds:
    bond1:
      interfaces: [ eth2, eth3 ]
      mtu: 9000
      parameters:
        mode: 802.3ad
        mii-monitor-interval: 100
        lacp-rate: fast
  vlans:
    bond1.220:
      id: 220
      link: bond1
      optional: true
  bridges:
    br-ceph-access:
      optional: true
      addresses: [ 172.16.238.133/24 ]
      interfaces: [ bond1.220 ]
      mtu: 9000
      parameters:
        forward-delay: 9
        hello-time: 2
        max-age: 12
        stp: false
0
Andre Goree

MACアドレスでデバイスを一致させたいと思います。そうしないと、systemd-networkdがMTUを適用するデバイスを正確に知ることが困難になります。また、ボンドに追加されるときにオプションが基礎となるインターフェイスに適用されるため、ボンド自体のMTUが9000であることも指定する必要があります。

network:
  version: 2
  renderer: networkd
  ethernets:
    eth2:
      match:
        macaddress: 00:00:aa:bb:cc:dd
      dhcp4: no
      dhcp6: no
      optional: true
      mtu: 9000
    eth3:
      match:
        macaddress: 01:01:aa:bb:cc:de
      dhcp4: no
      dhcp6: no
      optional: true
      mtu: 9000
  bonds:
    bond1:
      mtu: 9000
      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

ただし、一致するデバイスには独自の問題があります。 https://github.com/CanonicalLtd/netplan/commit/a27122bc8d8e066b1a90a7fd8d65342e8b906a8e を参照してください