renay****@ybb*****
renay****@ybb*****
2011年 6月 23日 (木) 08:38:25 JST
詳細ヘッダー 上畑さん こんにちは、山内です。 検証報告ありがとうございます。 動作は出来たようで何よりです。 また、colocatedですが、crmからだと出来ないのかも知れません。 port=80の設定の件は、私の方でも確認してみます。 cloneですが、Pacemakerのバージョンが少し古いと多くの問題を含んでいるので、 是非、最新のstable(1.0.11)あたりを利用されるようにお願いいたします。 山内 --- On Wed, 2011/6/22, Uehata Keiji <uehat****@first*****> wrote: > 山内さん > 上畑です。 > > 検証が終わりましたので結果報告させていただきます。 > apacheをClone設定をすることで意図した動作が確認できました。 > > ただ、1つ気になる点がありました。 > clone設定のバグなのかわかりませんが、 > clone apacheを設定する場合にparamsに「port="80"」という設定が必要となるようです。 > 以下の用に「port="80"」をはずして、cloneを設定した場合、apacheが停止しても > 停止したノードでapacheの再起動を繰り返すばかりで、vipがフェイルオーバしてくれませんでした。 > ------------------------------------------- > clone Clone_apache apache \ > params configfile="/etc/httpd/conf/httpd.conf" \ > statusurl="http://localhost/" \ > httpd="/usr/sbin/httpd" testregex="*" \ > ------------------------------------------- > Clone Set: Clone_apache > apache:0 (ocf::heartbeat:apache): Started node1.hoge.fuga FAILED > Started: [ node2.hoge.fuga ] > > Failed actions: > apache:0_monitor_10000 (node=node1.hoge.fuga, call=185, rc=7, status=complete): not running > apache:0_start_0 (node=node1.hoge.fuga, call=285, rc=-2, status=Timed Out): unknown exec error > ------------------------------------------- > > また、crmコマンドで > ------------------------------------------- > group Group_rs1 vip1 apache1 colocated=false > ------------------------------------------- > はsyntaxエラーになって確認が取れませんでした。 > また時間ができましたら、Groupの方法やapacheのprimitiveを2つ作成 > する方法を検証継続したいと思います。。 > > 以下成功した設定になります。 > ------------------------------------------- > # STONITHの無効 > property $id="cib-bootstrap-options" stonith-enabled="false" no-quorum-policy="ignore" > > # Fail-backは有効 > #rsc_defaults $id="rsc-options" resource-stickiness="-INFINITY" > > # VIP(vip1)設定 > primitive vip1 ocf:heartbeat:IPaddr2 \ > params ip="192.168.0.100" nic="eth0" cidr_netmask="24" \ > op start interval="0s" timeout="90s" on-fail="restart" \ > op monitor interval="10s" timeout="60s" on-fail="restart" \ > op stop interval="0s" timeout="100s" on-fail="block" > > # VIP(vip2)設定 > primitive vip2 ocf:heartbeat:IPaddr2 \ > params ip="192.168.0.101" nic="eth0" cidr_netmask="24" \ > op start interval="0s" timeout="90s" on-fail="restart" \ > op monitor interval="10s" timeout="60s" on-fail="restart" \ > op stop interval="0s" timeout="100s" on-fail="block" > > # Gateway-PING監視 > primitive ping_gw ocf:pacemaker:pingd \ > params name="default_ping_set_gw" host_list="192.168.0.254" dampen="0" \ > op start interval="0" timeout="90s" on-fail="restart" \ > op monitor interval="10s" timeout="60s" on-fail="restart" \ > op stop interval="0" timeout="100s" on-fail="block" > > # NODE全てでPING監視 > clone Clone_ping ping_gw \ > meta master-max="1" master-node-max="1" \ > clone-max="2" clone-node-max="1" \ > notify="true" > > # Apache設定 > primitive apache ocf:heartbeat:apache \ > params configfile="/etc/httpd/conf/httpd.conf" port="80" statusurl="http://localhost/" httpd="/usr/sbin/httpd" testregex="*" \ > op start interval="0s" timeout="40s" on-fail="restart" \ > op monitor interval="10s" timeout="60s" on-fail="restart" \ > op stop interval="0s" timeout="60s" on-fail="block" > > # NODE全てでApache監視 > clone Clone_apache apache > params port="80" > > # pingが切れたときにvip1を移動 > location Location_vip1 vip1 \ > rule 200: #uname eq node1 \ > rule 100: #uname eq node2 \ > rule -inf: default_ping_set_gw eq 0 > > # pingが切れたときにvip2を移動 > location Location_vip2 vip2 \ > rule 200: #uname eq node2 \ > rule 100: #uname eq node1 \ > rule -inf: default_ping_set_gw eq 0 > > # vip1とApacheは同居可能 > colocation Colocation_vip1 INFINITY: vip1 Clone_apache > > # vip2とApacheは同居可能 > colocation Colocation_vip2 INFINITY: vip2 Clone_apache > > # Clone_apacheとvip1の起動順序設定(停止時は逆から) > order Order_apache1 0: Clone_apache vip1 symmetrical=true > > # Clone_apacheとvip2の起動順序設定(停止時は逆から) > order Order_apache2 0: Clone_apache vip2 symmetrical=true > ------------------------------------------------------ > > > > > 上畑さん > > > > こんにちは、山内です。 > > > > 色々大変かと思いますが、是非、色々と試してみてください。 > > > > 結果のご報告、楽しみにしております。 > > > > 山内 > > > > > > > > --- On Wed, 2011/6/22, Uehata Keiji <uehat****@first*****> wrote: > > > > > 山内さん > > > > > > 返信ありがとうございます。 > > > いただいた設定を元に検証作業を行ってみようと思います。 > > > > > > > > その他、vipとApacheをそれぞれpritiveに設定してみる方法、vipとApacheをgroupのままでcolocated=falseに設定してみる方法などあるかも知れません。 > > > また、色々とヒントをありがとうございます。 > > > こちらについても、検証を行ってみて結果についてはまた報告させていただきます。 > > > > > > > 上畑さん > > > > > > > > 山内です。 > > > > > > > > cibを忘れていました。 > > > > 以下、抜粋します。(stonithなど考慮していませんのでご注意ください) > > > > > > > >? ???<resources> > > > >? ? ???<primitive id="vip1" class="ocf" type="IPaddr2" provider="heartbeat"> > > > >? ? ? ? ???<instance_attributes id="vip1-instance_attributes"> > > > > ??? ? ? <nvpair id="vip1-params1" name="nic" value="eth0" /> > > > > ??? ? ? <nvpair id="vip1-params2" name="ip" value="192.168.40.77" /> > > > > ??? ? ? <nvpair id="vip1-params3" name="cidr_netmask" value="24" /> > > > > ??? ? </instance_attributes> > > > >? ? ? ? ???<operations> > > > >? ? ? ? ? ???<op name="start" interval="0" id="op-vip1-start" timeout="300s" on-fail="restart" /> > > > >? ? ? ? ? ???<op name="monitor" interval="10s" id="op-vip1-monitor" timeout="60s" on-fail="restart"/> > > > >? ? ? ? ? ???<op name="stop" interval="0" id="op-vip1-stop" timeout="300s" on-fail="block"/> > > > >? ? ? ? ???</operations> > > > >? ? ???</primitive> > > > >? ? ???<primitive id="vip2" class="ocf" type="IPaddr2" provider="heartbeat"> > > > >? ? ? ? ???<instance_attributes id="vip2-instance_attributes"> > > > > ??? ? ? <nvpair id="vip2-params1" name="nic" value="eth0" /> > > > > ??? ? ? <nvpair id="vip2-params2" name="ip" value="192.168.40.78" /> > > > > ??? ? ? <nvpair id="vip2-params3" name="cidr_netmask" value="24" /> > > > > ??? ? </instance_attributes> > > > >? ? ? ? ???<operations> > > > >? ? ? ? ? ???<op name="start" interval="0" id="op-vip2-start" timeout="300s" on-fail="restart" /> > > > >? ? ? ? ? ???<op name="monitor" interval="10s" id="op-vip2-monitor" timeout="60s" on-fail="restart"/> > > > >? ? ? ? ? ???<op name="stop" interval="0" id="op-vip2-stop" timeout="300s" on-fail="block"/> > > > >? ? ? ? ???</operations> > > > >? ? ???</primitive> > > > >? ? ???<clone id="clnApache"> > > > >? ? ? ???<primitive class="ocf" id="clnApache-instance" provider="heartbeat" type="apache"> > > > >? ? ? ? ???<instance_attributes id="clnApache-instance_attributes"> > > > >? ? ? ? ? ???<nvpair id="clnApache-params2" name="configfile" value="/etc/httpd/conf/httpd.conf" /> > > > >? ? ? ? ? ???<nvpair id="clnApache-params3" name="port" value="80" /> > > > >? ? ? ? ? ???<nvpair id="clnApache-params4" name="statusurl" value="http://localhost/" /> > > > >? ? ? ? ? ???<nvpair id="clnApache-params5" name="httpd" value="/usr/sbin/httpd" /> > > > >? ? ? ? ? ???<nvpair id="clnApache-params6" name="testregex" value="*" /> > > > >? ? ? ? ???</instance_attributes> > > > >? ? ? ? ???<operations> > > > >? ? ? ? ? ???<op id="clnApache-start" interval="0" name="start" on-fail="restart" timeout="60s"/> > > > >? ? ? ? ? ???<op id="clnApache-monitor" interval="10s" name="monitor" on-fail="restart" timeout="60s"/> > > > >? ? ? ? ? ???<op id="clnApache-stop" interval="0" name="stop" on-fail="block" timeout="60s"/> > > > >? ? ? ? ???</operations> > > > >? ? ? ???</primitive> > > > >? ? ???</clone> > > > >? ???</resources> > > > >? ???<constraints> > > > >? ? ???<rsc_location id="rulvip1_location" rsc="vip1"> > > > >? ? ? ???<rule id="rule_vip_1_rule1" score="200"> > > > >? ? ? ? ???<expression attribute="#uname" id="expression.vip_1_rule1" operation="eq" value="srv01"/> > > > >? ? ? ???</rule> > > > >? ? ? ???<rule id="rule_vip_1_rule2" score="100"> > > > >? ? ? ? ???<expression attribute="#uname" id="expression.vip_1_rule2" operation="eq" value="srv02"/> > > > >? ? ? ???</rule> > > > >? ? ???</rsc_location> > > > >? ? ???<rsc_location id="rulevip2_location" rsc="vip2"> > > > >? ? ? ???<rule id="rule_vip_2_rule1" score="100"> > > > >? ? ? ? ???<expression attribute="#uname" id="expression.vip_2_rule1" operation="eq" value="srv01"/> > > > >? ? ? ???</rule> > > > >? ? ? ???<rule id="rule_vip_2_rule2" score="200"> > > > >? ? ? ? ???<expression attribute="#uname" id="expression.vip_2_rule2" operation="eq" value="srv02"/> > > > >? ? ? ???</rule> > > > >? ? ???</rsc_location> > > > >? ? ???<rsc_colocation id="rsc_colocation-vip1" rsc="vip1" score="INFINITY" with-rsc="clnApache"/> > > > >? ? ???<rsc_colocation id="rsc_colocation-vip2" rsc="vip2" score="INFINITY" with-rsc="clnApache"/> > > > >? ? ???<rsc_order first="clnApache" id="rsc_order-clnApache1" score="0" symmetrical="true" then="vip1"/> > > > >? ? ???<rsc_order first="clnApache" id="rsc_order-clnApache2" score="0" symmetrical="true" then="vip2"/> > > > >? ???</constraints> > > > > > > > > 以上です。 > > > > > > > > --- On Tue, 2011/6/21, renay****@ybb***** <renay****@ybb*****> wrote: > > > > > > > > > 上畑さん > > > > > > > > > > こんにちは、メイトリックスの山内です。 > > > > > > > > > > Failback設定は考慮していませんが、VIPを引き継いで両apcheがサービスを継続するということなので、基本的に両apacheは同じ設定が動いているということでいけば、 > > > > > > > > > > 1)apacheをclone > > > > > 2)両vipをprimitive > > > > > > > > > > で設定可能と思います。 > > > > > #ただし、リソースの起動順は、apache->vipの順で制約と依存をかけています。 > > > > > #pingdの依存もかけていません。 > > > > > > > > > > ●起動後 > > > > > ============ > > > > > Last updated: Wed Jun 22 01:42:07 2011 > > > > > Stack: Heartbeat > > > > > Current DC: srv02 (dc6ef1be-dcd0-4fdb-af8b-9a46a4b1428d) - partition with quorum > > > > > Version: 1.0.9-74392a28b7f31d7ddc86689598bd23114f58978b > > > > > 2 Nodes configured, unknown expected votes > > > > > 3 Resources configured. > > > > > ============ > > > > > > > > > > Online: [ srv01 srv02 ] > > > > > > > > > >? vip1???(ocf::heartbeat:IPaddr2):? ? ???Started srv01 > > > > >? vip2???(ocf::heartbeat:IPaddr2):? ? ???Started srv02 > > > > >? Clone Set: clnApache > > > > > ? ???Started: [ srv01 srv02 ] > > > > > > > > > > ●srv01のapacheをapache_ctlで停止してモニターエラーからFO後 > > > > > ============ > > > > > Last updated: Wed Jun 22 01:42:34 2011 > > > > > Stack: Heartbeat > > > > > Current DC: srv02 (dc6ef1be-dcd0-4fdb-af8b-9a46a4b1428d) - partition with quorum > > > > > Version: 1.0.9-74392a28b7f31d7ddc86689598bd23114f58978b > > > > > 2 Nodes configured, unknown expected votes > > > > > 3 Resources configured. > > > > > ============ > > > > > > > > > > Online: [ srv01 srv02 ] > > > > > > > > > >? vip1???(ocf::heartbeat:IPaddr2):? ? ???Started srv02 > > > > >? vip2???(ocf::heartbeat:IPaddr2):? ? ???Started srv02 > > > > >? Clone Set: clnApache > > > > > ? ???Started: [ srv02 ] > > > > > ? ???Stopped: [ clnApache-instance:0 ] > > > > > > > > > > Migration summary: > > > > > * Node srv02: > > > > > * Node srv01: > > > > > ???clnApache-instance:0: migration-threshold=1 fail-count=1 > > > > > > > > > > Failed actions: > > > > > ? ? clnApache-instance:0_monitor_10000 (node=srv01, call=6, rc=7, status=complete): not running > > > > > > > > > > ●srv01をモニターエラーを起こさずに停止してFO > > > > > ============ > > > > > Last updated: Wed Jun 22 01:48:28 2011 > > > > > Stack: Heartbeat > > > > > Current DC: srv02 (dc6ef1be-dcd0-4fdb-af8b-9a46a4b1428d) - partition with quorum > > > > > Version: 1.0.9-74392a28b7f31d7ddc86689598bd23114f58978b > > > > > 2 Nodes configured, unknown expected votes > > > > > 3 Resources configured. > > > > > ============ > > > > > > > > > > Online: [ srv02 ] > > > > > OFFLINE: [ srv01 ] > > > > > > > > > >? vip1???(ocf::heartbeat:IPaddr2):? ? ???Started srv02 > > > > >? vip2???(ocf::heartbeat:IPaddr2):? ? ???Started srv02 > > > > >? Clone Set: clnApache > > > > > ? ???Started: [ srv02 ] > > > > > ? ???Stopped: [ clnApache-instance:0 ] > > > > > > > > > > Migration summary: > > > > > * Node srv02: > > > > > > > > > > #上記のように動いてはいますが、十分な動作確認が必要かと思います。 > > > > > > > > > > > > > > > その他、vipとApacheをそれぞれpritiveに設定してみる方法、vipとApacheをgroupのままでcolocated=falseに設定してみる方法などあるかも知れません。 > > > > > > > > > > また、確認したバージョンは少し古いバージョンで、色々とclone周りなどにも問題がある為、最新のバージョンの組み合わせを利用されることを望みます。 > > > > > > > > > > 以上、よろしく御願いいたします。 > > > > > > > > > > > > > > > > > > > > > > > > > --- On Sat, 2011/6/18, uehat****@first***** <uehat****@first*****> wrote: > > > > > > > > > > > > > > > > > すみません。 > > > > > > > > > > > > 2台のHA構成で片方にApacheとVIP、もう片方にもApacheとVIPが動いている場合に > > > > > > VIPだけフェイルオーバーさせる事はできるのでしょうか > > > > > > (ただしApacheの停止時にもVIPをフェイルオーバさせる) > > > > > > ※()の中の条件がなければ Apacheをprimitiveに設定しなければいいだけなので > > > > > > す > > > > > > が。。。 > > > > > > > > > > > > 一応下の設定で、ほぼ上記の動作が実現可能なのですが、フェイルオーバー時に > > > > > > もう片方のApacheが起動しているノードにApacheとVIPの両方が移動するため、 > > > > > > Apacheに関しては、fail-countが発生してしまいます。 > > > > > > > > > > > > また、フェイルバック時に一旦、フェイルオーバ側のApacheが停止してからフェ > > > > > > イルバックしてしまう。 > > > > > > > > > > > > ---------------------------------------------- > > > > > > # STONITHの無効 > > > > > > property $id="cib-bootstrap-options" stonith-enabled="false" no-quorum-policy="ignore" > > > > > > > > > > > > # Fail-backは有効に > > > > > > #rsc_defaults $id="rsc-options" resource-stickiness="-INFINITY" > > > > > > > > > > > > # Apache(node1)設定 > > > > > > primitive apache_node1 ocf:heartbeat:apache \ > > > > > > params configfile="/etc/httpd/conf/httpd.conf" port="80" statusurl="http://localhost/" httpd="/usr/sbin/httpd" testregex="*" \ > > > > > > op start interval="0s" timeout="40s" on-fail="restart" \ > > > > > > op monitor interval="10s" timeout="60s" on-fail="restart" \ > > > > > > op stop interval="0s" timeout="60s" on-fail="block" > > > > > > > > > > > > # Apache(node2)設定 > > > > > > primitive apache_node2 ocf:heartbeat:apache \ > > > > > > params configfile="/etc/httpd/conf/httpd.conf" port="80" statusurl="http://localhost/" httpd="/usr/sbin/httpd" testregex="*" \ > > > > > > op start interval="0s" timeout="40s" on-fail="restart" \ > > > > > > op monitor interval="10s" timeout="60s" on-fail="restart" \ > > > > > > op stop interval="0s" timeout="60s" on-fail="block" > > > > > > > > > > > > # VIP(node1-vip)設定 > > > > > > primitive vip1 ocf:heartbeat:IPaddr2 \ > > > > > > params ip="192.168.0.101" nic="eth0" cidr_netmask="24" \ > > > > > > op start interval="0s" timeout="90s" on-fail="restart" \ > > > > > > op monitor interval="10s" timeout="60s" on-fail="restart" \ > > > > > > op stop interval="0s" timeout="100s" on-fail="block" > > > > > > > > > > > > # VIP(node2-vip)設定 > > > > > > primitive vip2 ocf:heartbeat:IPaddr2 \ > > > > > > params ip="192.168.0.102" nic="eth0" cidr_netmask="24" \ > > > > > > op start interval="0s" timeout="90s" on-fail="restart" \ > > > > > > op monitor interval="10s" timeout="60s" on-fail="restart" \ > > > > > > op stop interval="0s" timeout="100s" on-fail="block" > > > > > > > > > > > > # apacheとvipをグループ化する(Apache -> Vip) > > > > > > group Group_rs1 apache_node1 vip1 > > > > > > group Group_rs2 apache_node2 vip2 > > > > > > > > > > > > # Gateway-PING監視 > > > > > > primitive ping_gw ocf:pacemaker:pingd \ > > > > > > params name="default_ping_set_gw" host_list="192.168.0.254" dampen="0" \ > > > > > > op start interval="0" timeout="90s" on-fail="restart" \ > > > > > > op monitor interval="10s" timeout="60s" on-fail="restart" \ > > > > > > op stop interval="0" timeout="100s" on-fail="block" > > > > > > > > > > > > # NODE全てでPING監視 > > > > > > clone Clone_ping ping_gw \ > > > > > > meta master-max="1" master-node-max="1" \ > > > > > > clone-max="2" clone-node-max="1" \ > > > > > > notify="true" > > > > > > > > > > > > # pingが切れたときにGroup_rs1を移動 > > > > > > location Location_vip1 Group_rs1 \ > > > > > > rule 200: #uname eq node1 \ > > > > > > rule 100: #uname eq node2 \ > > > > > > rule -inf: default_ping_set_gw eq 0 > > > > > > > > > > > > # pingが切れたときにGroup_rs2を移動 > > > > > > location Location_vip2 Group_rs2 \ > > > > > > rule 200: #uname eq node2 \ > > > > > > rule 100: #uname eq node1 \ > > > > > > rule -inf: default_ping_set_gw eq 0 > > > > > > ---------------------------------------------- > > > > > > > > > > > > _______________________________________________ > > > > > > Linux-ha-japan mailing list > > > > > > Linux****@lists***** > > > > > > http://lists.sourceforge.jp/mailman/listinfo/linux-ha-japan > > > > > > > > > > > > > > > > > > _______________________________________________ > > Linux-ha-japan mailing list > > Linux****@lists***** > > http://lists.sourceforge.jp/mailman/listinfo/linux-ha-japan > > > >