<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.18.3">
</HEAD>
<BODY>
Both the RHCS page and your assessment are correct.  Keep in mind that RHCS / GFS provide the host framework for applications to leverage for high availability and/or scalability  -- simply installing and running them alone are not enough.<BR>
<BR>
What you use for hardware, what your application is capable of doing within this environment, and its IMPLEMENTATION determine whether you are attempting to achieve high availability and/or scalability.  At the very least, you will have a better solution in place than running a single monolithic server.<BR>
<BR>
A simple example, if you run a monolithic database instance, and simply want fail-over to another node, the resource group manager's policy for that clustered services can do this for you -- without any manual intervention -- such as moving its IP and disk resources and restarting the database.  That IS THE BEST availability you can get out of such a design.  And this does nothing to increase scalability.<BR>
<BR>
But expand this use-case by implementing a database that was built for high availability -- such as Cache ECP or Oracle RAC -- then such an outage on one node (planned or unplanned) will be managed by RHCS / GFS architecture to provide for 100% uptime.  But, you also get scalability as a positive outcome from this same infrastructure AND implementation.<BR>
<BR>
We are using RHCS / GFS to manage a Cache ECP environment.  The production application / database is not split yet into multiple tiers, but it is shadowed for quick fail-over.  Until it is broken up over several servers, we will never achieve ~100% uptime ... there will always be that downtime during service transitioning, planned or unplanned.<BR>
<BR>
We are also using RHCS only to front-end Peoplesoft (BEA WebLogic) for high-availability, but implemented as an active-active server pair.  True, it also serves for scalability, even though a single server can easily handle our load.  But if something happens to one server (runaway process(es) from a bad script, bad application, etc.), we can shut it down without interrupting service.<BR>
<BR>
Hope this helps.<BR>
<BR>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%">
<TR>
<TD>

<HR LENGTH="375">
<BR>
<B><FONT SIZE="1"><FONT COLOR="#000066">Robert Hurst, Sr. Caché Administrator</FONT></FONT></B><BR>
<B><FONT SIZE="1"><FONT COLOR="#3333ff">Beth Israel Deaconess Medical Center</FONT></FONT></B><BR>
<B><FONT SIZE="1"><FONT COLOR="#6666ff">1135 Tremont Street, REN-7</FONT></FONT></B><BR>
<B><FONT SIZE="1"><FONT COLOR="#6666ff">Boston, Massachusetts   02120-2140</FONT></FONT></B><BR>
<B><FONT SIZE="1"><FONT COLOR="#6666ff">617-754-8754 ∙ Fax: 617-754-8730 ∙ Cell: 401-787-3154</FONT></FONT></B><BR>
<FONT SIZE="1"><FONT COLOR="#9999ff">Any technology distinguishable from magic is insufficiently advanced.</FONT></FONT>
</TD>
</TR>
</TABLE>
<BR>
<BR>
On Sun, 2008-08-17 at 17:03 -0400, Jeff Sturm wrote:
<BLOCKQUOTE TYPE=CITE>
<PRE>
Greetings,
 
The Red Hat Cluster Suite page says the following:


 "For applications that require maximum uptime, a Red Hat Enterprise
Linux cluster with Red Hat Cluster Suite is the answer. Specifically
designed for Red Hat Enterprise Linux, Red Hat Cluster Suite provides
two distinct types of clustering:

    * Application/Service Failover - Create n-node server clusters for
failover of key applications and services
    * IP Load Balancing - Load balance incoming IP network requests
across a farm of servers"


The implication seems to be that the first type addresses high
availability, and the second scalability.  What is the optimal way to
get both?

Please understand that I am already a user of GFS and LVS.  I'm asking
the question because the two seemingly have nothing in common.  For
example, cman knows about cluster membership and can immediately react
when a node leaves the cluster or is fenced.  On the other hand, LVS
(together with either piranha or ldirectord) keeps a list of real
servers, periodically checking each and removing any found to be
unresponsive.

It seems like there are a couple drawbacks to this bifurcated design:

- once cman realizes a node has left the cluster, there is a delay
before ipvs updates its configuration, during which user requests can be
routed to a dead server
- two distinct sets of cluster configurations have to be maintained

Am I misunderstanding something fundamental, or is that the way it is?


-Jeff

--
Linux-cluster mailing list
<A HREF="mailto:Linux-cluster@redhat.com">Linux-cluster@redhat.com</A>
<A HREF="https://www.redhat.com/mailman/listinfo/linux-cluster">https://www.redhat.com/mailman/listinfo/linux-cluster</A>

</PRE>
</BLOCKQUOTE>
</BODY>
</HTML>