Network multi-pathing on two Ethernet cards
Q Running Red Hat, I have two Ethernet cards plugged into a single switch and a single static IP address. Is it possible to set up network multi-pathing on these two network interfaces so that if one link dies, it fails over to the second without setting up a virtual IP address?
A Yes, IP multi-pathing (bonding) allows a host to be redundantly connected to a network by two independent paths. There are other bonding methods, but as you want high availability I'd suggest IP multi-pathing is your best bet. Unlike the floating virtual IP method of multi-path redundancy, bonding creates a floating virtual interface. Under Red Hat, to configure bonding you need to associate the two physical interfaces with a new virtual bonded interface, 'bond0', within the standard network configuration files. Thus, ifcfg-eth0 and ifcfg-eth1 will need to contain the following:
/etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 ONBOOT=yes TYPE=Ethernet MASTER=bond0 SLAVE=yes /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth0 ONBOOT=yes TYPE=Ethernet MASTER=bond0 SLAVE=yes
Now, create a new bonded network interface file called bond0 that contains the network specific information that your previous network configuration file (ifcfg- eth0) contained, like this:
/etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 ONBOOT=yes BOOTPROTO=static TYPE=Ethernet IPADDR=x.y.z.a NETMASK=x.y.z.a
You've now configured the network information on the new virtual interface and associated it tothe two physical ones. Next you'll need to configure bonding to initialise on boot. Set the polling interface and bonding method, in this case Active/Standby. Add the following to /etc/modprobe.conf:
alias bond0 bonding options bonding mode=1 miimon=100 primary=eth0 install bond0 /sbin/modprobe eth0; /sbin/modprobe eth1; /sbin/modprobe bonding; /bin/true mode=1 is active/standby miimon=100 is the polling interval is the network polling interval in milliseconds - 100ms.
Now you'll need to load the bonding module and restart networking. As root, execute the following commands:
modprobe bond0 service network restart
The only thing left is to update any config files, such as Iptables, that reference the physical interface with the new bonded interface.
- Make Ethernet cards remember names between reboots
- Fedora: which network interface card is being used?
- Configuring broadband over ethernet
- ADSL network connection with Xircom card not working in Mepis
- eth0 device not appearing on Dell e1505 with Broadcom Ethernet