[Pacemaker] Location issue: how to force only one specific location, and only as "Slave"
Lars Ellenberg
lars.ellenberg at linbit.com
Tue Jul 5 23:22:38 UTC 2011
On Tue, Jul 05, 2011 at 11:40:04AM +1000, Andrew Beekhof wrote:
> On Mon, Jul 4, 2011 at 11:42 PM, ruslan usifov <ruslan.usifov at gmail.com> wrote:
> >
> >
> > 2011/6/27 Andrew Beekhof <andrew at beekhof.net>
> >>
> >> On Tue, Jun 21, 2011 at 10:22 PM, ruslan usifov <ruslan.usifov at gmail.com>
> >> wrote:
> >> > No, i mean that in this constaint:
> >> >
> >> > location ms_drbd_web-U_slave_on_drbd3 ms_drbd_web-U \
> >> > rule role="slave" -inf: #uname ne drbd3
> >> >
> >> > pacemaker will try to start slave part of resource (if drbd3 is down) on
> >> > other nodes, but it doesn't must do that.
> >>
> >> The only way to express this is to have:
> >> - a fake resource that can only run on drbd3, and
> >> - an ordering constraint tells ms_drbd_web-U to start only after the
> >> fake resource is active
> >>
> >
> > In future releases does this change?
>
> Its a planned but unimplemented feature.
(please do not use "drbdXYZ" as host name! imagine to explain what you
mean by drbd7 on drbd3 to someone else ...)
If I understand correctly, you want to
* restrict the resource to run only on one specific host
* prevent it from becoming primary, ever
Then why not (I assume hostname X now):
# disallow anywhere but X
location l_ms_drbd_only_on_X ms_drbd \
rule -inf: #uname ne X
# but even on X, don't become Primary.
location l_ms_drbd_no_primary_on_X ms_drbd \
rule $role="Master" -inf: #uname eq X
If you want pacemaker to really always do exactly "that",
then it seems to be most effective to not try to force "that",
but to forbid "everything else" ;-)
--
: Lars Ellenberg
: LINBIT | Your Way to High Availability
: DRBD/HA support and consulting http://www.linbit.com
DRBD® and LINBIT® are registered trademarks of LINBIT, Austria.
More information about the Pacemaker
mailing list