First one of the things that goes wrong is that ethernet media autoconfiguration takes up time and causes network interfaces to take so long to come up there is the possibility that that will interfere with bonding configuring. You can hardcode the media speed/duplex/etc on the switch and in /etc/network/interfaces
auto eth0
iface eth0 inet manual
media 1000baseTx-FD
for each eth0 device to be bonded.
Next you can get bonding to work by using pre-up, etc. in /etc/network/interfaces like this:
auto bond0
iface bond0 inet manual
pre-up modprobe bonding mode=802.3ad ad_select=bandwidth downdelay=400 miimon=100 lacp_rate=0 max_bonds=2 ; ifconfig bond0 up ; ifconfig eth0 up ; ifconfig eth1 up
post-up ifenslave bond0 eth0 eth1
pre-down ifenslave -d bond0 eth0 eth1
post-down ifconfig eth0 down ; ifconfig eth1 down ; ifconfig bond0 down
@Pete Ashdown yes, there is a workaround.
First one of the things that goes wrong is that ethernet media autoconfiguration takes up time and causes network interfaces to take so long to come up there is the possibility that that will interfere with bonding configuring. You can hardcode the media speed/duplex/etc on the switch and in /etc/network/ interfaces
auto eth0
iface eth0 inet manual
media 1000baseTx-FD
for each eth0 device to be bonded.
Next you can get bonding to work by using pre-up, etc. in /etc/network/ interfaces like this:
auto bond0
iface bond0 inet manual
pre-up modprobe bonding mode=802.3ad ad_select=bandwidth downdelay=400 miimon=100 lacp_rate=0 max_bonds=2 ; ifconfig bond0 up ; ifconfig eth0 up ; ifconfig eth1 up
post-up ifenslave bond0 eth0 eth1
pre-down ifenslave -d bond0 eth0 eth1
post-down ifconfig eth0 down ; ifconfig eth1 down ; ifconfig bond0 down