[Pacemaker] Initial quorum
pskrap
pskrap at hotmail.com
Thu Jul 21 10:45:19 UTC 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