Background on Channel Bonding is available form:
http://www.beowulf.org/software/software.html
Requirements:
TWO Ethernet NICs per system. TWO hubs (one for each channel) OR two switches (one for each channel) OR a switch that can be segmented into virtual LANS
Steps (for kernel 2.0.36): 1. Download and build the ifenslave.c program: (http://beowulf.gsfc.nasa.gov/software/bonding.html) Comment out line 35 "#include " and compile using "gcc -Wall -Wstrict-prototypes -O ifenslave.c -o ifenslave"
2. Apply the kernel patch (get linux-2.0.36-channel-bonding.patch from ftp ftp.plogic.com), run xconfig and enable Beowulf Channel bonding
3. Rebuild and install the kennel.
Each channel must be on a separate switch or hub (or a segmented switch). There is no need to assign an IP number to the second interface, although using it as separate network (without channel bonding) may have advantages for some applications.
To channel bond, login to each system as root and issue the following command on each system:
./ifenslave -v eth0 eth1
This will bond eth1 to eth0. This assumes:
eth0 is already configured and used as your cluster network. eth1 is the second Ethernet card detected by the OS at boot.
You can do this from the host node by enslaving all nodes BEFORE the host (Order is important. Node 2 must enslaved before the host - node 1). For each node, do steps a,b,c.
a. open a window b. login to node 2 c. enter (as root) the above command. d. in a separate window enter (as root) the above command for node 1.
Your cluster should now be "channel bonded". You can test this by running netperf or a similar benchmark.
Channel bonding shutdown is not as simple. We are investigating this and will provide command line tools that execute channel bonding set-up and tear down automatically. In the mean time, the safest way to restore single channel performance is to either reboot each system or use the network manager (part of the control panel) to shutdown and restart each interface.
REMEMBER: communication between a channel bonded node and a none channel bonded node is very slow if not impossible. Therefore the whole cluster must be channel bonded.