On Wed, 31 Mar 2004, David Nolan wrote:
> Start by writing a stand alone script that can perform the change you need.
> I suggest using perl and Net::DNS::Update to send DDNS updates to your
> master.
the problem with the dns update method is that caches all around won't
expire the "dead" address for too long of a time.
this is a better-behaved method if you have a small number of web
servers all serving the same content on the same subnet:
1. each server has two ip addresses, one which is published in dns
as an A record for "www.whatever.com", and the other is an
"administrative" address. the published address is assigned to
an alias interface, say eth0:1. the non-published address is
not an alias.
2. when the web server boots, it ifup's the non-published address,
but before configuring the published address on the alias
interface it sends out a gratuitous arp for that address,
and only configures it if it doesn't get a response (i.e.
someone else isn't already using it). you can use "arping"
to accomplish this:
http://www.gnu.org/directory/All_Packages_in_Directory/arping.html
if ! arping -q -D -c 5 -I eth0 ipaddr
then
# uh oh, some else is using that address on the subnet
fi
3. things run as normal, and mon checks http on the published
web server addresses for failure. when a failure happens, a
special alert script sshs over to one of the still-running web
server's non-published addresses and ifup's the failed server's
public address on another alias interface, say eth0:3.
this method is by no means the most robust, but it's reasonable if you
don't have the hardware to implement the proxy/load-balancer method.
i have the code which does all this, but it's not quite in a
nicely-packaged form. if someone is really interested i can probably
bundle it up.
_______________________________________________
mon mailing list
[EMAIL PROTECTED]
http://linux.kernel.org/mailman/listinfo/mon