[Linux-ha-jp] 自動フェイルバックの無効化

Back to archive index

Keisuke MORI kskmo****@intel*****
2008年 1月 8日 (火) 12:22:39 JST


青柳さん、

森と申します。

青柳さんのご希望の動作は

(1) srv01ネットワーク断発生時に、リソースがsvr02へフェイルオーバする。
(2) srv01ネットワーク断復旧時には、リソースはsvr02で動作したままとする。
    (自動フェイルバックしない)

でよろしいのですよね?

とすると、青柳さんの cib.xml では(1)に必要なpingdの設定が異なって
いるように思われます。

以下のFAQ項目に記載されているrule設定を追加してみてください。
(池田さんのcib.xmlにも、式は若干異なりますが同じ意図の設定がされています)

・外部接続性が失われたときにリソースを停止する
http://www.linux-ha.org/ja/CIB/Idioms_ja#head-7919e6817fa68b5e6acab7038f0445fbb36be562

(2)については default-resource-stickiness = "INFINITY" 
の設定で良いはずです。


なお、

> 池田様のxmlファイルでは、
> default-resource-failure-stickiness を "-INFINITY" に
> 設定されていますが、
> この設定はどのような動作をさせたい時に必要なものでしょうか。

これは、リソースが故障したとき(monitor 等が NG になったとき) の動
作を設定するものです。リソースの故障発生時に必ずフェイルオーバを
発生させたい場合に "-INFINITY" を設定します。

たいていの場合はそうだと思うので、私が今まで見たことのある設定で
はほとんど "-INFINITY" を設定していました。

以上、ご参考になれば。


Takashi Aoyagi <svu00****@partn*****> writes:

> 池田様
> ご回答ありがとうございます。
>
> 青柳です。
>
>
>> すいません。またしてもよく理解できていませんが
>> 期待する動作としては、こんな感じでしょうか?
>> (リソースはDummy一個です)
>
> 池田様の(1)〜(3)までの流れであっています。
> 今のところ、(4)は考慮していません。
>
> こちらのシナリオとしては、
> ■ default-resource-stickiness = "INFINITY" の場合
> (1) リソースがスコア大のノード(svr01)で起動する
> (2) スコア大のノード(svr01)のeth0が断線する
> 	-> スコア小のノード(svr02)にフェイルオーバーが行われない
>
> ■ default-resource-stickiness = "0" の場合
> (1) リソースがスコア大のノード(svr01)で起動する
> (2) スコア大のノード(svr01)のeth0が断線する
> 	-> スコア小のノード(svr02)にフェイルオーバーが行われる
> (3) スコア大のノード(svr01)のeth0が復旧する
> 	-> スコア大のノード(svr01)に自動フェイルバックが行われてしまう
>
> 環境的に異なる点としましては、
> ・Heartbeatの同期信号にeth0/eth1の2系統を使用している
> ・default-resource-failure-stickiness は "0" を設定している
> の2点かと思います。
>
>
> 池田様のxmlファイルでは、
> default-resource-failure-stickiness を "-INFINITY" に
> 設定されていますが、
> この設定はどのような動作をさせたい時に必要なものでしょうか。
>
> ・default-resource-stickiness
> ・default-resource-failure-stickiness
> を区別して設定した際に動作的にどのような違いが発生するのが、
> まだちゃんと理解できていないもので、、、
>
>
> こちらで使用している
> cib.xmlとha.cfを添付させていただきます。
>
>
> 以上、よろしくお願いいたします。
>
>
> On Thu, 27 Dec 2007 20:09:20 +0900
> "Junko IKEDA" <ikeda****@intel*****> wrote:
>
>> 池田です。
>> 
>> > 問題となるのが、
>> > pingdでチェックしているノードの停止により、
>> > スコアの変更が発生した際に
>> > リソースの移動をフェイルオーバー側だけ
>> > ・「スコア大のノード」⇒「スコア小のノード」のフェイルオーバはOK
>> > ・「スコア小のノード」⇒「スコア大のノード」のフェイルバックはNG
>> > という動きを実現できる設定がないかどうかの質問のつもりでした。
>> 
>> すいません。またしてもよく理解できていませんが
>> 期待する動作としては、こんな感じでしょうか?
>> (リソースはDummy一個です)
>> 
>> (1) リソースがスコア大のノード(prec370d)で起動する
>> 
>> (2) スコア大のノード(prec370d)がping先のノードと通信できなくなった
>> 	-> スコア小のノード(prec370e)にフェイルオーバ
>> 	   (prec370dのスコアは-INFINITYになります)
>> 
>> ここから先はテストケースのバリエーションがいろいろあるかと思いますが
>> (3) スコア大のノード(prec370d)がping先のノードと通信復活
>> 	-> 自動フェイルバックOFFなのでリソースの移動はなし
>> 
>> (2) スコア小のノード(prec370e)がping先のノードと通信できなくなった
>> 	-> スコア大のノード(prec370d)にフェイルオーバしない
>> 	   (prec370eのスコアは変更されませんので
>> 	   フェイルオーバはしませんが、リソースもとまりません。
>> 	    ping先との通信が切れてますので、ここはリソース停止
>> 	    したい場面なんですよね。。。?
>> 	    すぐにはよい方法が思いつきませんでした)
>> 	  
>> 
>> pingdのルールを追加しただけなので、crm_standbyコマンドによる
>> ノードのスタンバイ化、およびリソースが故障した場合、
>> (添付のcib.xmlでは故障時のスコアを-INFINITYとしています)
>> また、ノードそのものやHeartbeatプロセスが停止したときは
>> 別の動作を行います。
>> 
>> 添付のcib.xmlはすべての場合において、下記の動作を実現するものでは
>> ありませんが、期待する動作には近づいたでしょうか。
>> > ・「スコア大のノード」⇒「スコア小のノード」のフェイルオーバはOK
>> > ・「スコア小のノード」⇒「スコア大のノード」のフェイルバックはNG
>> 
>> 実際に使用されているcib.xmlや動作例(故障例?)を
>> ご連絡いただければ、もうちょっとましな
>> 回答ができるかもしれませんので、よろしくお願いいたします。
>> 守秘義務云々があると思いますので、差し支えない範囲で結構です。
>> 
>> 池田淳子
>> 
>
> --
> 青柳 隆
>
>
> _______________________________________________
> Linux-ha-japan mailing list
> Linux****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/linux-ha-japan

-- 
Keisuke MORI
NTT DATA Intellilink Corporation





Linux-ha-japan メーリングリストの案内
Back to archive index