Saturday, May 7, 2011

Debian Link Aggregation (Network Bonding)

Here we are going setup link aggregation for Debian. Your system must have at least 2 network interfaces (but not limited to).

Bonding

  1. Install ifenslave-2.6 package:
    apt-get install ifenslave-2.6
    
  2. Load bonding kernel module:
    modprobe bonding
    
  3. Note that you shouldn't have any configuration for eth0 and eth1, they are attached as slaves for bond0 interface. Network configuration (file /etc/network/interfaces):
    auto bond0
    iface bond0 inet static
         address 192.168.10.14
         netmask 255.255.255.0
         network 192.168.10.0
         broadcast 192.168.10.255
         gateway 192.168.10.1
    
         slaves eth0 eth1
    
         # Transmit packets in sequential order 
         # from the first available slave through 
         # the last. This mode provides load 
         # balancing and fault tolerance.
         bond-mode balance-rr
    
         # Only one slave in the bond is active. 
         # A different slave becomes active if, 
         # and only if, the active slave fails. 
         #This mode provides fault tolerance.
         #bond-mode active-backup
    
         bond-miimon 100
         bond-downdelay 200
         bond-updelay 200
    
  4. Once above is complete you need to reboot your server so the network changes take place (that should be faster than bringing up/down network interfaces and restarting networking service).

Bridge

You can use link aggregation with network bridge, for example if you are using lxc / kvm virtualization. Here is network configuration (file /etc/network/interfaces):
auto bond0
iface bond0 inet manual
     slaves eth0 eth1
     bond-mode balance-rr
     bond-miimon 100
     bond-downdelay 200
     bond-updelay 200

auto br0
iface br0 inet static
     address 192.168.10.14
     netmask 255.255.255.0
     network 192.168.10.0
     broadcast 192.168.10.255
     gateway 192.168.10.1
     bridge_ports bond0
     bridge_fd 0
     bridge_maxwait 0
     bridge_stp off

Network Switch

If your switch supports port trunking you should add the switch ports used by eth0 and eth1 to a single trunk.

Sunday, May 1, 2011

How to change default OS in grub2

Change the following line in file /etc/default/grub (the number corresponds to the grub2 boot menu item starting from zero):
GRUB_DEFAULT=0
Once you made your changes issue the following command:
update-grub
Once you reboot the default selected item will be changed per your changes above.