Re: Redundent Debian linux web server

From: Jeff Fisher <guppy_at_no.spam.please>
Date: Wed Jul 26 2006 - 22:25:00 CST

chris@fazekas.net wrote:
> Dick,
>
> I gather you could do a round robin DNS as suggested. You could also
> look at
> doing a heartbeat server style server setup. Although, you'll probably
> still
> have to do some sort replication of your DB to keep things current. The
> problem I ran into is, if the Primary server is replicating to the
> secondary
> server, does the Secondary server replicate back to the Primary server?
> And,
> what happens if data is written to the DB on the Primary and Secondary
> at the
> same time? I'm not sure if MySQL replication can handle that.. if someone
> knows exactly how that would work, please do tell.

MySQL replication is normally done just master -> many slaves; however,
if you handle things like auto increments in your code, you can do
master/master without too much issue -- or you can use MySQL Cluster.

If you want to have a failover for your master MySQL server, I would
recommend using DRBD and mirror /var/lib/mysql using it to the other
machine -- then if the primary fails, you can become the primary and
start serving up data.

>
> The scenario I had looked at for my client was setting up 1 file server, 1
> database server, and 3 or 4 single hard drive machines running apache web
> server. (total 5-6 servers, the first 2 in RAID5/6 configuration, the
> 3-4 in
> RAID0). I was then thinking about using a load-balance appliance, or round
> robin DNS. My clients site is running about 30,000+ unique sessions per
> day,
> the entire site is MySQL and ColdFusion MX 7.

I highly recommend LVS (Linux Virtual Server) for doing load-balancing,
we use it on a fairly busy mail server.

> My client opted out on that due to the cost, so we ended up going with
> an hourly
> rsync, and MySQL replication. The second server just acting as a
> fail-over only
> (not really a load balance solution, more of a primary and secondary.

That many machines seems like overkill for 30,000 sessions per day. One
standby machine would make sense IMHO.

>
> If a problem happens on the primary, I have a script (monitoring the
> site from
> the Secondary) that re-writes the DNS files and restarts Bind
> "auto-failing" to
> the secondary server (with a 30 second TTL).

I recommend keepalived for this rather than relying on DNS. Just move
the IP to whichever box is the primary at that moment in time.

Jeff
Received on Wed Jul 26 22:25:11 2006

This archive was generated by hypermail 2.1.8 : Fri Sep 08 2006 - 23:26:38 CST