別冊あんどりゅーくん(第1号)


というわけで「月刊あんどりゅーくん」に引き続き「別冊あんどりゅーくん」もはじめました。


前月分のメーリングリストから抜粋したおもしろ情報を
「月刊あんどりゅーくん」として発行していく予定ですが
月刊からもれたおもしろネタ、もしくは月刊のボリュームがあふれてきちゃったときは
暫定対処として「別冊あんどりゅーくん」を発行します。
月刊のほうは「ほぼ」月刊を目指しますが、別冊のほうが気が向いたときに発行します。
もう一生気が向かないかもしれません。


では、今回は下記2項目をご紹介します。
(1) バグ情報
(2) 知恵袋


(1) バグ情報

■ cloneの動作

Master/Slave、cloneについては、まだまだ動作がビミョーな部分もあるのですが、
Pacemaker 1.1 ではかなり動作が改善されています。
Pacemaker 1.0 へもできる限りバックポートしていますが、うまくバックポートできない場合もありますのでご了承ください。
3月分のメーリングリストでは次の事例が報告されていました。


例1) Pacemaker 1.1 で改善済み、そしてPacemaker 1.0 へのバックポート済みのパターン

crm サンプル

property stonith-enabled=”false”
primitive DummyVM1 ocf:pacemaker:Dummy \
op monitor interval=”60s” timeout=”60s” \
op start on-fail=”restart” interval=”0″ \
op stop on-fail=”ignore” interval=”0″ \
meta is-managed=”true” resource-stickiness=”1000″ migration-threshold=”2″
primitive DummyVM2 ocf:pacemaker:Dummy \
op monitor interval=”60s” timeout=”60s” \
op start on-fail=”restart” interval=”0″ \
op stop on-fail=”ignore” interval=”0″ \
meta is-managed=”true” resource-stickiness=”1000″ migration-threshold=”2″
primitive StorGr1 ocf:heartbeat:Dummy \
op monitor on-fail=”restart” interval=”60s” \
op start on-fail=”restart” interval=”0″ \
op stop on-fail=”ignore” interval=”0″ \
meta is-managed=”true” resource-stickiness=”1000″ migration-threshold=”2″
clone StorGr1-clone StorGr1 \
meta target-role=”Started” interleave=”true” ordered=”true”
location score-DummyVM1 DummyVM1 400: dl380g5c
location score-DummyVM2 DummyVM2 400: dl380g5d
order start-DummyVM1-after-StorGr1-clone inf: StorGr1-clone DummyVM1
order start-DummyVM2-after-StorGr1-clone inf: StorGr1-clone DummyVM2

なんか resource-stickiness とか migration-threshold とかの設定がこだわってんなあという感じですが
メーリングリストからほぼコピペです。
STONITH設定してねぇぞごるぁと怒られるのがめんどかったので「property stonith-enabled=”false”」は
追加で設定しています。でもやっぱりタイムアウト短ぇぞごるぁとは怒られるけどね。


というわけで、リソースを起動させます。
# crm configure load update sample.crm

# crm_mon -i1
============
Last updated: Tue Mar 29 17:06:14 2011
Stack: Heartbeat
Current DC: dl380g5d (498d1812-c867-4534-a5aa-85aff30c8eff) – partition with quorum
Version: 1.0.10-47037ab663d7 stable-1.0 tip
2 Nodes configured, unknown expected votes
3 Resources configured.
============
Online: [ dl380g5c dl380g5d ]
DummyVM1 (ocf::pacemaker:Dummy): Started dl380g5c
DummyVM2 (ocf::pacemaker:Dummy): Started dl380g5d
Clone Set: StorGr1-clone
Started: [ dl380g5c dl380g5d ]


メーリングリストへの投稿者曰く
DummyVM1 and DummyVM2 were both started on node goat1.( goat1 は dl380g5c に読み替え)
ということなんですが、そうかあ?という気が。たぶん上記の配置で正しいと思うんですよね。

次にdl380g5d で Pacemaker を停止しました。

# service heartbeat stop

# crm_mon -i1
============
Last updated: Tue Mar 29 17:06:48 2011
Stack: Heartbeat
Current DC: dl380g5d (498d1812-c867-4534-a5aa-85aff30c8eff) – partition with quorum
Version: 1.0.10-47037ab663d7 stable-1.0 tip
2 Nodes configured, unknown expected votes
3 Resources configured.
============
Online: [ dl380g5c dl380g5d ]
DummyVM1 (ocf::pacemaker:Dummy): Started dl380g5c
DummyVM2 (ocf::pacemaker:Dummy): Started dl380g5c ← ★ フェイルオーバ
Clone Set: StorGr1-clone
Started: [ dl380g5c ]
Stopped: [ StorGr1:1 ]

投稿者によると、DummyVM2 がフェイルオーバできなかったらしいんですが
あんどりゅーくん曰く、1.1.5 だとフェイルオーバできるはずとのこと。(投稿者の環境は 1.1.2)
1.0.11でも無事フェイルオーバできていることを確認しましたので、今回はめでたしめでたし。


例2) Pacemaker 1.1 で改善済み、だけどPacemaker 1.0 へのバックポートが厳しいパターン

