Кластер CRM не может смонтировать drbd после переключения

Вот мой активный/пассивный кластер freepbx. он работает на гипервизоре proxmox.

После выключения мастера res_filesystem_1 на втором узле не запускается. drbd не монтируется. и службы, использующие drbd, не запускались.

у меня много ошибок, тогда я показываю статус /usr/sbin/crm_mon -1 -r -f

Last updated: Sun Feb  4 19:50:21 2018
Last change: Sun Feb  4 19:45:35 2018
Stack: cman
Current DC: fpbx2.hrm1.group.ru - partition WITHOUT quorum
Version: 1.1.11-97629de
2 Nodes configured
8 Resources configured


Node fpbx1.hrm1.group.ru: OFFLINE (standby)
Online: [ fpbx2.hrm1.group.ru ]

Full list of resources:

 Master/Slave Set: ms_drbd_1 [res_drbd_1]
     Masters: [ fpbx2.hrm1.group.ru ]
     Stopped: [ fpbx1.hrm1.group.ru ]
 res_Filesystem_1       (ocf::heartbeat:Filesystem):    Stopped
 res_IPaddr2_1  (ocf::heartbeat:IPaddr2):       Started fpbx2.hrm1.group.ru
 res_asterisk_asterisk  (service:asterisk):     FAILED fpbx2.hrm1.group.ru
 res_apache_apache      (ocf::heartbeat:apache):        Stopped
 res_mysql_mysql_fpbx   (ocf::heartbeat:mysql): Stopped
 res_IPsrcaddr_src_addr (ocf::heartbeat:IPsrcaddr):     Started fpbx2.hrm1.group.ru

Migration summary:
* Node fpbx2.hrm1.group.ru:
   res_apache_apache: migration-threshold=1000000 fail-count=1000000 last-failure='Sun Feb  4 19:47:57 2018'
   res_Filesystem_1: migration-threshold=1000000 fail-count=1000000 last-failure='Sun Feb  4 19:47:57 2018'
   res_mysql_mysql_fpbx: migration-threshold=1000000 fail-count=1000000 last-failure='Sun Feb  4 19:48:00 2018'
   res_asterisk_asterisk: migration-threshold=1000000 fail-count=18 last-failure='Sun Feb  4 19:50:21 2018'

Failed actions:
    res_apache_apache_start_0 on fpbx2.hrm1.group.ru 'not configured' (6): call=41, status=complete, last-rc-change='Sun Feb  4 19:47:57 2018', queued=0ms, exec=15ms
    res_Filesystem_1_start_0 on fpbx2.hrm1.group.ru 'unknown error' (1): call=34, status=complete, last-rc-change='Sun Feb  4 19:47:56 2018', queued=0ms, exec=78ms
    res_mysql_mysql_fpbx_start_0 on fpbx2.hrm1.group.ru 'not installed' (5): call=45, status=complete, last-rc-change='Sun Feb  4 19:47:59 2018', queued=0ms, exec=47ms
    res_asterisk_asterisk_monitor_15000 on fpbx2.hrm1.group.ru 'not running' (7): call=83, status=complete, last-rc-change='Sun Feb  4 19:50:21 2018', queued=15001ms, exec=11ms

Если я попытаюсь сбросить все ресурсы

crm_resource --resource res_filesystem_1 -P 
crm_resource --resource res_mysql_mysql_fpbx -P 
crm_resource --resource res_asterisk_asterisk -P 
crm_resource --resource res_apache_apache -P 

все сервисы запускаются и работают корректно до следующего переключения узла.

После выключения узел не может завершить работу и сказать: waiting for cluster services to unload. Я пытаюсь отключить его кнопкой на виртуальной машине, и он все еще не монтируется на втором узле.

Затем я swith узлы cat /proc/drbd показывают правильно Первичный/вторичный

Вот конфиг crm

crm configure show


node fpbx1.hrm1.group.ru \
        attributes standby=off
node fpbx2.hrm1.group.ru \
        attributes standby=off
primitive res_Filesystem_1 Filesystem \
        params device="/dev/drbd/by-res/fpbx" directory="/mnt/drbd0" fstype=ext4 \
        operations $id=res_Filesystem_1-operations \
        op start interval=0 timeout=60 \
        op stop interval=0 timeout=60 \
        op monitor interval=20 timeout=40 start-delay=0 \
        op notify interval=0 timeout=60 \
        meta target-role=started
primitive res_IPaddr2_1 IPaddr2 \
        params ip=10.0.15.77 \
        operations $id=res_IPaddr2_1-operations \
        op start interval=0 timeout=21 \
        op stop interval=0 timeout=20 \
        op monitor interval=10 timeout=20 start-delay=0 \
        meta target-role=started
primitive res_IPsrcaddr_src_addr IPsrcaddr \
        params ipaddress=10.0.15.77 \
        operations $id=res_IPsrcaddr_src_addr-operations \
        op start interval=0 timeout=20 \
        op stop interval=0 timeout=20 \
        op monitor interval=10 timeout=20 start-delay=0 \
        meta
primitive res_apache_apache apache \
        params port=80 \
        operations $id=res_apache_apache-operations \
        op start interval=0 timeout=40 \
        op stop interval=0 timeout=60 \
        op monitor interval=10 timeout=20 start-delay=0 \
        meta target-role=Started
primitive res_asterisk_asterisk service:asterisk \
        operations $id=res_asterisk_asterisk-operations \
        op start interval=0 timeout=15 \
        op stop interval=0 timeout=15 \
        op monitor interval=15 timeout=15 start-delay=15 \
        meta target-role=started
primitive res_drbd_1 ocf:linbit:drbd \
        params drbd_resource=fpbx \
        operations $id=res_drbd_1-operations \
        op start interval=0 timeout=240 \
        op promote interval=0 timeout=90 \
        op demote interval=0 timeout=90 \
        op stop interval=0 timeout=100 \
        op monitor interval=10 timeout=20 start-delay=0 \
        op notify interval=0 timeout=90 \
        meta target-role=master
primitive res_mysql_mysql_fpbx mysql \
        params enable_creation=false \
        operations $id=res_mysql_mysql_fpbx-operations \
        op start interval=0 timeout=120 \
        op stop interval=0 timeout=120 \
        op monitor interval=30 timeout=30 start-delay=0 \
        op notify interval=0 timeout=90 \
        meta target-role=started
ms ms_drbd_1 res_drbd_1 \
        meta clone-max=2 notify=true interleave=true
property cib-bootstrap-options: \
        stonith-enabled=false \
        dc-version=1.1.11-97629de \
        no-quorum-policy=ignore \
        cluster-infrastructure=cman \
        last-lrm-refresh=1517404556
rsc_defaults rsc-options: \
        resource-stickiness=100

person Павел Ламанов    schedule 04.02.2018    source источник


Ответы (1)


Чего мне действительно здесь не хватает (согласно предоставленным вами журналам), так это order и соответствующего примитива colocation. Оба помогают вашему кластеру запускать службы в правильном порядке И на одном и том же узле. Например: сначала res_drbd_1, затем res_Filesystem_1.

Это может выглядеть так:

order o_drbd_1_before_Filesystem_1 +inf: ms_drbd_1:promote res_Filesystem_1:start
colocation co_Filesystem_1_with_drbd_1 +inf: res_Filesystem_1 ms_drbd_1:Master

(уточнить для всех остальных настроенных сервисов)

person vautee    schedule 05.02.2018