# modprobe bonding mode=4 miimon=100 # ifconfig bond0 up # ip link set eno1 master bond0 # ip link set eno2 master bond0
为了记录,使用的交换机是Cisco Nexus 2248,我没有指定IP地址,因为还有一个额外的802.1q层(配置文件中是否存在对该问题没有影响).
问题是我无法创建正确的/ etc / network / interfaces文件以在启动时自动完成.不同版本的ifenslave软件包之间存在很多混淆,特别是它的文档,以及如何在使用ifup时避免竞争条件.无论在以前的Ubuntu版本中运行的是什么,都不再适用了.如果systemd让事情变得更加混乱,我也不会感到惊讶.基本上,无论我尝试什么,我的脚本在启动时都会卡住,我必须等待一到五分钟才能完成启动过程.
这是我能做到的最好的:
auto lo iface lo inet loopback allow-bond0 eno1 iface eno1 inet manual bond-master bond0 allow-bond0 eno2 iface eno2 inet manual bond-master bond0 auto bond0 iface bond0 inet manual bond-mode 4 bond-slaves eno1 eno2 bond-miimon 100
在启动时将bond0停顿一分钟(因为bond0正在等待至少一个从属设备被启动,这种情况从未发生过,所以它超时),但是一旦系统启动,使用ifup eno1工作并且bond0开始正常工作.
如果我指定auto eno1,那么启动过程会停止五分钟,bond0永远不会正常启动,并且尝试使用ifdown eno1会因为等待某些锁定在/ run / network / where(无法记住确切的文件,并已经经常重新启动这台机器),这似乎表明是的,我遇到了竞争条件,ifup与eno1永远陷入困境.
有没有人在最新的Ubuntu上有工作解决方案?
除了LACP率和1G(eno1)与10G SFP(eno49)之外,最大的差异似乎是使用auto bond0.
# /etc/modprobe.d/bonding.conf alias bond0 bonding options bonding mode=4 miimon=100 lacp_rate=1
其中一些选项可能是多余的.
# /etc/network/interfaces auto eno49 iface eno49 inet manual bond-master bond0 auto eno50 iface eno50 inet manual bond-master bond0 auto bond0 iface bond0 inet static address 10.0.0.1 netmask 255.255.255.0 bond-slaves eno49 eno50 bond-mode 4 bond-miimon 100 bond-lacp-rate 1
在启动过程中没有看到任何档位.执行systemctl重新启动网络会产生短暂的等待几秒钟,但仅此而已.
$systemd-analyze Startup finished in 2.344s (kernel) + 1.658s (userspace) = 4.002s
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。