Highly Available and Highly Redundant config?

Discussion in 'Site & Server Administration' started by James M, Jan 14, 2008.

  1. #1
    Hi crew,

    I currently have 1x web server (apache) and 1x SQL server (MySQL with RAID).
    These servers currently rsync their important data every two hours to a secure NAS.

    I'd like to start looking at a highly available and redundant solution with the fewest machines possible.

    "highly available" is more important to me than "highly redundant" at this point in time.

    I'm looking for some solutions that consist of upto three to five servers. I basically want the config to allow load balancing of web serving of primarily static content. Lets say 80% static (js+images), 20% dynamic (php/sql)

    I'm curious about which road to take in regards to the packages/apps to make it happen. Heartbeat, using redirectors, etc. Do i need dedicated eth cards for heartbeat? etc.

    I'm fairly sure my SQL server is up to the task on it's own for availability, however replication in case of failure would be nice. (RAID suffice?)

    Apache on the other hand needs load balancing across two machines. Do I need a redirector machine? Can I use just two servers for Apache and run the redirectors on the same machines?

    Some of my main concerns:
    Serving 3-5T a month with 1bil hits+ takes it's toll on a single apache server

    Performing regular backups throughout the day eats bandwidth and CPU, best ways to do this? (currently rsyncing web files, and mysqldump'ing/zipping/ftp'ing SQL DB's)

    Still chasing the ultimate apache configuration for high demand, high hits server (eg like an Ad server for example) Best way to benchmark/test?

    now I'll do a forum search. hehe
     
    James M, Jan 14, 2008 IP
  2. boltok

    boltok Active Member

    Messages:
    257
    Likes Received:
    8
    Best Answers:
    0
    Trophy Points:
    78
    #2
    You can implement both fail-over and load balancing using just DNS. Setup round-robin A records or use views to divide traffic and have a script act as a heartbeat that adjusts the DNS, in case something goes wrong. This is my preferred method.

    For the static content, consider using Lighty or Nginx instead of Apache. They can handle much more traffic than Apache and have a smaller footprint. Both can also be used as reverse proxies that pass on the dynamic content to Apache.

    If you're setting up heartbeat, it's advisable to have it on a separate physical interface, but not mandatory.

    For backups, I guess you could backup the slave DB instead of the master, if you have a replicated slave. It would help minimize the load on the master.

    Take it one step at a time. There's lots you can do to improve.
     
    boltok, Jan 15, 2008 IP
  3. James M

    James M Peon

    Messages:
    36
    Likes Received:
    1
    Best Answers:
    0
    Trophy Points:
    0
    #3
    Thanks for the info. looks like we're staying with one web server for now. It's struggling. I need to find a suitable apache config.
     
    James M, Jan 16, 2008 IP