momok****@mail*****
momok****@mail*****
2014年 3月 17日 (月) 19:01:52 JST
広瀬です。 飯田様、早速のご返答ありがとうございます。 ご回答頂いた内容を私なりに以下の様に整理してみました。 そこから2つ疑問が浮上してきました。 ■RAの挙動について > 私も知りませんでしたが、RAが"not configured (6)"を返した場合 > 当該リソースのスコアが全ノードで-1000000となりフェイルオーバーは > 行われなくなる仕様のようです。 ⇒RAの内部チェックで帰ったリターンコードがrc=6の場合には、全ノードで 100万、または-100万のスコアとなり、FOしなくなる。 ・これは仕様であり、コンフィグに不要なものが有ることとは関係が無い。 ・not configuredの出力自体が、RAの書き方の誤記には関係が無い http://clusterlabs.org/doc/en-US/Pacemaker/1.0/html/Pacemaker_Explained/s-ocf-return-codes.html ※ちょっと、リターンコードを調べて見ましたが、唯一のfatal扱いなので、 0~9のコードの中でも特殊なのですね。「not configured」表記にだまさ れた感満載です<そもそも記述ミスはstop行ですし・・・ ■リソースの記述について > RELAX NGのスキーマ的には記述しても良いものとして扱われています。 > この場合、記述してはいけないものを書いているわけではないのでチェ > ックでエラーにはなりません。 ⇒RELAX NGの文法としてだと思いますが、記載の仕方が間違いでは無い為、 verifyを掛けてもエラーとならない ⇒明らかな文法違反(及びRAに推奨値にそぐわない設定)の時において、 verifyは正常に発動する RAに元々設定されているパラメータ以外使えないと勘違いしておりました。 結構、チェックが厳しいので・・・その辺も考えているのかなぁと勝手な 判断だったようです。 ●上記を前提として、2つ疑問 ・本バグの場合、リターンコードは6以外があり得るのか? ⇒not configuredの意味を完全理解はしていませんが、もし6以外が 無いとしたら、無条件でこのバグはサービス停止を意味する ・不要な設定があることによる影響というのは全く無いと言えるのか? ⇒リソース設定上の文法は合っているが、不要な記述の影響の判断 はどのように処理されているのか 質問が2つになってしまいますが、もしご存じでしたらご教授いただけ ればと存じます。 宜しくお願い致します。 Yusuke Iida <yusk.****@gmail*****>さん: > 広瀬さん > > 飯田と申します。 > > 2014年3月17日 6:49 <momok****@mail*****>: > > 広瀬と申します。 > > > > > > 昨年末頃に見つかっているIPaddr2の不具合は年明け早々認識しており、 > > 弊社システムでも以下の条件満たしているサーバがありました。 > > > > ・CentOS5.9であること > > ・1.0.13-1.1を利用していること > > ・/proc/net/dev配下にアクセスしているスクリプトがある > > > > > > で、ついにその現象が発生しました(未対応のまま放置してた~汗)。 > > > > このバグですが、発生した場合でもFailoverするハズかなぁと思って > > いました。 > > > > 基本on-failをこのリソースに対しては明記していないので、デフォル > > トであり、restart(=他サーバへフェイルオーバーを意味)となるかと > > 思うので、Failoverするのでは無いかと思うのですが、実際にはひっ > > くり返りをしませんでした(vipリソースで停止したまま)。 > > > > ※crm configure show/ha-debug見る限り、migration未解除の残骸が > > ある訳でもなかった > > > > ■当該リソースのリスタート処理ログ > > > > Mar 17 04:26:58 www01 pengine: [11216]: ERROR: unpack_rsc_op: Preventing res_vip > > from re-starting anywhere in the cluster : operation monitor failed 'not > > configured' (rc=6) > > Mar 17 04:26:58 www01 pengine: [11216]: WARN: unpack_rsc_op: Processing failed > > op res_vip_monitor_20000 on www01: not configured (6) > > > > > > ログの読み方詳しくは判りませんが、恐らくFailoverしようとしている > > かと思うのですが、monitor行処理で'not configured'となっているので、 > > リソース設定確認してみました。 > 私も知りませんでしたが、RAが"not configured (6)"を返した場合 > 当該リソースのスコアが全ノードで-1000000となりフェイルオーバーは行われなくなる 仕様のようです。 > なので、上記故障ではフェイルオーバーは行われていないと思います。 > > 下記設定については後述したとおり、設定上エラーではないのでフェイルオーバー失敗 の原因ではありません。 > > > > > > ■IPaddr2リソース(monitor行のみ) > > > > op stop interval="0" timeout="20" intefval="0" \ > > > > > > ・・・と、最後に不要なものを含んでいる事を発見しました。Failover > > しなかった理由は恐らくコレなんだろうと思われますが、1点ここで質問 > > ですが、明らかにIPaddr2等には「intefval」(intervalの誤記だと)があ > > りますが、verifyを掛けてもコレを検出しませんでした。 > > > > > > crm configureでのverifyは完全では無いと考えた方が良いでしょうか? > > また、どこまで信頼性はあると考えてよいのか、ご存じでしたらご教授 > > 頂ければと思います。 > "crm configure load update"時には/usr/share/pacemaker/下にあるスキーマ情報や RA内に記述されている > meta_data情報を使ってチェックを行っています。 > > 今回設定されたopのintefvalですが、確かに設定した側からすると誤記によるミスだと 思われますが > RELAX NGのスキーマ的には記述しても良いものとして扱われています。 > この場合、記述してはいけないものを書いているわけではないのでチェックでエラーに はなりません。 > > 設定不可能なものを記述した場合はエラーや警告を出してくれるはずなので、 > 基本的にチェック機能は信頼しても大丈夫だと思います。 > > 以上、よろしくお願いします。 > > > > > > 以上、宜しくお願い致します。 > > > > _______________________________________________ > > Linux-ha-japan mailing list > > Linux****@lists***** > > http://lists.sourceforge.jp/mailman/listinfo/linux-ha-japan > > > > -- > ---------------------------------------- > METRO SYSTEMS CO., LTD > > Yusuke Iida > Mail: yusk.****@gmail***** > ---------------------------------------- > _______________________________________________ > Linux-ha-japan mailing list > Linux****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/linux-ha-japan