Назад | Перейти на главную страницу

DRBD Сбой с кардиостимулятором

Я новичок в Pacemaker и DRBD, но мне нужно настроить их вместе. Я создал 2 ресурса drbd: Drbdwww и DrbdMysql. Но когда я использую drbd_mon, у меня возникают следующие ошибки:

Stack: corosync
Current DC: s-ha-web1 (version 1.1.15-e174ec8) - partition with quorum
Last updated: Mon May  8 21:58:45 2017          Last change: Mon May  8 21:58:36 2017 by hacluster via crmd on s-ha-web1

2 nodes and 7 resources configured

Online: [ s-ha-web1 s-ha-web2 ]

 Resource Group: haweb
     vip        (ocf::heartbeat:IPaddr2):       Started s-ha-web1
     httpd      (ocf::heartbeat:apache):        Started s-ha-web1
     Drbdwww    (ocf::linbit:drbd):     FAILED (blocked)[ s-ha-web1 s-ha-web2 ]
     fsDrbdwww  (ocf::heartbeat:Filesystem):    Stopped
     DrbdMysql  (ocf::linbit:drbd):     FAILED (blocked)[ s-ha-web1 s-ha-web2 ]
     fsDrbdMysql        (ocf::heartbeat:Filesystem):    Stopped
     mysql      (ocf::heartbeat:mysql): Stopped

Failed Actions:
* Drbdwww_monitor_0 on s-ha-web1 'not configured' (6): call=14, status=complete, exitreason='none',
    last-rc-change='Mon May  8 21:58:40 2017', queued=0ms, exec=21ms
* DrbdMysql_stop_0 on s-ha-web1 'not configured' (6): call=23, status=complete, exitreason='none',
    last-rc-change='Mon May  8 21:58:40 2017', queued=0ms, exec=30ms
* Drbdwww_stop_0 on s-ha-web2 'not configured' (6): call=32, status=complete, exitreason='none',
    last-rc-change='Mon May  8 21:58:40 2017', queued=0ms, exec=17ms
* DrbdMysql_stop_0 on s-ha-web2 'not configured' (6): call=31, status=complete, exitreason='none',
    last-rc-change='Mon May  8 21:58:40 2017', queued=0ms, exec=17ms

Вот моя конфигурация кардиостимулятора:

crm configure property stonith-enabled=false
crm configure property no-quorum-policy=ignore

crm configure primitive vip ocf:heartbeat:IPaddr2 params ip=192.168.100.100 cidr_netmask=24 nic="eth1" op monitor interval="30s" timeout="20s"

crm configure primitive Drbdwww ocf:linbit:drbd params drbd_resource="rwww" op monitor interval="30s" role="Slave" op monitor interval="29s" role="Master" 

crm configure primitive fsDrbdwww ocf:heartbeat:Filesystem params device="/dev/drbd0" directory="/var/www/html" fstype="ext4"

crm configure primitive DrbdMysql ocf:linbit:drbd params drbd_resource="rmysql" op monitor interval="30s" role="Slave" op monitor interval="29s" role="Master" 

crm configure primitive fsDrbdMysql ocf:heartbeat:Filesystem params device="/dev/drbd1" directory="/var/lib/mysql_drbd" fstype="ext4"

Кто-нибудь может мне помочь ? Если вам нужна дополнительная информация, сообщите мне.

Вам здесь совсем немного не хватает.

Во-первых, вам понадобится набор ресурсов главного подчиненного устройства для каждого из ваших устройств DRBD.

Затем вы, вероятно, захотите создать группы ресурсов (fs, ip, service), используя ограничения colocation и упорядочивания, чтобы указать этим группам начинать только с того места / после того, как их соответствующее устройство DRBD было повышено до ведущего. Группы ресурсов подразумевают размещение и упорядочение ресурсов внутри группы.

Google должен предоставить множество руководств по настройке стеков HA LAMP с помощью DRBD и Pacemaker.

РЕДАКТИРОВАТЬ: Дополнительная информация была предоставлена ​​в виде ответа ... Теперь я могу уточнить.

Вот как должен выглядеть ваш CIB (конфигурация кардиостимулятора):

node 1: s-ha-web1
node 2: s-ha-web2
primitive Drbdwww ocf:linbit:drbd \
    params drbd_resource="rwww" \
    op monitor interval="30s" role="Slave" \
    op monitor interval="29s" role="Master"
