DRBD falhou com marcapasso

1

Sou novo no Pacemaker e no DRBD, mas tenho que configurá-los juntos. Eu criei 2 recursos drbd: Drbdwww e DrbdMysql Mas quando eu uso drbd_mon eu tenho os seguintes erros:

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

Aqui está a configuração do meu marcapasso:

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"

Alguém pode me ajudar? Se você precisar de mais algumas informações, por favor me diga.

    
por anakin.wow 08.05.2017 / 22:07

2 respostas

2

Você está perdendo um pouco aqui.

Primeiro, você vai precisar de um conjunto de recursos mestre escravo para cada um dos seus dispositivos DRBD.

Em seguida, você provavelmente desejará criar grupos de recursos (fs, ip, service), usando as restrições de colocation e ordenação para dizer a esses grupos que iniciem somente onde / após seus respectivos dispositivos DRBD terem sido promovidos para master. Grupos de recursos implicam colocalização e ordenação de recursos dentro do grupo.

O Google deve disponibilizar inúmeros guias sobre a configuração de pilhas HA LAMP usando o DRBD e o Pacemaker.

EDIT: Mais informações foram fornecidas na forma de uma resposta ... Eu posso ser mais específico agora.

Isto é o que seu CIB (configuração de marca-passo) deve ter:

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

As ações falhas em seus recursos do DRBD provavelmente significa que você não configurou adequadamente seus dispositivos DRBD. Você já criou os metadados para os dispositivos? Em caso afirmativo, você já forçou a promoção de um nó para a Primária para iniciar a sincronização inicial? Como é a saída de cat /proc/drbd ?

    
por 09.05.2017 / 08:35
0

obrigado por responder. Eu criei um grupo chamado haweb com vbd Drbdwww DrbdMysql fsDrbdwww fsDrbdMysql apache2 mysql, mas quando eu queria criar um recurso mestre de escravo, eu tive um erro porque Drbdwww e DrbdMysql eram filho do grupo haweb. Eu apaguei o grupo haweb e crie recursos mestre de escravo com

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

Mas ainda tenho FAILED (bloqueado):

 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

E agora eu tenho alguns recursos no servidor 1 e outros no servidor 2 :( Vou procurar mais algumas informações sobre colocation e grupos! obrigado

EDIT: Eu não sei como criar meu goup (s) e colocation (s) Eu tenho que criar 2 VIP? 1 para apache + DRBD-WWW e 1 para mysql e DRBD-mysql?

    
por 09.05.2017 / 10:57