[Linux-ha-jp] 2つのprimitiveのうち片方だけをフェイルオーバさせる方法

Back to archive index

renay****@ybb***** renay****@ybb*****
2011年 6月 21日 (火) 16:50:42 JST


上畑さん

こんにちは、メイトリックスの山内です。

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 メーリングリストの案内
Back to archive index