[Pacemaker] Initial quorum

pskrap pskrap at hotmail.com
Thu Jul 21 06:45:19 EDT 2011

Devin Reade <gdr at ...> writes:

> --On Wednesday, July 20, 2011 09:19:33 AM +0000 pskrap <pskrap at ...>
> wrote:
> > I have a cluster where some of the resources cannot run on the same node.
> > All  resources must be running to provide a functioning service. This
> > means that a  certain amount of nodes needs to be up before it makes
> > sense for the cluster to start any resources.
> Without knowing anything about your application, I would tend to question
> this statement.  Is it true that you must not start *any* resources before
> you have enough nodes, or is sufficient to say that the application
> is not considered up until all resources are started?  It may not 
> make sense to run any, but does it do any harm?
> If you *can* start at least some resources before all nodes are available,
> then I would expect that you could get by with defining colocation
> constraints to ensure that some resources don't run on the same nodes,
> perhaps augmenting things with some order constraints if necessary.
> If your applications die or do other horrible stuff when only some subset
> are running then I'd have a talk with your application developers
> as it sounds like a larger robustness problem.
> Devin

No, there are no crash issues etc when all resources are not running. The 
application is just not usable until all resources are started. 

As for the harm, the resources which have constraints preventing them from 
running will fail, but I guess they will recover as more nodes are added. The 
harm is mostly in the fact that starting nodes one by one will cause the 
resources to be unevenly distributed over the nodes since everything will start 
on the nodes in the order they are installed. I know I can give a preferred 
node to a resource and allow it to relocate when it becomes available. However, 
this application provides a real-time service so I only want resources to 
relocate when it is absolutely necessary. Therefore I have given the resources 
a preferred node, but do not allow them to relocate when it becomes available.

So I guess the overall harm is limited even though it exists. I was just 
looking for a cleaner startup for the system. Since you did not mention any way 
to do what my question was about I assume it is currently not possible to do 
what I asked for. I do think such an option would be useful though. Logically 
it does not make sense for the cluster to be starting resources for an 
application before the cluster have enough nodes for the application to be able 
to run.

More information about the Pacemaker mailing list