<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; Pacemaker и DRBD]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=28302&amp;type=atom" />
	<updated>2013-05-20T20:07:37Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=28302</id>
		<entry>
			<title type="html"><![CDATA[Pacemaker и DRBD]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=346495#p346495" />
			<content type="html"><![CDATA[<p>Привет всем!</p><p>Имею проблему со связкой Pacemaker и DRBD. А именно:<br />1. Ось - CentOS 6.4, со всеми последними патчами.<br />2. Pacemaker c официального кластерлабского репозитория: pacemaker-1.1.9-1512.el6.x86_64<br />3. DRBD - тоже наисвежайшее:&nbsp; version: 8.4.3<br />4. Конфигурируем pacemaker как учат умные книжки:</p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p>#pcs resource create drbd ocf:linbit:drbd drbd_resource=drbd op monitor interval=60s<br />#pcs resource master ms_drbd drbd \<br />&nbsp; &nbsp; master-max=&quot;1&quot; master-node-max=&quot;1&quot; clone-max=&quot;2&quot; clone-node-max=&quot;1&quot; \<br />&nbsp; &nbsp; notify=true</p><p>#pcs&nbsp; constraint location ms_drbd prefers tom=50<br />#pcs&nbsp; constraint location ms_drbd prefers jerry=INFINITY<br />#pcs&nbsp; constraint location ms_drbd prefers pluto=-INFINITY</p><p>#pcs resource create LVM ocf:heartbeat:LVM volgrpname=&quot;vg_drbd&quot; op monitor interval=&quot;10s&quot;</p><p>#pcs&nbsp; constraint colocation add LVM ms_drbd INFINITY with-rsc-role=Master<br />#pcs&nbsp; constraint order promote ms_drbd then start LVM</p></div></div><p>Там все тривиально - на кластере из 3х нод поднимаем drbd (на двух нодах, на третьей - запрет) и зависисый от мастера ресурс LVM, но котором потом всё и будет стоять.</p><p>drbd настроено тоже без каких либо изысков:</p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p>resource drbd {<br />&nbsp; &nbsp; &nbsp; protocol C;<br />&nbsp; &nbsp; &nbsp; #&nbsp; incon-degr-cmd &quot;echo &#039;!DRBD! pri on incon-degr&#039; | wall ; sleep 60 ; halt -f&quot;;<br />&nbsp; &nbsp; &nbsp; startup {<br />&nbsp; &nbsp; &nbsp; &nbsp; degr-wfc-timeout 120;&nbsp; &nbsp; # 2 minutes.<br />&nbsp; &nbsp; &nbsp; &nbsp; wfc-timeout&nbsp; &nbsp; &nbsp; 60;<br />#&nbsp; &nbsp; &nbsp; &nbsp; become-primary-on both;<br />&nbsp; &nbsp; &nbsp; }<br /> handlers {<br />&nbsp; &nbsp; &nbsp;split-brain &quot;/usr/lib/drbd/notify-split-brain.sh root&quot;;<br />&nbsp; &nbsp;}</p><p> disk {<br />&nbsp; &nbsp; &nbsp;on-io-error&nbsp; &nbsp;detach;<br />&nbsp; &nbsp; &nbsp;no-disk-flushes;<br />&nbsp; &nbsp; &nbsp;no-md-flushes;<br />&nbsp; &nbsp;}</p><p> net {<br />&nbsp; &nbsp; &nbsp;max-buffers 8000;<br />&nbsp; &nbsp; &nbsp;max-epoch-size 8000;<br />&nbsp; &nbsp; &nbsp;sndbuf-size 8M;<br />&nbsp; &nbsp; &nbsp;data-integrity-alg crc32c;<br />&nbsp; &nbsp; &nbsp;allow-two-primaries;<br />&nbsp; &nbsp; &nbsp;after-sb-0pri discard-zero-changes;<br />&nbsp; &nbsp; &nbsp;after-sb-1pri discard-secondary;<br />&nbsp; &nbsp; &nbsp;after-sb-2pri disconnect;<br />&nbsp; &nbsp; }</p><p> syncer {<br />&nbsp; rate 110M;<br />&nbsp; al-extents 3389;<br />&nbsp; verify-alg crc32c;<br />&nbsp; }</p><p> on tom {<br />&nbsp; &nbsp;device /dev/drbd0;<br />&nbsp; &nbsp;disk&nbsp; &nbsp;/dev/mapper/vg_tom-LV_DRBD;<br />&nbsp; &nbsp;address 192.168.41.102:7788;<br />&nbsp; &nbsp;meta-disk&nbsp; internal;<br />&nbsp; }</p><p> on jerry {<br />&nbsp; &nbsp;device /dev/drbd0;<br />&nbsp; &nbsp;disk&nbsp; &nbsp;/dev/mapper/vg_jerry-LV_DRBD;<br />&nbsp; &nbsp;address 192.168.41.101:7788;<br />&nbsp; &nbsp;meta-disk&nbsp; internal;<br />&nbsp; &nbsp;}<br />}</p></div></div><p>Проблема: В такой примитивной конфигурации pacemaker, вместо того, чтобы спокойно поднять на tom&#039;е master-drbd, на jerry - slave, бьется в истерике. То поднимет оба slave, то остановит drbd на одной или на обоих нодах, но никак не может (при наличии двух нод, предназначенных для drbd запустить этот ресурс. Запуск возможен только если остановить jerry (slave по дефолту), тогда мастер запускается на tom&#039;е. Потом включаем jerry. Он становится slave. Если же после этого остановить tom&#039;а, то мастер, как и положено переедет на jerry. Вроде нормально. Но вот обратный переезд... Начинаются опять бескончные конвульсии. </p><p> Причем, что мерзко, иногда pacemaker нормально начинает рулить drbd-ресуросом. Нормально его стартует и перекидывает между tom&#039;ом и jerry. </p><p>Есть какая-либо рекомендация на эту тему?<br />===============================================================<br />Дополнение: когда pacemaker бьется в истерике на предмет, а на каком же хосту запустить drbd в регистрационный журнал /var/log/messages валятся сообщения вида</p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p>May 26 21:45:24 tom cib[18635]:&nbsp; &nbsp;notice: cib_process_diff: Diff 0.66.12 -&gt; 0.66.13 from jerry not applied to 0.66.12: Failed application of an update diff<br />tom cib[18635]:&nbsp; &nbsp;notice: cib_server_process_diff: Not applying diff 0.66.13 -&gt; 0.66.14 (sync in progress)<br />tom cib[18635]:&nbsp; &nbsp;notice: cib_server_process_diff: Not applying diff 0.66.14 -&gt; 0.66.15 (sync in progress)<br />tom cib[18635]:&nbsp; &nbsp;notice: cib_server_process_diff: Not applying diff 0.66.15 -&gt; 0.66.16 (sync in progress)</p></div></div><p>Это в части синхронизации CIB.<br />А по drbd валятся сообщения вида<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p>tom drbd(drbd_drbd)[8102]: ERROR: drbd: Called drbdadm -c /etc/drbd.conf secondary drbd<br />tom drbd(drbd_drbd)[8102]: ERROR: drbd: Exit code 11<br />tom drbd(drbd_drbd)[8102]: ERROR: drbd: Command output: <br />tom kernel: block drbd0: State change failed: Device is held open by someone<br />tom kernel: block drbd0:&nbsp; &nbsp;state = { cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate r----- }<br />tom kernel: block drbd0:&nbsp; wanted = { cs:Connected ro:Secondary/Secondary ds:UpToDate/UpToDate r----- }<br />tom drbd(drbd_drbd)[8102]: ERROR: drbd: Called drbdadm -c /etc/drbd.conf secondary drbd<br />tom drbd(drbd_drbd)[8102]: ERROR: drbd: Exit code 11<br />tom drbd(drbd_drbd)[8102]: ERROR: drbd: Command output: <br />tom lrmd[3610]:&nbsp; warning: child_timeout_callback: drbd_drbd_demote_0 process (PID 8102) timed out<br />tom lrmd[3610]:&nbsp; warning: operation_finished: drbd_drbd_demote_0:8102 - timed out after 240000ms<br />tom lrmd[3610]:&nbsp; &nbsp;notice: operation_finished: drbd_drbd_demote_0:8102 [ 0: State change failed: (-12) Device is held o<br />pen by someone ]<br />tom lrmd[3610]:&nbsp; &nbsp;notice: operation_finished: drbd_drbd_demote_0:8102 [ Command &#039;drbdsetup secondary 0&#039; terminated wit<br />h exit code 11 ]<br />еom lrmd[3610]:&nbsp; &nbsp;notice: operation_finished: drbd_drbd_demote_0:8102 [ 0: State change failed: (-12) Device is held o<br />pen by someone ]</p></div></div><p>То есть на хосту tom drbd стоит в режиме Primary/Secondary, и никак их этого режима выйти не может. Говорит, что Primary-том занят. А занят он только ресурсом LVM, который в это время в stopped&#039;е отдыхает, ждет, пока drbd тома переключит. То есть получается, что pacemaker ресурс остановил, как он думает, а drbd об этом счастье совершенно не догадывается. </p><p>И что делать?</p>]]></content>
			<author>
				<name><![CDATA[Cruiser78]]></name>
				<uri>https://linuxforum.ru/profile.php?id=631</uri>
			</author>
			<updated>2013-05-20T20:07:37Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=346495#p346495</id>
		</entry>
</feed>
