<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Hi All,<br>
    <br>
    I am using a simple two-nodes cluster with Xen on top of DRBD in
    primary/primary mode (necessary for live migration).&nbsp; My
    configuration is quite simple:<br>
    <br>
    primitive appyul1 ocf:heartbeat:Xen \<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; params xmfile="/etc/xen/appyul1.cfg" shutdown_timeout="299"
    \<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; op monitor interval="10s" timeout="300s" \<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; op start interval="0s" timeout="180s" \<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; op stop interval="0s" timeout="300s" \<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; op migrate_from interval="0s" timeout="180s" \<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; op migrate_to interval="0s" timeout="180s" \<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; meta target-role="Started" allow-migrate="true"
    is-managed="true"<br>
    primitive appyul1slash-DRBD ocf:linbit:drbd \<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; params drbd_resource="appyul1slash" \<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; operations $id="appyul1slash-DRBD-ops" \<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; op monitor interval="20s" role="Master" timeout="300s" \<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; op monitor interval="30s" role="Slave" timeout="300s"<br>
    primitive appyul1swap-DRBD ocf:linbit:drbd \<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; params drbd_resource="appyul1swap" \<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; operations $id="appyul1swap-DRBD-ops" \<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; op monitor interval="20s" role="Master" timeout="300s" \<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; op monitor interval="30s" role="Slave" timeout="300s"<br>
    ms appyul1slash-MS appyul1slash-DRBD \<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; meta master-max="2" notify="true" interleave="true"
    target-role="Started" is-managed="true"<br>
    ms appyul1swap-MS appyul1swap-DRBD \<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; meta master-max="2" notify="true" interleave="true"
    target-role="Started" is-managed="true"<br>
    order appyul1-after-drbd inf: appyul1slash-MS:promote
    appyul1swap-MS:promote appyul1:start<br>
    <br>
    So to summerize:<br>
    - A&nbsp; resource for Xen<br>
    - Two Master/Slave DRBD ressources for the VM filesystem (/ and
    swap). master-max is set to 2 to have both node in primary DRBD
    state.<br>
    - a "order" directive to start the VM after drbd has been promoted.<br>
    <br>
    Node startup is ok, the VM is started after DRBD is promoted. <br>
    <br>
    Node shutdown is problematic. Assuming the Xen VM runs on node A :<br>
    -&nbsp; When puting node A in standby when node B is active, a live
    migration is started, BUT in the same second, pacemaker tries to
    demote DRBD volumes on A (while live migration is in progress).<br>
    - When putting node A in standby when node B is also in standby, the
    VM is stopped, BUT in the same second, pacemaker tries to demote
    DRBD volumes on A (while shutdown is still in progress).<br>
    <br>
    All this results in "failed actions" in the CRM, and cause unwanted
    stonith actions (when enabled). I tried to add "symmetrical=false"
    on the order constraint, but it did not help.<br>
    <br>
    I do not understand by pacemaker does not wait the Xen VM is
    stopped/migrated before demoting DRBD volumes.<br>
    <br>
    Setup is done with corosync and pacemaker packages available on a
    standard Ubuntu Lucid (corosync 1.2.0 and pacemaker 1.0.8).<br>
    <br>
    Thanks for your help,<br>
    <br>
    Pierre<br>
    <br>
    <span style="font-size: 11px; font-family:
      Arial,Helvetica,sans-serif; color: black;"><strong> </strong></span>
  </body>
</html>