Menu

...bond0 does not seem to be present...

Help
hulmer
2005-06-09
2013-06-06
  • hulmer

    hulmer - 2005-06-09

    Hi all - need some help...

    New to bonding. Tried to follow the bonding howto by Thomas Davies, but running into some problems.

    - Running Redhat 9 (with initscript support).
    - Created ifcfg-eth0 and ifcfg-eth1 as per doc
    - Created ifcfg-bond0 as per doc
    - Appended /etc/modules.conf as per doc

    But when I run "network restart", I get the following error:

    "Bringing up interface bond0:  bonding device bond0 does not seem to be present, delaying initialization [failed]
    Bringing up interface eth0: [ok]
    Bringing up interface eth1: [ok]"

    Double checked all the above files about 5 times for typos, but they are correct.

    Eventually want to set this machine up for HA in a multiple switch topology, but figured if I can't get this bit right, I should try moving on to the next level...

    Searched google, and these forums with no luck.

    Any suggestions? Need to get this working over the next few days so that I can test contractors configs on cisco switched fabric works.

    Thx in advance.
    Hulmer

     
    • Jay Vosburgh

      Jay Vosburgh - 2005-06-09

      Can you check the following things?

      - Look in /var/log/messages (right after the network restart), and see if there are any messages that look relevant?  If so, post them.

      - Possibly related to the previous, RH 9 is pretty old, and I don't believe the bonding driver in the stock RH 9 kernel (2.4.20-8) supports all of the modes of the current driver, so if you're using one of the newer modes (4 or above, most likely), it will fail to load.

       
    • hulmer

      hulmer - 2005-06-10

      /var/log/messages after network restart...

      network: Shutting down loopback interface: succeeded
      sysctl: net.ipv4.ip_forward = 0
      sysctl: net.ipv4.conf.default.rp_filter = 1
      sysctl: kernel.sysrq = 0
      sysctl: kernel.core_uses_pid = 1
      network: Setting network parameters: succeeded
      kernel: ip_tables: (C) 2000-2002 Netfilter core team
      network: Bringing up loopback interface: succeeded
      ifup: bonding device bond0 does not seem to be present, delaying initialization.
      network: Bringing up interface bond-: failed
      ifup: Enslaving eth0 to bond0
      insmod: /lib/modules/2.4.20-8/kernel/drivers/net/bonding.o: invalid argument syntax for mode: 'b'
      insmod: /lib/modules/2.4.20-8/kernel/drivers/net/bonding.o: insmod bond0 failed
      ifup: SIOCGEFHWADDR on bond0 failed: No such device
      network: Bringing up interface eth0: succeeded
      ifup: Enslaving eth1 to bond1
      modprobe: modprobe: Can't locate module bond1
      ifup: SIOCGIFHWADDR on bond1 failed: No such device
      network: Bringing up interface eth1: succeeded

      Default config for /etc/modules.conf is to use "balance-alb". However, I'm wanting HA not load balancing so tried setting to "active-backup" and "balance-rr". Same error, and no change in the logs.

      Your reference to mode 4 or above got me thinking so I tried "0" instead of "balance-rr" and am no longer getting the "ifup: bonding device bond0 does not seem to be present, delaying initialization." error in /var/log/messages.

      /var/log/messages now...

      ...
      Bringing up loopback interface: succeeded
      iptables: (C) 2000-2002 Netfilter core team
      kernel: bonding.c:v2.4.20.20021210 (December 10,2002)
      kernel: bond0 registered with MII link monitoring set to 100ms, in load balancing (round-robin) mode.
      kernel: bond0 registered without ARP monitoring
      kernel: ip_tables: (C) 2000-2002 Netfilter core team
      network: Bringing up interface bond0: succeeded
      ifup: Enslaving eth0 to bond0
      kernel: eth0: Setting half duplex based on auto-negotiated partner abilitt 0000.
      kernel: bond0: enslaving eth- as an active interface with a down link (note cable was physically unplugged at this point)
      ifup: master has no hw address assigned; getting one from slave!
      network Bringing up interface eth0: succeeded
      ifup: Enslaving eth1 to bond1
      modprobe: modprobe: Can't locate module bond1
      ifup: SIOCGIFHWADDR on bond1 failed: No such device
      network: Bringing up interface eth1: succeeded.

       
      • Jay Vosburgh

        Jay Vosburgh - 2005-06-10

        The driver of that era couldn't handle the text names, it could only accept the number for the mode, and it only supported 0, 1 and 2, I think.

        You may be a lot happier in the long run if you can upgrade that kernel; if you have to stick with the free releases, the recent Fedora Core distros are reportedly pretty stable (I don't use them, so I couldn't say).  The more recent bonding drivers do have more features, but also bug fixes, so even active-backup mode is going to be more reliable.

         
    • hulmer

      hulmer - 2005-06-10

      Would love to upgrade to a more recent distro, but am testing on same distro as we are using in a production env and that has a complicated config so to migrate distros won't be easy.

      Once cashflow isn't so tight, we'll migrate to rhel, but don't want to have to do 2 distro changes e.g. rh9 to fc(x) to rhel4

      Oops... found a typo in my ifcfg-eth1 ... tried to make it part of bond1 while i was playing and forgot to change it back. Now it is part of bond0, it works. Seems a bit tempremental (e.g. if i pull one eth cable out, it works, plug back in, still works, pull other eth cable out, it stops working. Perhaps that's by design?! But have got the basics going now, so time to play... (and keep hunting the forums for tips and tricks hehe).

      Thx for your help Jay much appreciated ;)

      Hulmer

       
      • Jay Vosburgh

        Jay Vosburgh - 2005-06-10

        hulmer sez:
        Seems a bit tempremental (e.g. if i pull one eth cable out, it works, plug back in, still works, pull other eth cable out, it stops working. Perhaps that's by design?!

        No, I suspect that would be one of those bugs I mentioned as being fixed in a later version (one of the twenty or so revisions that has followed the now ancient version in RH 9 2.4.20-8)

         
    • hulmer

      hulmer - 2005-06-10

      You are probably right :(  Will do a hunt and try to confirm this.

      Oh well, until then, I think I will need to just change the switched fabric config until I can upgrade distros so that all traffic is routed to the sw that eth0 is connected to unless eth0 or the switch it's connected goes down in which case it hits eth1, then a manual network restart to restore original config.

      You wouldn't happen to know how to force which nic is primary slave would you? Tried using primary=eth0 option in /etc/modules.conf, but as eth1 is loaded after eth0, it seems to be the primary.

      Thx for all the assistance, btw.
      Hulmer

       
    • hulmer

      hulmer - 2005-06-14

      Problem seems to have resolved itself after a reboot?!

      Documentation sugggests that this should be working after simply doing a network restart, but think perhaps there is something that needs to be flushed from the kernel via a reboot.

      Once functioning correctly you should be seeing the following in /var/log/messages:

      (note: eth0 is primary)
      <disconnect eth0 cable>
      kernel: bond0: link status definitely down for interface eth1, disabling it AND MAKING INTERFACE ETH1 THE ACTIVE 1.
      <connect eth0 cable>
      kernel: bond0: link status definitely up for interface eth0.
      kernel: and making intterface AND MAKING INTERFACE ETH0 THE ACTIVE ONE.

      If you aren't seeing the "and making interface eth[1,2] the active one" reboot!

       

Log in to post a comment.