I'm trying to set up LACP bonding on Ubuntu 16.04.1 but I'm presented with this slightly illogical issue:
$ 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
Obviously, this makes no sense. Which has left me confused as to what could even have gone wrong, when the diagnostic messages are paradoxical.
To rewind, I've got a cluster of nodes and I've successfully configured the others to all use LACP bonding with their dual NICs just fine. I'm just trying to add this new node to the cluster by repeating what I did before - but the bond is just not coming up properly.
In this halfway enslaved / not enslaved state, I am able to ping other nodes in the same private network (10.x.x.x) but I can't ping "google.com" - which is interesting as I have my own DNS servers (10.0.0.1 and 10.0.0.2) and if I "dig @10.0.0.1 google.com" to directly ask that server, then I do get back the right answer.
My bond-related settings - in /etc/network/interfaces
- look like this:
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
And both eth0
and eth1
are simply configured with bond-master bond0
(and, if it matters, I've got "net.ifnames=0 biosdevname=0" in the GRUB config, as I wanted the old-style names.
As I say, this configuration works on the other nodes okay. I don't really understand why it's not working this time (it is possible that - as it was many months ago that I last did this - I might have forgotten some vital step, but I don't think so).
Does anyone have a clue what's wrong or what I might do to fix it?