Ubuntu 16.04: ボンディング カーネル モジュールはどのようにして自動的にロードされるのですか?

Ubuntu 16.04: ボンディング カーネル モジュールはどのようにして自動的にロードされるのですか?

最近、ボンディングされたイーサネット構成で Ubuntu 16.04 システムをセットアップしました。以前は、これを動作させるには、ボンディング モジュールを/etc/modulesまたはに含める必要があったようです/etc/modules.d。これは、次の文書に記載されています。

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

ただし、私がセットアップしたばかりの Ubuntu 16.04 システムでは、ボンディング カーネル モジュールのロードを強制するために何も行っていません (たとえば、 にエントリがありません/etc/modules) が、ボンディング カーネル モジュールはロードされ、ボンディング ポートは宣伝どおりに動作しています。

このモジュールのロードを引き起こしている原因を突き止めようとしましたが、見つかりません。私の知る限り、Canonical は 16.04 リリースで systemd-networkd への切り替えに取り組んでいないため、systemd の魔法は機能していないようです。また、udevルールも定義されていません。

今、このすべてが本当に気になっています (特に、14.04 でモジュールを明示的にロードしないと機能しなかったため)。そのため、StackExchange で質問します。

答え1

NetworkManager は最近、ボンディングのサポートを獲得しました。モジュールを手動でロードすることを期待しているとは思えません。

モジュールをロードするように指示していないチュートリアルが少数あるので、ifenslave スクリプトはどうなのかなと思います... ハハ。

Debian 8 パッケージのファイル 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

関連情報