DRBD (konfigurace CRM)

Z DCEwiki
Skočit na navigaci Skočit na vyhledává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)). Pokud jsou nody navzájem napřímo propojené přes gigovou síťovku (tzv. "bonding") , vystačíte s výchozí konfigurací agenta, a tudíž není nezbytně nutné měnit výchozí načasování pro akce.

Vytvoření primitiva pro DRBD zařízení... nod-1:~# corosync-keygen

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

Vytvoření Master/Slave objektu, který zajistí běh agenta na obou nodech...

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"
Upozornění Pokud má cluster pouze dva nody, 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.
Poznámka
crm(live)configure# property no-quorum-policy="ignore"
Poznámka
crm(live)configure# primitive DRBD ocf:linbit:drbd \
params drbd_resource="drbd_disc1"

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 může služba ihned spustit...

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 /proc/drbd 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..

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 ]

Může se stát, že je z nějakého důvodu DRBD na obou nodech ve StandAlone módu. Mělo by stačit na tom z nodů, který byl restartován 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