uehat****@first*****
uehat****@first*****
2011年 6月 18日 (土) 15:11:47 JST
上畑です。 同様の質問がすでにされている事を過去のMLから確認し、 やりたいことを実現できました。すみませんでした。 http://sourceforge.jp/projects/linux-ha/lists/archive/japan/2009-December/000291.html > > はじめまして、上畑と申します。 > > GoogleやこのMLのアーカイブを確認したのですがどうしてもわからなかったので > 質問させてください。 > > 【構成説明】 > ・2台のHA > ・Heartbeat3.x + Pacemaker 1.0.x > ・経路は2台ともGlobal-NIC1本のみで、インターコネクトは張らない。 > ・2台はそれぞれ別のネットワークに存在。 > サーバA(eth0:99.0.0.1 default-gw:99.0.0.254) > サーバB(eth0:10.0.0.1 default-gw:10.0.0.254) > > 【設定条件】 > この状態でできるだけスプリットブレーンを防ぐ為に、それぞれの自分の > gatewayとお互いのHeartbeatサーバに対しpingを行い、両方のpingからの応答が > ない場合のみリソースをフェイルオーバーさせたい。 > > ・Heartbeatv1ではha.cfのping設定にそれぞれのgatewayを設定してましたが、 > Heartbeat3.xでも同じようにできますか? > ping設定ではログにWARNINGしか出力しなかった為、crmによる設定で行おうとし > てますが、どうやって設定すればいいのかわかりませんでした。 > > 【考えた設定その1】 > -------------------------------------------------- > # STONITHのOFF > property $id="cib-bootstrap-options" \ > stonith-enabled="false" no-quorum-policy="ignore" > > #Fail-over Off > rsc_defaults $id="rsc-options" resource-stickiness="INFINITY" > > # HTTPリソース設定 > primitive httpd ocf:heartbeat:apache \ > params configfile="/etc/httpd/conf/httpd.conf" port="80" \ > op monitor interval="20s" > > # PINGリソースA > primitive pingA ocf:pacemaker:pingd \ > params name="default_ping_set" host_list="10.0.0.1 99.0.0.254" \ > multiplier="100" dampen="0" \ > op start interval="0" timeout="60s" on-fail="restart" \ > op monitor interval="10s" timeout="60s" on-fail="restart" \ > op stop interval="0" timeout="60s" on-fail="ignore" > > # PINGリソースB > primitive pingB ocf:pacemaker:pingd \ > params name="default_ping_set" host_list="99.0.0.1 10.0.0.254" \ > multiplier="100" dampen="0" \ > op start interval="0" timeout="60s" on-fail="restart" \ > op monitor interval="10s" timeout="60s" on-fail="restart" \ > op stop interval="0" timeout="60s" on-fail="ignore" > > # pingのスコアが0の場合に切り替える > location l_ping httpd \ > rule $id="l_ping" \ > -inf: default_ping_set eq 0 > > #違う気がします...この辺りからわからない > clone c_pingA pingA > clone c_pingB pingB > -------------------------------------------------- > > 【考えた設定その2】 > -------------------------------------------------- > # STONITHのOFF > property $id="cib-bootstrap-options" \ > stonith-enabled="false" no-quorum-policy="ignore" > > #Fail-over Off > rsc_defaults $id="rsc-options" resource-stickiness="INFINITY" > > # HTTPリソース設定 > primitive httpd ocf:heartbeat:apache \ > params configfile="/etc/httpd/conf/httpd.conf" port="80" \ > op monitor interval="20s" > > # PINGリソースA > primitive pingA ocf:pacemaker:pingd \ > params name="default_ping_set_no1" host_list="10.0.0.1" \ > multiplier="100" dampen="0" \ > op start interval="0" timeout="60s" on-fail="restart" \ > op monitor interval="10s" timeout="60s" on-fail="restart" \ > op stop interval="0" timeout="60s" on-fail="ignore" > > # PINGリソースB > primitive pingB ocf:pacemaker:pingd \ > params name="default_ping_set_no2" host_list="99.0.0.254" \ > multiplier="100" dampen="0" \ > op start interval="0" timeout="60s" on-fail="restart" \ > op monitor interval="10s" timeout="60s" on-fail="restart" \ > op stop interval="0" timeout="60s" on-fail="ignore" > > # PINGリソースC > primitive pingC ocf:pacemaker:pingd \ > params name="default_ping_set_no1" host_list="99.0.0.1" \ > multiplier="100" dampen="0" \ > op start interval="0" timeout="60s" on-fail="restart" \ > op monitor interval="10s" timeout="60s" on-fail="restart" \ > op stop interval="0" timeout="60s" on-fail="ignore" > > # PINGリソースD > primitive pingD ocf:pacemaker:pingd \ > params name="default_ping_set_no2" host_list="10.0.0.254" \ > multiplier="100" dampen="0" \ > op start interval="0" timeout="60s" on-fail="restart" \ > op monitor interval="10s" timeout="60s" on-fail="restart" \ > op stop interval="0" timeout="60s" on-fail="ignore" > > # ping二つとものスコアが0の場合に切り替える > location l_ping httpd \ > rule $id="l_ping" \ > -inf: default_ping_set_no1 eq 0 and default_ping_set_no2 eq 0 > > #違う気がします...この辺りからわからない > gloup g_ping1 pingA pingB > gloup g_ping2 pingC pingD > --------------------------------------------------