crm サンプル
primitive ClusterIP ocf:heartbeat:IPaddr2 \
params ip=”192.168.101.121″ nic=”bond0″ cidr_netmask=”24″ clusterip_hash=”sourceip” \
op monitor interval=”30s”
primitive HttpProxy ocf:pacemaker:Dummy \
op monitor interval=”60s” timeout=”60s” \
op start on-fail=”restart” interval=”0″ \
op stop on-fail=”ignore” interval=”0″ \
clone HttpProxyClone HttpProxy
clone ProxyIP ClusterIP \
meta globally-unique=”true” clone-max=”2″ clone-node-max=”2″
colocation HttpProxy-with-ClusterIP inf: HttpProxy ProxyIP
order HttpProxyClone-after-ProxyIP inf: ProxyIP HttpProxy
property $id=”cib-bootstrap-options” \
cluster-infrastructure=”openais” \
expected-quorum-votes=”2″ \
stonith-enabled=”false” \
no-quorum-policy=”ignore”

HttpProxy に設定されたリソースは メーリングリストの構成では apache だったんですけどDummy に差し替えました。


リソースを起動させます。
# crm configure load update sample.crm

# crm_mon -i1
============
Last updated: Tue Mar 29 17:34:52 2011
Stack: Heartbeat
Current DC: dl380g5d (498d1812-c867-4534-a5aa-85aff30c8eff) – partition with quorum
Version: 1.0.10-47037ab663d7 stable-1.0 tip
2 Nodes configured, 2 expected votes
2 Resources configured.
============
Online: [ dl380g5c dl380g5d ]
HttpProxy (ocf::pacemaker:Dummy): Started dl380g5c
Clone Set: ProxyIP (unique)
ClusterIP:0 (ocf::heartbeat:IPaddr2): Started dl380g5c ← ★ それぞれのノードに
ClusterIP:1 (ocf::heartbeat:IPaddr2): Started dl380g5d ← ★ 分散してます


片方のノードをスタンバイ化します。
# crm node standby dl380g5d

# crm_mon -i1
============
Last updated: Tue Mar 29 17:38:13 2011
Stack: Heartbeat
Current DC: dl380g5d (498d1812-c867-4534-a5aa-85aff30c8eff) – partition with quorum
Version: 1.0.10-47037ab663d7 stable-1.0 tip
2 Nodes configured, 2 expected votes
2 Resources configured.
============
Node dl380g5d (498d1812-c867-4534-a5aa-85aff30c8eff): standby
Online: [ dl380g5c ]
HttpProxy (ocf::pacemaker:Dummy): Started dl380g5c
Clone Set: ProxyIP (unique)
ClusterIP:0 (ocf::heartbeat:IPaddr2): Started dl380g5c
ClusterIP:1 (ocf::heartbeat:IPaddr2): Started dl380g5c ← ★ フェイルオーバ


スタンバイ化したノードをオンラインに戻します。
# crm node online dl380g5d

# crm_mon -i1
============
Last updated: Tue Mar 29 17:38:45 2011
Stack: Heartbeat
Current DC: dl380g5d (498d1812-c867-4534-a5aa-85aff30c8eff) – partition with quorum
Version: 1.0.10-47037ab663d7 stable-1.0 tip
2 Nodes configured, 2 expected votes
2 Resources configured.
============
Online: [ dl380g5c dl380g5d ]
HttpProxy (ocf::pacemaker:Dummy): Started dl380g5c
Clone Set: ProxyIP (unique)
ClusterIP:0 (ocf::heartbeat:IPaddr2): Started dl380g5c
ClusterIP:1 (ocf::heartbeat:IPaddr2): Started dl380g5c ← ★ 居座り。フェイルバックしない。

Pacemaker 1.1.5 だと居座り動作は発生せず、ちゃんともとのノードにフェイルバックできるようです。
しかし、このパッチはPacemaker 1.0.11 にはバックポートできませんでした。

メーリングリストでは居座りリソースをもとのノードの戻す裏技が紹介されていたのでどうしても困ったときは、参考にしてください。


裏技:clone-node-max を一時的に 1 に変更する(初期設定は 2)

# crm resource meta ProxyIP set clone-node-max 1

# crm_mon -i1
============
Last updated: Tue Mar 29 17:47:41 2011
Stack: Heartbeat
Current DC: dl380g5d (498d1812-c867-4534-a5aa-85aff30c8eff) – partition with quorum
Version: 1.0.10-47037ab663d7 stable-1.0 tip
2 Nodes configured, 2 expected votes
2 Resources configured.
============
Online: [ dl380g5c dl380g5d ]
HttpProxy (ocf::pacemaker:Dummy): Started dl380g5c
Clone Set: ProxyIP (unique)
ClusterIP:0 (ocf::heartbeat:IPaddr2): Started dl380g5c
ClusterIP:1 (ocf::heartbeat:IPaddr2): Started dl380g5d ← ★ お!戻った!

設定は元に戻しておいたほうがよいです。
# crm resource meta ProxyIP set clone-node-max 2


では、お次は知恵袋。

Pages: 1 2

1 comment to 別冊あんどりゅーくん(第1号)