[Pacemaker] Pacemaker unnecessarily (?) restarts a vm on active node when other node brought out of standby - possible solution?

Ian cl-3627 at jusme.com
Thu May 15 17:41:35 UTC 2014


Doing some experiments and Reading TFM, I found this:

5.2.2. Advisory Ordering
When the kind=Optional option is specified for an order constraint, the 
constraint is considered optional and only has an effect when both 
resources are stopping and/or starting. Any change in state of the first 
resource you specified has no effect on the second resource you 
specified.

(From 
https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Configuring_the_Red_Hat_High_Availability_Add-On_with_Pacemaker/index.html)

This seems to tickle the right area. Adding "kind=Optional" to the gfs2 
-> drbd order constraint makes it all work as desired (start-up and 
shut-down is correctly ordered, and bringing the other node out of 
standby doesn't force a gratuitous restart of the gfs2 filesystem and 
the vms that rely on it on the already active node).

Is that the correct solution I wonder? The term "optional" makes me 
nervous, but the description matches the desired behavior, in normal 
cases at least.


FYI, Here's the "working" configuration:

# pcs config
Cluster Name: jusme
Corosync Nodes:

Pacemaker Nodes:
  sv06 sv07

Resources:
  Master: vm_storage_core_dev-master
   Meta Attrs: master-max=2 master-node-max=1 clone-max=2 
clone-node-max=1 notify=true
   Group: vm_storage_core_dev
    Resource: res_drbd_vm1 (class=ocf provider=linbit type=drbd)
     Attributes: drbd_resource=vm1
     Operations: monitor interval=60s (res_drbd_vm1-monitor-interval-60s)
  Clone: vm_storage_core-clone
   Group: vm_storage_core
    Resource: res_fs_vm1 (class=ocf provider=heartbeat type=Filesystem)
     Attributes: device=/dev/drbd/by-res/vm1 directory=/data/vm1 
fstype=gfs2 options=noatime,nodiratime
     Operations: monitor interval=60s (res_fs_vm1-monitor-interval-60s)
  Master: nfs_server_dev-master
   Meta Attrs: master-max=1 master-node-max=1 clone-max=2 
clone-node-max=1 notify=true
   Group: nfs_server_dev
    Resource: res_drbd_live (class=ocf provider=linbit type=drbd)
     Attributes: drbd_resource=live
     Operations: monitor interval=60s 
(res_drbd_live-monitor-interval-60s)
  Resource: res_vm_nfs_server (class=ocf provider=heartbeat 
type=VirtualDomain)
   Attributes: config=/etc/libvirt/qemu/vm09.xml
   Meta Attrs: resource-stickiness=100
   Operations: monitor interval=60s 
(res_vm_nfs_server-monitor-interval-60s)

Stonith Devices:
Fencing Levels:

Location Constraints:
Ordering Constraints:
   promote vm_storage_core_dev-master then start vm_storage_core-clone 
(Optional) 
(id:order-vm_storage_core_dev-master-vm_storage_core-clone-Optional)
   promote nfs_server_dev-master then start res_vm_nfs_server (Mandatory) 
(id:order-nfs_server_dev-master-res_vm_nfs_server-mandatory)
   start vm_storage_core-clone then start res_vm_nfs_server (Mandatory) 
(id:order-vm_storage_core-clone-res_vm_nfs_server-mandatory)
Colocation Constraints:
   vm_storage_core-clone with vm_storage_core_dev-master (INFINITY) 
(rsc-role:Started) (with-rsc-role:Master) 
(id:colocation-vm_storage_core-clone-vm_storage_core_dev-master-INFINITY)
   res_vm_nfs_server with nfs_server_dev-master (INFINITY) 
(rsc-role:Started) (with-rsc-role:Master) 
(id:colocation-res_vm_nfs_server-nfs_server_dev-master-INFINITY)
   res_vm_nfs_server with vm_storage_core-clone (INFINITY) 
(id:colocation-res_vm_nfs_server-vm_storage_core-clone-INFINITY)


Ian.





More information about the Pacemaker mailing list