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
|
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...
|
crm(live)configure# ms msDRBDclone DRBD \
meta master-max="2" master-node-max="1" clone-max="2" clone-node-max="1" notify="true"
|
|
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.
|
|
crm(live)configure# property no-quorum-policy="ignore"
|
|
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...
|
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...
|
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ě..
|
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..
|
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.
|
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
|