On Tue, Dec 8, 2009 at 3:50 AM, infernix <[email protected]> wrote:
> Hi,
>
> Apologies for my previous mail, I should have been clearer. I've got a full
> hb_report now (attached or at http://dx.infernix.net/xen_order.tar.bz2).
> I'll keep things short and to the point.
>
> I've got a two node heartbeat+pacemaker cluster, using DRBD for shared
> storage. I have 7 ocf:heartbeat:Xen resources, all configured similar to
> this:
>
> primitive base ocf:heartbeat:Xen \
>        meta target-role="started" is-managed="true" allow-migrate="1" \
>        operations $id="base-operations" \
>        op monitor interval="10" \
>        op start interval="0" timeout="45" \
>        op stop interval="0" timeout="300" \
>        op migrate_from interval="0" timeout="240" \
>        op migrate_to interval="0" timeout="240" \
>        params xmfile="/etc/xen/base.cfg" name="base"

Ah, ok.  Now I see what you're trying to do. Thanks.

You have three options at this point:

1) Drop the ordering constraints and lower the PEs batch-limit
2) Drop the ordering constraints and lower the lrmd's concurrency
limit (I forget how, google or dejan might be able to help)
3) Rebuild with the following patch (I tested it and it works for your
setup, but I'm not yet sure that I should commit it).

diff -r 7eac355e0f81 pengine/native.c
--- a/pengine/native.c  Thu Dec 10 12:35:02 2009 +0100
+++ b/pengine/native.c  Thu Dec 10 13:39:24 2009 +0100
@@ -1711,7 +1711,7 @@ complex_stonith_ordering(
        native_stop_constraints(rsc,  stonith_op, is_stonith, data_set);
 }

-#define ALLOW_WEAK_MIGRATION 0
+#define ALLOW_WEAK_MIGRATION 1

 enum stack_activity
 {


> The Xen configs use drbd:resource style disks. drbd is configured as per the
> Xen pages in its documentation. Live migration works fine when migrating
> manually (in hb_gui). Without an order constraint, it works fine when when
> putting a node in standby, but it will migrate them all in parallel.
>
> So I searched the mailinglists and found that this is the order that should
> be used to prevent xen guests starting in parallel (only "start X before Y",
> nothing else):
>
> order db_before_dbreplica 0: db dbreplica symmetrical=false
> order dbreplica_before_core-101 0: dbreplica core-101 symmetrical=false
> order core-101_before_core-200 0: core-101 core-200 symmetrical=false
> order core-200_before_sysadmin 0: core-200 sysadmin symmetrical=false
> order sysadmin_before_edge 0: sysadmin edge symmetrical=false
> order edge_before_base 0: edge base symmetrical=false
>
> So I addded these orders. At the start of the log, all guests are on xen-a;
> both nodes are active. Then I put xen-a on standby, and this is what
> happens:
>
> Dec  8 03:43:21 xen-b pengine: [32628]: notice: LogActions: Leave resource
> xen-a-fencing#011(Started xen-b)
> notice: LogActions: Stop resource xen-b-fencing#011(xen-a)
> notice: check_stack_element: Cannot migrate base due to dependancy on edge
> (order)
> notice: LogActions: Move resource base#011(Started xen-a -> xen-b)
> notice: check_stack_element: Cannot migrate core-101 due to dependancy on
> dbreplica (order)
>  notice: LogActions: Move resource core-101#011(Started xen-a -> xen-b)
> notice: check_stack_element: Cannot migrate core-200 due to dependancy on
> core-101 (order)
> notice: LogActions: Move resource core-200#011(Started xen-a -> xen-b)
> info: complex_migrate_reload: Migrating db from xen-a to xen-b
> notice: LogActions: Migrate resource db#011(Started xen-a -> xen-b)
> notice: check_stack_element: Cannot migrate sysadmin due to dependancy on
> core-200 (order)
> notice: LogActions: Move resource sysadmin#011(Started xen-a -> xen-b)
> notice: check_stack_element: Cannot migrate edge due to dependancy on
> sysadmin (order)
> notice: LogActions: Move resource edge#011(Started xen-a -> xen-b)
> notice: check_stack_element: Cannot migrate dbreplica due to dependancy on
> db (order)
> notice: LogActions: Move resource dbreplica#011(Started xen-a -> xen-b)
> notice: LogActions: Move resource Email_Alerting#011(Started xen-a -> xen-b)
>
>
> With this order active, the only Xen guest that gets live migrated is db.
> All the others are stopped and then started.
>
> Two questions:
>
> - How can I make them migrate one after another instead of stopping and
> starting?
>
> - And how can I then still keep them from starting in parallel with a clean
> boot (e.g. both nodes freshly booted after a power outage)?
>
> Any help would be appreciated.
>
> Thanks!
>
>
> _______________________________________________
> Linux-HA mailing list
> [email protected]
> http://lists.linux-ha.org/mailman/listinfo/linux-ha
> See also: http://linux-ha.org/ReportingProblems
>
_______________________________________________
Linux-HA mailing list
[email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha
See also: http://linux-ha.org/ReportingProblems

Reply via email to