Network Adapter Failover in Linux?
Brian the Wise asks: "Is there anything avaible for Linux that can compare to the IP Multipathing in Solaris 8? I need it specifically for the active/passive failover of ethernet interfaces. A search around the net has only come up with HA Linux and LVS, but they're both talking about complete machine failover. All I want is for the system to move the IP configuration from one ethernet interface to a dormant one on the same machine when it detects the link going down on a single machine. Is there anything with a proven track record out there?"
http://ps-ax.com/failoverd/failoverd-pod.html
and it needs an owner.
Indie rock lives! b-side!
They typical router solution is to have the dual hosted box participate in a routing protocol like OSPF using gated or something similar. Configure your routing daemon to have each physical interface advertise a zero cost route to a loopback address configured on the unix box then always use that loopback address to connect to it. If an iterface fails, the routing protocol converges and you maintain your connection.
Depending on the routing daemon and the OS you can even get load balancing between the equal cost routes when both interfaces are up.
09F911029D74E35BD84156C5635688C0
Jesus loves you, I think you suck
Something elhse you might want to try is having both ethernet devices have the same IP. Its possible, look into it, most switches (as it hub/switch) nowadays support it, I know the linksys ones do atleast. That way you actually get a faster output from the machine, AND you get failover at the same time.
When someone begins an essay with "Hello!" I really begin to pay attention ;)
Do a search on freshmeat.net for apd. (the alternate pathing daemon.) I'm using it quite successfully on linux and solaris 7 (in test bed only right now though). It's not bad.
Other slashdotters have already postet links to very interesting programs, but I'm not shure if those take the physical link-status in account (which I whould find very interesting).
But if you want to do some programming on your own you should look at mii-diag which can monitor your ethernet-card's physical interface and tell you when your link goes down (physically).
Using this as a basis, you could write a very simple eth-phy-daemon which could start a script whenever your physical link goes up/down. Then you could change your network-config with those.
http://www.scyld.com/diag/
I'm mostly a windows 2000 guy so this may be wrong, but does Linux have a way to set an Interface Metric?
Basically that means you assign each eth adapter a number (metric). If more than one is set up with a route to your destination, it tries them in order of lowest metric to highest metric. Simply set up the failover adapter with a metric one higher than the standard one and you're set.
--IronHelix
The higher end server ethernet cards tend to do this automatically; they generally create a virtual NIC for the OS to use, then do it all transparently to the OS. This allows for clustering and for failover of NICs. Said highend cards are also often multiport. Dells, for example, tend to use the Intel ones.
Vintage computer games and RPG books available. Email me if you're interested.
pickup a few intel ee-pro/100 adaptors, and then use intel's advanced networking services module - the cards will support fault tolerance, load balancing, and link aggregation. you'll need to use intel's own e100 kernel module (not the eepro100 module included in the main kernel tree), though i haven't had any problems with it.
r /a ns/linux/linansoverview.htm
http://support.intel.com/support/network/adapte
Convolo has support for NIC failover which is modeled after Solaris's mpathd. Unfortunately, this only works in a clustered environment, so it may not be exactly what you're looking for.
Wow, that was almost interesting. I actually read it, up till the 3rd reference to the "Jewish" media. Then I started to realize that your a complete bigot :)
Try VRRPd if you just want failover between boxes, but a better solution is to dynamically load-balance over the two interfaces using a routing protocol.