
最近、ボンディングされたイーサネット構成で 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