Ubuntu 16.04: Como o módulo de ligação do kernel está sendo carregado automaticamente?

Ubuntu 16.04: Como o módulo de ligação do kernel está sendo carregado automaticamente?

Recentemente configurei um sistema Ubuntu 16.04 com uma configuração Ethernet vinculada. Anteriormente, parecia que para que isso funcionasse, o módulo de ligação precisava ser incluído em /etc/modulesou /etc/modules.d. Isso está documentado aqui:

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

No entanto, no sistema Ubuntu 16.04 que acabei de configurar, não fiz nada para forçar o carregamento do módulo do kernel de ligação (por exemplo, nenhuma entrada em /etc/modules) e ainda assim o módulo do kernel de ligação está carregado e a porta ligada está funcionando como anunciado.

Tenho tentado descobrir o que está desencadeando o carregamento deste módulo e não consigo encontrar. Pelo que eu posso dizer, a Canonical não se reuniu para mudar para o systemd-networkd para a versão 16.04, então não há mágica do systemd em ação, pelo que eu sei udev.

Agora a coisa toda está realmente me incomodando (principalmente porque não carregar explicitamente o módulo em 14.04 não teria funcionado), então pergunte no StackExchange.

Responder1

O NetworkManager ganhou suporte para bonding recentemente. Duvido que espere que você carregue o módulo manualmente.

Há uma minoria de tutoriais que não dizem para você carregar o módulo, então me pergunto sobre o script ifenslave... hah.

No pacote Debian 8, arquivo 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

informação relacionada