ng_one2many v.s. AFT (NIC Fault Tolerance/Fail Over/Redundancy Revisited)

Danny Howard dannyman at toldme.com
Mon Oct 17 09:41:04 PDT 2005


On Mon, Oct 17, 2005 at 08:52:24AM -0400, Jonathan Donaldson wrote:

> >Essentially, a single layer 3 IP address needs to be visible in a  
> >"switch fault tolerant" or "adapter fault tolerant" configuration.   
> >A userland-level daemon could be scripted, and it has been done  
> >before:
[...]
> <jonathan> Will CARP work between two interfaces on the same server?  
> I always thought it was positioned for two separate devices. If it  
> did work on the one server, the only down side I can really see is  
> having to have 3 ip addresses for each 1 real address you want. Also,  
> there might be some issues with getting this to work with Jails </ 
> jonathan>

I have played a bit with CARP for web server pooling, and I have some
test equipment on hand this week.  I want to pace my new ethernet
switches and hardware, so I think I can set up a test.

I think this will not work, because you don't tell CARP which device to
ride ... I think it just looks for the "parent device" configured for
the same network, and takes the first found.

Though, maybe this is not a difficult or unreasonable feature to add to
CARP: a "parent device" flag.  So:

ifconfig carp0 create
ifconfig carp0 vhid 1 pass mekmitasdigoat 192.168.1.1/24 iface fxp0
ifconfig carp1 create
ifconfig carp0 vhid 1 advskew 100 pass mekmitasdigoat 192.168.1.1/24 iface fxp1

SHIFTING GEARS

While it is nice to have a clean OS feature to handle this, if it
doesn't exist just now, and you want to get something out the door, then
configuring an "IP heartbeat" might be the way to go ... ping ... ping
.. ping ... the next hop?  If ping goes away, run an "iflip" script that
moves your IPs from one interface to another.  Opens up the possibility
of flapping and thrashing ... 

(For my purposes, I will likely be implementing "manual failover"
procedure since a switch failure will be disruptive anyway. :)

Cheers,
-danny


More information about the freebsd-questions mailing list