Linux as backup (failover) machine

Digital Wokan wokan@home.com
Fri, 03 Nov 2000 23:31:20 -0700


The only real show-stopper I see in your solution is that the NT box
would have to hold off activating it's IP address on the network
attached card until the Linux box had relinquished the IP.  (Windows
hates trying to use an IP that's already assigned.)

Kevin Buettner wrote:
> 
> On Nov 4,  8:11am, Ken Bowley wrote:
> 
> > I've been posed with a question, and I'm a little stumped...  please
> > bear with me.
> >
> > Problem:
> > Make a Linux machine automatically kick in as a failover machine for
> > http when the NT machine goes down.
> >
> > Restrictions:
> > Need to be able to monitor the NT box without installing anything
> > extra on the NT machine.  Linux machine needs to be able to kick in
> > automatically when the NT box goes down, and give control back to
> > the NT box when it comes back up.  No access to installing any type
> > of router/proxy between the NT and Linux box and the rest of the
> > net.
> >
> > Please send your ideas either directly to myself, or to the list if
> > this problem is of interest to others.
> 
> First, I'm sure that there's some code already out there somewhere
> for this, but it doesn't sound terribly difficult to implement from
> scratch either.  (Maybe about five lines of Perl?)
> 
> Anyway, the NT box in pingable, right?
> 
> Set up a script which continuously pings the NT box; when the
> pings stop coming back, do an ifconfig on your network interface
> to the NT box's IP address.
> 
> The reqlinquishing control part is harder, but could be easily
> solved if the NT machine had two network adapters; you could ping
> the second one to know when to give up the NT machine's IP
> address.
> 
> So... thinking about this some more, it'd probably be best if
> both machines had two network cards.  Weird things happen
> when two machines attempt to use the same IP address.
> 
> So here's how it'd look:
> 
> ====+==+==============+==+========= Network
>     |  |              |  |
>    A| B|             C| D|
>     |  |              |  |
>    -+--+-           --+--+-
>   |  NT  |         | Linux |
>   --------         ---------
> 
> Now suppose that NT is supplying its services via interface A and
> that you want Linux to use C when it acts as the failover.
> 
> So...  start out with C disabled ("ifconfig eth0 down", or somesuch).
> Ping B via D.  When the pings stop coming back, do "ifconfig eth0 up ..."
> Now, you continue to ping B from D, and when the pings resume, just
> do "ifconfig eth0 down" again to allow the NT machine to take over
> again.
> 
> It may be possible to make it work with a single NIC on the NT box,
> but I have doubts about the reliability.  (But someone who knows
> more about networking that I do might have some ideas.)
> 
> Note too that you can tighten the whole arrangement up by doing:
> 
> ====+=================+============ Network
>     |                 |
>    A|                C|
>     |                 |
>    -+-----         ---+----
>   |  NT  +----~----+ Linux |
>   -------- B     D ---------
> 
> where the cable between B and D is a crossover cable.  That way too
> you could assign B and D network addresses intended for private
> networks (192.168.X.Y or 10.X.Y.Z).
> 
> Okay, so maybe it's around 25 lines of Perl.  (It sounds interesting
> enough that I'm tempted to code it myself.)
> 
> Kevin