DRBD (konfigurace CRM)

Z DCEwiki
Přejít na: navigace, hledání

Pro automatické spouštění DRBD zařízení přes crm je doporučeno použít agenta drbd od poskytovatele "linbit". LINBIT je firma, která stojí za vývojem DRBD8. V instalaci CRM můžete najít ještě jednoho agenta, se shodným názvem, ale jeho použití už není doporučené.

Nastavení je poměrně jednoduché, pokud víte, jak funguje CRM (viz CRM (Resource Agents)). Jsou-li nody navzájem propojené na gigové síťové kartě kabelem napřímo (tzv. "bonding"), pak vystačíte s výchozí konfigurací agenta, a není nutné měnit výchozí načasování pro akce CRM.

Vytvoření primitiva pro DRBD zařízení...

Poznámka
crm(live)configure# primitive DRBD ocf:linbit:drbd \
params drbd_resource="drbd_disc1"

Spouštění agenta na obou nodech zajistíme vytvořením Master/Slave objektu...

Poznámka
crm(live)configure# ms msDRBDclone DRBD \
meta master-max="2" master-node-max="1" clone-max="2" clone-node-max="1" notify="true"
  • master-max - hodnota nastavuje kolik instancí v rámci Master/Slave objektu může být současně v režimu Master. V případě, že chcete používat DRBD zařízení pouze k zrcadlení zálohy ( režim Primary/Secondary ), může běžet jako Master pouze jedna instance. Ovšem aby bylo možné DRBD zařízení namountovat současně na dvou nodech, musí být v režimu Primary/Primary, takže musí být v rámci clusteru povoleny nastaveny dvě instance běžící jako Master.
  • master-node-max - zabraňuje tomu, aby bylo spuštěny dvě Master instance v rámci jednoho nodu. Teoreticky by to sice možné bylo, ale prakticky při lokálním použití nemá aplikace DRBD žádný smysl.
  • clone-max - nastavuje kolik instancí primitiva může být spuštěno současně v rámci clusteru. Obvykle toto číslo odpovídá počtu nodů, ovšem v případě DRBD by měly běžet současně vždy maximálně 2 instance.
  • clone-node-max - nastavuje kolik instancí primitiva může být spuštěno současně v rámci jednoho nodu. V tomto případě by měla být hodnota vždy 1 ( pouze jedna lokální instance na jedno DRBD zařízení ).
  • notify
Upozornění Pokud má cluster pouze dva nody, tak musí mít nastaveno, aby ignoroval politiky pro quorum, jinak by totiž při odstavení jednoho z nodů zastavil službu i na druhém nodu.

Vypnutí politiky pro quorum...

Poznámka
crm(live)configure# property no-quorum-policy="ignore"

Před odesláním nastavení do infrastruktury clusteru data překontrolujeme a pak odešleme příkazem commit...

Poznámka
crm(live)configure# show
crm(live)configure# show
node nod-1 \
	attributes standby="off"
node nod-2 \
	attributes standby="off"
primitive DRBD ocf:linbit:drbd \
	params drbd_resource="drbd_disc1" stop_outdates_secondary="false" \
	op monitor interval="20s"
ms msDRBDclone DRBD \
	meta master-max="2" master-node-max="1" clone-max="2" clone-node-max="1" notify="true" target-role="Started"
property $id="cib-bootstrap-options" \
	dc-version="1.0.9-da7075976b5ff0bee71074385f8fd02f296ec8a3" \
	cluster-infrastructure="openais" \
	expected-quorum-votes="2" \
	stonith-enabled="false" \
	last-lrm-refresh="1302694309" \
	no-quorum-policy="ignore"
crm(live)configure# commit

Po odeslání se služba ihned spustí...

Poznámka
crm(live)configure# cd
crm(live)resource# start msDRBDclone
crm(live)resource# cd
crm(live)# status
============
Last updated: Wed Apr 13 15:55:07 2011
Stack: openais
Current DC: nod-2 - partition with quorum
Version: 1.0.9-da7075976b5ff0bee71074385f8fd02f296ec8a3
2 Nodes configured, 2 expected votes
1 Resources configured.
============

Online: [ nod-2 nod-1 ]

 Master/Slave Set: msDRBDclone
     Masters: [ nod-2 nod-1 ]
crm(live)#

Výpisem obsahu souboru /proc/drbd si ověříme, je-li pole nahozeno správně..

Poznámka
nod-1:~# cat /proc/drbd 
version: 8.3.9 (api:88/proto:86-95)
srcversion: CF228D42875CF3A43F2945A 

 1: cs:Connected ro:Primary/Primary ds:UpToDate/UpToDate C r-----
    ns:0 nr:0 dw:0 dr:208 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0

Restart nodu..[editovat]

Poznámka
nod-2:~# crm_mon -1
Connection to the CIB terminated
Reconnecting..crm_mon -1
============
Last updated: Wed Apr 13 16:07:03 2011
Stack: openais
Current DC: nod-2 - partition WITHOUT quorum
Version: 1.0.9-da7075976b5ff0bee71074385f8fd02f296ec8a3
2 Nodes configured, 2 expected votes
1 Resources configured.
============

Online: [ nod-2 ]
OFFLINE: [ nod-1 ]

 Master/Slave Set: msDRBDclone
     Masters: [ nod-2 ]
     Stopped: [ DRBD:1 ]

Někdy se může stát, že je z nějakého důvodu DRBD na obou nodech ve StandAlone módu. K vyřešení by mělo stačit na tom z nodů, který se připojil později ještě jednou restartovat corosync.

Poznámka
nod-1:~# cat /proc/drbd 
version: 8.3.9 (api:88/proto:86-95)
srcversion: CF228D42875CF3A43F2945A 

 1: cs:StandAlone ro:Primary/Unknown ds:UpToDate/DUnknown   r-----
    ns:0 nr:0 dw:0 dr:416 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
nod-1:~# /etc/init.d/corosync stop
Stopping corosync daemon: corosync.
nod-1:~# /etc/init.d/corosync start
Starting corosync daemon: corosync.
nod-1:~# cat /proc/drbd 
version: 8.3.9 (api:88/proto:86-95)
srcversion: CF228D42875CF3A43F2945A 

 1: cs:Connected ro:Primary/Primary ds:UpToDate/UpToDate C r-----
    ns:0 nr:0 dw:0 dr:208 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0