Tim, That works! I did not realize that the Red Hat network scripts have support for bonding options. (I did not find this documented anywhere.) But sure enough, I am able to set up a different primary interface for each bond using this method. Thanks so much! Sam >Hi, > >I configure bonding interfaces a bit differently. > >I put only this line into /etc/modprobe.conf : > >alias bond0 bonding > >And use this in /etc/sysconfig/network-scripts/ifcfg-bondX : > >DEVICE=bond0 >BOOTPROTO=none >IPADDR=192.168.100.1 >NETMASK=255.255.0.0 >ONBOOT=yes >BONDING_OPTS="miimon=100 mode=1 primary=eth0" > >I've got setup running like this in mode 1 (failover) and in mode 4 >(LACP). Unfortunately I don't have any systems with more then 1 bond >and I don't have anything spare to set this up. But you can try your >setup using this way to configure it, maybe that helps. > >Regards, >Tim On Tue, Jul 8, 2008 at 3:06 PM, Art Age Software <artagesw at gmail.com> wrote: > So, has anybody on this list gotten the bonding driver working with > more than a single bond and **different options** on the bonds in > CentOS 3/4/5 (I'm using 5.2)? > > I am starting to believe that this is in fact a problem with Red Hat > kernels. But if so, I am surprised that it has persisted so long > without being addressed. > > Should I file a bug with Red Hat? It is possible for CentOS to fix > kernel problems? Or must they always be fixed upstream? > > On Mon, Jul 7, 2008 at 12:00 AM, Art Age Software <artagesw at gmail.com> wrote: >>>>Does the second bonding interface have no primary interface, then? What >>>>exactly happens? >> >> Yes, exactly. The second bond comes up with no primary interface: >> >> # cat /proc/net/bonding/bond0 >> Bonding Mode: fault-tolerance (active-backup) >> Primary Slave: eth0 >> Currently Active Slave: eth0 >> MII Status: up >> MII Polling Interval (ms): 100 >> Up Delay (ms): 0 >> Down Delay (ms): 0 >> >> # cat /proc/net/bonding/bond1 >> Bonding Mode: fault-tolerance (active-backup) >> Primary Slave: None >> Currently Active Slave: eth2 >> MII Status: up >> MII Polling Interval (ms): 100 >> Up Delay (ms): 0 >> Down Delay (ms): 0 >> >> >> On Sat, Jul 5, 2008 at 9:45 AM, Art Age Software <artagesw at gmail.com> wrote: >>>>>Hi, >>>>> >>>>>could you describe in more detail? >>>>>What exactly is ignored? The options do not look much different. >>> >>> As I said, I am trying to set a different primary interface for each >>> bond: eth0 for bond0, and eth2 for bond1. >>> >>>>>Did you try without renaming? I do not use it, but it works nonetheless: >>>>>alias bond0 bonding >>>>>options bond0 mode=2 >>>>>alias bond1 bonding >>>>>options bond1 mode=2 >>> >>> You are setting identical options for both bonds. This masks the fact >>> that your second options line is ignored and essentially does nothing. >>> Try changing an option on bond1 (eg. set a different mode or a >>> different miimon value), and I think you will see that it is ignored. >>> >>> On Fri, Jul 4, 2008 at 1:11 PM, Art Age Software <artagesw at gmail.com> wrote: >>>> Hi, >>>> >>>> I've using linux bonding in active-backup mode to combine two pairs of >>>> GigE NICs (eth0/eth1, eth2/eth3) into two logical bonds (bond0/bond1). >>>> All is working fine. However, I would like to specify a primary >>>> interface for each bond. This means I need to specify different >>>> options to the bonding module for each bond. I have tried every >>>> conceivable incantation of options and cannot get the kernel to >>>> recognize the second set of options. >>>> >>>> Initially, my modprobe.conf looked like this: >>>> >>>> alias bond0 bonding >>>> alias bond1 bonding >>>> options bonding mode=active-backup miimon=100 max_bonds=2 >>>> >>>> What I am trying to achieve should be possible by changing >>>> modprobe.conf to this: >>>> >>>> alias bond0 bonding >>>> options bond0 -o bond0 miimon=100 mode=active-backup primary=eth0 >>>> alias bond1 bonding >>>> options bond1 -o bond1 miimon=100 mode=active-backup primary=eth2 >>>> >>>> But this results in fatal errors while bringing up the bonding interfaces. >>>> >>>> Changing to this eliminates the errors, but bond1 ignores the different options: >>>> >>>> alias bond0 bonding >>>> options bond0 -o bond0 miimon=100 mode=active-backup primary=eth0 max_bonds=1 >>>> alias bond1 bonding >>>> options bond1 -o bond1 miimon=100 mode=active-backup primary=eth2 max_bonds=1 >>>> >>>> I have tried many other combinations as well: >>>> >>>> install bond1 /sbin/modprobe --ignore-install bonding -o bond1 >>>> mode=active-backup primary=eth2 >>>> >>>> Nothing works. >>>> >>>> I also came across this note in the bonding docs: >>>> >>>> "NOTE: It has been observed that some Red Hat supplied kernels are >>>> apparently unable to rename modules at load time (the "-o bond1" >>>> part). Attempts to pass that option to modprobe will produce an >>>> "Operation not permitted" error. This has been reported on some Fedora >>>> Core kernels, and has been seen on RHEL 4 as well. On kernels >>>> exhibiting this problem, it will be impossible to configure multiple >>>> bonds with differing parameters." >>>> >>>> I have seen that error as well with certain combinations of options in >>>> my modprobe.conf. >>>> >>>> Am I simply out of luck here? Does anyone know of a solution? >>>> >>>> Thanks. >>>> >>> >> >