我正在尝试在 Ubuntu 16.04.1 上设置 LACP 绑定,但遇到了这个稍微不合逻辑的问题:
$ ifenslave bond0 eth0 eth1
eth0: is already enslaved to bond0
eth1: is already enslaved to bond0
$ ifenslave -d bond0 eth0 eth1
eth0: is not enslaved to bond0
eth1: is not enslaved to bond0
显然,这毫无意义。当诊断信息自相矛盾时,这让我很困惑,不知道到底出了什么问题。
回顾一下,我有一个节点集群,并且已成功配置其他节点,使其全部使用 LACP 绑定,并且双网卡都运行良好。我只是试图通过重复之前的操作将这个新节点添加到集群中 - 但绑定无法正常进行。
在这种半奴役/非奴役状态下,我可以 ping 通同一个私有网络 (10.xxx) 中的其他节点,但无法 ping 通“google.com” - 这很有趣,因为我有自己的 DNS 服务器 (10.0.0.1 和 10.0.0.2),如果我“dig @10.0.0.1 google.com”直接询问该服务器,那么我会得到正确的答案。
我的债券相关设置如下/etc/network/interfaces
:
bond-mode 802.3ad
bond-miimon 100
bond-lacp-rate fast
bond-slaves none
post-up ifenslave bond0 eth0 eth1
pre-down ifenslave -d bond0 eth0 eth1
并且eth0
和都eth1
经过简单配置bond-master bond0
(并且,如果重要的话,我在 GRUB 配置中得到了“net.ifnames=0 biosdevname=0”,因为我想要旧式名称。
正如我所说,此配置在其他节点上工作正常。我不太明白为什么这次不起作用(可能是因为我上次这样做已经是好几个月前了,我可能忘记了一些重要的步骤,但我不这么认为)。
有人知道哪里出了问题或者我该怎么做才能解决这个问题吗?