uehat****@first*****
uehat****@first*****
2011年 5月 28日 (土) 10:23:15 JST
はじめまして、上畑と申します。 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 --------------------------------------------------