web-dev-qa-db-de.com

Die MTU-Einstellung für Netplan Bond / Bridge wird auf dem Bionic-System nicht berücksichtigt

Ich verwende Netplan auf einem 18.04 System. Ich konnte den größten Teil meiner Netzwerkkonfiguration von meinen 16.04-Systemen auf Netplan für 18.04 umstellen. Bei dem Versuch, die MTU auf einer Bridge mit einer Verbindung, die Teil einer Verbindung ist, auf 9000 zu setzen, ist jedoch ein Problem aufgetreten eines VLAN.

Meine Konfiguration:

# 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

Ich habe 'mtu: 9000' zu beiden NICs hinzugefügt, die Teil der Bindung sind, und auch zum VLAN. Ich habe dies getan, weil das Hinzufügen von 'mtu: 9000' zur Bond-Schnittstelle oder zur Bridge-Schnittstelle den Fehler "unknown key mtu" erzeugt.

In jedem Fall wird die Einstellung mtu: 9000 nicht berücksichtigt, wie Sie hier in den entsprechenden Abschnitten von ip a sehen können (beachten Sie 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

Also, wo gehe ich hier falsch? Was ist der richtige Weg, um mtu mit Netplan einzustellen? Habe ich einen Fehler entdeckt, der gemeldet werden muss?

2
Andre Goree

Ich habe dieses Problem gelöst, indem ich die MTU-Einstellungen sowohl den Abschnitten "bonds:" als auch "bridges:" hinzugefügt habe (aus dem Abschnitt "ethernets:" entfernt). Hier ist die funktionierende Konfiguration:

# 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

Ich denke, Sie möchten Geräte nach MAC-Adresse zuordnen, andernfalls ist es für systemd-networkd schwierig, genau zu wissen, auf welche Geräte die MTU angewendet werden soll. Sie sollten auch angeben, dass die MTU für die Anleihe selbst 9000 beträgt, da ihre Optionen auf die zugrunde liegenden Schnittstellen angewendet werden, wenn sie der Anleihe hinzugefügt werden:

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

Pass auf, passende Geräte haben ihre eigenen Probleme. Siehe https://github.com/CanonicalLtd/netplan/commit/a27122bc8d8e066b1a90a7fd8d65342e8b906a8e