High availability configuration
Hello,
I am in the process of replacing two aging web servers. The platform of choice is RHEL. These servers must be in a high availability configuration. I'm am looking at suggestions on how to do this. Is clustering the right answer? A college of mine several months ago started looking into ricci and luci as his answer. I don't know know if that is the right answer or not.
This environment will consist of one primary server and a secondary. When the primary gets updated, the secondary should be automatically updated as well and then the primary should be able to fail over to the secondary automatically.
Anyone have any expereince with this type of configuration? Any suggestions?
Thank you.
Daryl
Responses
Hi Daryl,
What kind of content will be served from the two web servers? Will it be mostly dynamic or static? Do you have backend application or database servers that you will be using?
Luci and ricci are front-end management tools for cluster services, not a clustering implementation themselves.
Red Hat has an excellent clustering product called Red Hat Cluster Suite (http://www.redhat.com/cluster_suite/) that will fit the primary/secondary paradigm you mention above and would work well for serving content from a single server.
Some other tools that we use on a daily basis include heartbeat (for HA) and haproxy (for Load Balancing).
If you need to scale "horizontally" beyond a pair of servers, you will want to spend some time looking into load balancing solutions as well.
If your content is primarily static, you might be just as well off to set up your DocumentRoot on an NFS share shared by each web server (ensure that your ServerRoot - configuration files, logfiles, etc. - is on local disk). Then you can use a network-redirector to load-balance across web servers (when redundancy is available) or direct to the lone-active server (if you've got an outage on either web server).
The preceeding assumes use of Apache for your web server(s). There are also Apache-internal clustering technologies, but that gets a bit more "in depth" (and possibly not easily covered in the context of a forum thread).
If you're using something like WebLogic (which frequently implies an N-tier architecture), you can use the application server's internal clustering logic to handle availability issues. Presumably, you'd also have a backend database, also clustered - potentially using its own clusterware.
Basically, we probably need more info to tell you how deep you're likely to end up in the weeds, and toss you some tips on navigating those weeds. ;)
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
