
저는 최근에 연결된 이더넷 구성으로 Ubuntu 16.04 시스템을 설정했습니다. 이전에는 이 기능이 작동하려면 본딩 모듈이 /etc/modules
또는 에 포함되어야 했던 것으로 보입니다 /etc/modules.d
. 이는 여기에 문서화되어 있습니다.
https://help.ubuntu.com/community/UbuntuBonding
그러나 방금 설정한 Ubuntu 16.04 시스템에서는 본딩 커널 모듈을 강제로 로드하기 위한 아무 작업도 수행하지 않았지만(예: 에 항목 없음 /etc/modules
) 본딩 커널 모듈이 로드되고 본딩된 포트가 광고된 대로 작동하고 있습니다.
이 모듈 로드를 유발하는 것이 무엇인지 알아내려고 노력했지만 찾을 수 없습니다. 내가 알 수 있는 한, Canonical은 16.04 릴리스에서 systemd-networkd로 전환하기 위해 함께 작업하지 않았으므로 내가 알 수 있는 한 작동하는 시스템 마법은 없습니다. 또한 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