primitive DrbdMysql ocf:linbit:drbd \
    params drbd_resource="rmysql" \
    op monitor interval="30s" role="Slave" \
    op monitor interval="29s" role="Master"
primitive fsDrbdwww ocf:heartbeat:Filesystem \
    params device="/dev/drbd0" directory="/var/www/html" fstype="ext4" \
    op monitor interval=30s timeout=30s
primitive fsDrbdMysql ocf:heartbeat:Filesystem \
    params device="/dev/drbd1" directory="/var/lib/mysql_drbd" fstype="ext4" \
    op monitor interval=30s timeout=30s
primitive vipwww ocf:heartbeat:IPaddr2 \
    params ip=192.168.100.100 cidr_netmask=24 nic="eth1" \
    op monitor interval="30s" timeout="20s"
primitive vipmysql ocf:heartbeat:IPaddr2 \
    params ip=192.168.100.101 cidr_netmask=24 nic="eth1" \
    op monitor interval="30s" timeout="20s"
primitive httpd ocf:heartbeat:apache \
    op start interval=0s timeout=40s
    op stop interval=0s timeout=60s
    op monitor interval=20s timeout=20s
primitive mysql ocf:heartbeat:mysql \
    op start interval=0s timeout=120s
    op stop interval=0s timeout=120s
    op monitor interval=20s timeout=30s
group gwww fsDrbdwww vipwww httpd
group gmysql fsDrbdMysql vipmysql mysql
order o_drbdwww-before-gwww inf: ms_drbdwww:promote gwww:start
colocation cl_gwww-with-drbdwww inf: gwww ms_drbdwww:Master
order o_drbdMysql-before-gmysql inf: ms_drbdMysql:promote gmysql:start
colocation cl_gmysql-with-drbdMysql inf: gmysql ms_drbdMysql:Master
ms ms_drbdwww Drbdwww \
    meta master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true
ms ms_drbdMysql DrbdMysql \
    meta master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true
property cib-bootstrap-options: \
    stonith-enabled=false \
    no-quorum-policy=ignore

Неудачные действия с вашими ресурсами DRBD, вероятно, означают, что вы неправильно настроили свои устройства DRBD. Вы уже создали метаданные для устройств? Если да, вы уже принудительно повысили один узел до основного, чтобы начать начальную синхронизацию? Что дает выход cat /proc/drbd выглядит как?

Спасибо за ответы. Я создал группу с именем haweb с vip Drbdwww DrbdMysql fsDrbdwww fsDrbdMysql apache2 mysql, но когда я хотел создать главный подчиненный ресурс, у меня возникла ошибка, потому что Drbdwww и DrbdMysql были дочерними элементами группы haweb. Я удалил группу haweb и создал ресурсы главного подчиненного устройства с помощью

ms ms_drbdMysql DrbdMysql \
        meta master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true
ms ms_drbdwww Drbdwww \
        meta master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true

Но у меня все еще FAILED (заблокирован):

 Master/Slave Set: ms_drbdwww [Drbdwww]
     Drbdwww    (ocf::linbit:drbd):     FAILED s-ha-web2 (blocked)
 Master/Slave Set: ms_drbdMysql [DrbdMysql]
     DrbdMysql  (ocf::linbit:drbd):     FAILED s-ha-web2 (blocked)
* fsDrbdwww_start_0 on s-ha-web1 'unknown error' (1): call=14, status=complete, exitreason='Couldn't mount filesystem /dev/drbd0 on /var/www/html',
    last-rc-change='Mon May  8 23:24:04 2017', queued=0ms, exec=17ms
* fsDrbdMysql_start_0 on s-ha-web1 'unknown error' (1): call=21, status=complete, exitreason='Couldn't mount filesystem /dev/drbd1 on /var/lib/mysql_drbd',
    last-rc-change='Mon May  8 23:24:04 2017', queued=0ms, exec=17ms

И теперь у меня есть ресурсы на сервере 1 и другие на сервере 2 :( Я поищу дополнительную информацию о колокации и группах! Спасибо

РЕДАКТИРОВАТЬ: Я не знаю, как создать свои группы и колокации. Нужно ли мне создавать 2 VIP? 1 для apache + DRBD-WWW и 1 для mysql и DRBD-mysql?