possível definir a ordem específica de um recurso em um grupo Pacemaker?

4

Dada a configuração de recursos do Pacemaker / Corosync descrita abaixo, é possível adicionar um recurso em uma posição específica dentro do grupo de recursos? A configuração é o CentOS 7.2 usando os complementos de clustering fornecidos pelo RHEL.

Este é um cluster de servidor NFS, e o Pacemaker lida com o daemon NFS, volumes, exportações, IP virtual e notificação do cliente NFS.

Quando eu quiser adicionar uma montagem NFS (exportfs resource) à configuração do cluster, ela será listada após o recurso nfs-notify. Isso quebra o cluster de formas feias.

Encontrei os comandos pcs resource order rudimentares, que parecem permitir a especificação do recurso que o X precisa executar antes do recurso Y , mas isso não é escalonável.

Isso é possível?

[root@zfs1-node1 ~]# pcs status
Cluster name: zfs1
Last updated: Tue Jan  5 04:09:11 2016      Last change: Tue Jan  5 04:08:15 2016 by root via cibadmin on zfs1-node1
Stack: corosync
Current DC: zfs1-node1 (version 1.1.13-10.el7-44eb2dd) - partition with quorum
2 nodes and 9 resources configured

Online: [ zfs1-node1 zfs1-node2 ]

Full list of resources:

 fence-vol1 (stonith:fence_scsi):   Started zfs1-node1
 Resource Group: group-vol1
     vol1   (ocf::heartbeat:ZFS):   Started zfs1-node1
     nfs-daemon (ocf::heartbeat:nfsserver): Started zfs1-node1
     nfsinfo    (ocf::heartbeat:exportfs):  Started zfs1-node1
     vol1-management    (ocf::heartbeat:exportfs):  Started zfs1-node1
     vol1-ppro-mirrors  (ocf::heartbeat:exportfs):  Started zfs1-node1
     vol1-staging   (ocf::heartbeat:exportfs):  Started zfs1-node1
     ip-vol1    (ocf::heartbeat:IPaddr2):   Started zfs1-node1
     nfs-notify (ocf::heartbeat:nfsnotify): Started zfs1-node1

PCSD Status:
  zfs1-node1: Online
  zfs1-node2: Online

Daemon Status:
  corosync: active/enabled
  pacemaker: active/enabled
  pcsd: active/enabled
    
por ewwhite 05.01.2016 / 11:59

1 resposta

4

Você pode usar o utilitário cibadmin para consultar a configuração do Pacemaker, mover as primitivas de acordo com as tags <group id="group-vol1"></group> e depois empurrar a nova configuração de volta para o Pacemaker.

O processo seria algo como isto:

# cibadmin --query > /tmp/cib.xml
# vi /tmp/cib.xml
# cibadmin --replace --xml-file /tmp/cib.xml

Quando você edita o cib.xml no vi, você verá seu grupo definido por tags como esta:
<group id="group-vol1"> *primitives within the group will go here* </group>

Todas as primitivas serão definidas dentro das tags do grupo. Eles ficarão assim (primitiva do ZFS, por exemplo:
<primitive id="vol1" class="ocf" provider="heartbeat" type="ZFS"> *attributes and operations will go here* </primitive>

Mova as primitivas para onde você quiser que elas sejam ordenadas; primeiro em primeiro, último em baixo. Empurre as alterações para o Pacemaker e você deve ser bom.

    
por 08.01.2016 / 01:04