[Pacemaker] Best way to specify colocation and ordering

Dejan Muhamedagic dejanmm at fastmail.fm
Fri Aug 13 10:22:57 EDT 2010


On Fri, Aug 13, 2010 at 01:44:28PM +0000, Chris Picton wrote:
> Hi all
> 
> I have a drbd backed mysql server which has the following resources:
> 
> drbd0 -> lvm_data -> mount_data 
> drbd1 -> lvm_logs -> mount_logs
> mysqld
> floatingip
> 
> I would like the drbd based filesystems to start up in parallel.  Once 
> they have started, start mysql and the ip address.  Obviously the reverse 
> should happen on standby or shutdown.
> 
> I currently have the following configured
> 
> colocation IP_with_mysql inf: FloatingIP group_mysql
> colocation all_drbd inf: ms_drbd1:Master ms_drbd0:Master

You want both on one node?

> colocation colo-data inf: group_mysql group_logs
> colocation colo-logs inf: group_mysql group_data
> colocation mysql_on_drbd0 inf: group_data ms_drbd0:Master
> colocation mysql_on_drbd1 inf: group_logs ms_drbd1:Master
> order order_data_0 inf: ms_drbd0:promote group_data:start
> order order_data_1 inf: group_data:start group_mysql:start
> order order_data_2 inf: group_data:start FloatingIP:start
> order order_logs_0 inf: ms_drbd1:promote group_logs:start
> order order_logs_1 inf: group_logs:start group_mysql:start
> order order_logs_2 inf: group_logs:start FloatingIP:start

> This works fine on startup and shutdown, but if I do a crm resource 
> migrate MySQL, the active node shuts down the MySQL resource, but never 
> releases the drbd masters or dependant resources

The only thing that happened is mysql stop? Did you check logs
for errors?

>  Master/Slave Set: ms_drbd0
>      Masters: [ chris-test-02.ecntelecoms.za.net ]
>      Slaves: [ chris-test-01.ecntelecoms.za.net ]
>  Master/Slave Set: ms_drbd1
>      Masters: [ chris-test-02.ecntelecoms.za.net ]
>      Slaves: [ chris-test-01.ecntelecoms.za.net ]
>  Resource Group: group_mysql
>      MySQL      (ocf::ecn:MySQL.ocf):   Stopped
>      MailAlert  (ocf::heartbeat:ECNAlert):	Stopped
>  FloatingIP     (ocf::heartbeat:IPaddr2):       Stopped
>  Resource Group: group_data
>      lvm_data   (ocf::heartbeat:LVM):   Started chris-
> test-02.ecntelecoms.za.net
>      mount_data (ocf::heartbeat:Filesystem):    Started chris-
> test-02.ecntelecoms.za.net
>  Resource Group: group_logs
>      lvm_logs   (ocf::heartbeat:LVM):   Started chris-
> test-02.ecntelecoms.za.net
>      mount_logs (ocf::heartbeat:Filesystem):    Started chris-
> test-02.ecntelecoms.za.net
>  Clone Set: STONITH-clone
>      Started: [ chris-test-02.ecntelecoms.za.net chris-
> test-01.ecntelecoms.za.net ]
> 
> 
> Is there a better/more concise/more correct way of specifying the 
> colocations and orderings?

The constraints look OK.

Something like this should also work (example for the logs db):

order order_logs inf: ms_drbd1:promote group_logs group_mysql FloatingIP
collocation col_logs inf: ms_drbd1:Master group_logs group_mysql FloatingIP

That's resource sets. Please test thoroughly.

Thanks,

Dejan

> 
> 
> 
> 
> _______________________________________________
> Pacemaker mailing list: Pacemaker at oss.clusterlabs.org
> http://oss.clusterlabs.org/mailman/listinfo/pacemaker
> 
> Project Home: http://www.clusterlabs.org
> Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
> Bugs: http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker




More information about the Pacemaker mailing list