Ubuntu 16.04: Wie wird das Bonding-Kernelmodul automatisch geladen?

Ubuntu 16.04: Wie wird das Bonding-Kernelmodul automatisch geladen?

Ich habe vor kurzem ein Ubuntu 16.04-System mit einer Bonded-Ethernet-Konfiguration eingerichtet. Bisher schien es, als müsste das Bonding-Modul in /etc/modulesoder eingebunden werden, damit dies funktioniert /etc/modules.d. Dies ist hier dokumentiert:

https://help.ubuntu.com/community/UbuntuBonding

Auf dem Ubuntu 16.04-System, das ich gerade eingerichtet habe, habe ich jedoch nichts unternommen, um das Laden des Bonding-Kernelmoduls zu erzwingen (z. B. keinen Eintrag in /etc/modules), und dennoch wird das Bonding-Kernelmodul geladen und der verbundene Port funktioniert wie angekündigt.

Ich habe versucht, herauszufinden, was das Laden dieses Moduls auslöst, und kann es nicht finden. Soweit ich weiß, hat Canonical es nicht geschafft, für die Version 16.04 auf systemd-networkd umzusteigen, also ist meines Wissens keine systemd-Magie am Werk. Außerdem udevsind keine Regeln definiert.

Jetzt stört mich die ganze Sache wirklich (insbesondere, weil es nicht funktioniert hätte, das Modul in 14.04 nicht explizit zu laden), also frage ich bei StackExchange nach.

Antwort1

NetworkManager unterstützt seit Kurzem Bonding. Ich bezweifle, dass Sie das Modul manuell laden müssen.

Es gibt eine Minderheit von Tutorials, die Ihnen nicht sagen, dass Sie das Modul laden sollen, also wundere ich mich über das ifenslave-Skript ... haha.

Aus dem Debian 8-Paket, Datei ifenslave.pre-up:

add_master()
{
    # Return if $BOND_MASTER is already a bonding interface.
    [ -f "/sys/class/net/$BOND_MASTER/bonding/slaves" ] && return

    # If the bonding module is not yet loaded, load it.
    if [ ! -r /sys/class/net/bonding_masters ]; then
        modprobe -q bonding
    fi

verwandte Informationen