synchronising failover web servers
Aristedes Maniatis
ari at ish.com.au
Fri Apr 9 20:38:16 PDT 2004
We have two web servers configured in an identical manner. Both
machines have an identical web server (Apache) setup with identical
copies of the html directories and config files. Each machine is
capable of handling the load alone, but the redundancy allows us to
upgrade one at a time, or have a second machine available as failover
in case of hardware failure. We simply swap the IP addresses of the
interfaces, or apply DNAT at the upstream router.
I know there are more automatic failover options available, but this is
sufficient for our needs.
Both machines are currently FreeBSD 4.9. There is a separate secure
gigabit network linking the servers together which carries no internet
traffic.
The problems we have right now are:
1. how to sync the html directories
2. how to sync config files (eg httpd.conf, contents of /usr/local/etc,
and so on)
I have been experimenting with various options. For (2), I have been
thinking of creating a cvs repository to which we commit all changes
and then creating cvs checkout scripts on the deployment machines. That
way rollback is easy, we can comment changes, and testing on a third
testing box is easy. However, cvs is not well suited to files scattered
all over a file system. It expects to deal with a single folder full of
files and folders.
For (1), users have the ability to upload files directly to the server
via ftp, so cvs is not appropriate. I've looked at rsync, but found it
to not be ideal for a two way synchronisation - it is better suited for
a mirror type situation where one machine is master. In our setup, it
is possible, through DNS changes that either machine is the master at
any point in time.
What solutions have others used for these situations? We are at the
small end of the scale, with dozens of sites rather than hundreds, so a
simple solution is what we are looking for. Our sites are all complex
database driven beasts, but I only need to solve this particular part
of the problem now.
Cheers
Ari Maniatis
-------------------------->
ish group pty ltd
7 Darghan St Glebe 2037 Australia
phone +61 2 9660 1400 fax +61 2 9660 7400
http www.ish.com.au | email info at ish.com.au
PGP fingerprint 08 57 20 4B 80 69 59 E2 A9 BF 2D 48 C2 20 0C C8
More information about the freebsd-isp
mailing list