[Ultramonkey-l7-develop 619] Re: ultramonkey-l7-2.1.3-0 HB 用 RA の不具合と対応について

アーカイブの一覧に戻る

Jun Sugiura sugiu****@oss*****
2010年 6月 17日 (木) 16:47:44 JST


杉浦です。

ultramonkey-l7-2.1.3-1をビルド後、修正したRAの動作検証を実施し、
問題のないことを確認しました。

本日これより本バージョンをリリース致します。

以上、よろしくお願い致します。


On Tue, 15 Jun 2010 19:01:44 +0900
Jun Sugiura <sugiu****@oss*****> wrote:

> 杉浦です。お疲れ様です。
> 
> 本件につきまして、ultramonkey-l7-2.1.3-1 のリリース準備を
> 実施しています。
> 
> 添付の変更内容にてビルド中ですので、
> 何か問題がありましたらお知らせください。
> 
> できれば明日(6/16)中に検証実施したいと考えています。
> 
> 以上、よろしくお願い致します。
> 
> 
> On Thu, 03 Jun 2010 18:18:24 +0900
> Jun Sugiura <sugiu****@oss*****> wrote:
> 
> > 杉浦です。
> > 
> > ultramonkey-l7-2.1.3-0 において、同梱の Heartbeat2.1.4 用 RA
> > (L7directord / L7vsd / SSLProxy)の以下のような不具合について
> > 報告を受けましたので、情報展開します。
> > 
> > 尚、この不具合解消についてユーザからの強い要望がありますので
> > 今回、ultramonkey-l7-2.1.3-0 に添付の修正パッチのみをあてた
> > ultramonkey-l7-2.1.3-1 をリリースしたいと考えています。
> > 以下の不具合情報と合わせてご確認下さい。
> > 
> >  ●リリース日は 6/17 までを目処に考えています。
> >  ●6/10(木)までに、ご意見等ありましたらよろしくお願い致します。
> > 
> > <不具合概要>
> > 
> >  Heartbeat の管理リソース稼動チェック時に、対象プロセスが正常に
> >  1つのみ存在していたとしても、プロセス名に類似の文字列を含む
> >  なんらかの操作がなされていた場合、プロセスが2個以上存在すると
> >  判断されフェイルオーバが発生する可能性があります。
> > 
> > <不具合箇所>
> > 
> >  下記の★の部分の処理において、プロセス稼動確認の為に
> >  ps + grep + wc を実施していますが、この際に例えば
> > 
> >  # vi "grep対象文字列"
> > 
> >  等の操作がなされていた場合、その操作についても ps で拾ってしまい
> >  結果が 2 となります。
> >  Heartbeat へはこの結果を「0(停止)/ 1(稼働中)/ 2以上(異常発生)」
> >  として返しますので、<概要>に記載したような予期せぬフェイルオーバが
> >  発生してしまいます。
> > 
> > 【L7directord】
> >     107 ###############################
> >     108 # Resource Running Check Method
> >     109 ###############################
> >     110 isRunning(){
> >     111         RET=0
> > ★  112         RET=`ps -ef | grep "/usr/sbin/l7directord start" | grep -v grep | wc -l`
> >     113         return $RET
> >     114 }
> > 
> > 【L7vsd】
> >     157 ###############################
> >     158 # Resource Running Check Method
> >     159 ###############################
> >     160 isRunning(){
> >     161         RET=0
> > ★  162         RET=`ps -ef | grep /usr/sbin/l7vsd | grep -v grep | wc -l`
> >     163         return $RET
> >     164 }
> > 
> > 【SSLProxy】
> >     103 ###############################
> >     104 # Resource Running Check Method
> >     105 ###############################
> >     106 isRunning(){
> >     107         RET=0
> > ★  108         RET=`ps -ef | grep "/usr/sbin/sslproxy" | grep -v grep | wc -l`
> >     109         return $RET
> >     110 }
> > 
> > <パッチの内容>
> > 
> >  上記★の箇所の「ps -ef | grep "<パターン>" | grep -v grep」の部分について、
> >  以下の2つの状況において本問題が発生する可能性があることを踏まえ、
> >  「pgrep -fox "<パターン>"」に変更しています。
> > 
> >  ・<パターン> を引数として実行している別のコマンドが存在する場合がある
> >  ・l7vsd, l7directord プロセスが同時に2つになる可能性がある
> > 
> >  使用している pgrep の各オプションの意味は以下の通りです。
> > 
> >  -f: コマンド名ではなく、パス、引数を含めたコマンドライン全体を
> >    マッチング対象とする。
> > 
> >  -o: 該当プロセスのうち、もっとも古いPIDのみを出力する。
> >      これはPIDの大小ではなくプロセスの起動時間を見ているため、
> >    PIDがローテーションしても古いPIDを表示する。
> > 
> >      このオプションにより、監視対象プロセスがfork()等の呼び出しにより
> >    複数存在する瞬間があったとしても誤検知しない。
> > 
> >  -x: 指定したパターンに正確にマッチするもののみを抽出する。
> > 
> >      このオプションにより、他のコマンドがその引数に <パターン> と同じ
> >    文字列を指定した場合、例えば「<他のコマンド> <パターン>」のような名前
> >      で実行されているコマンドがあったとしても、それを拾うことはなくなる。
> > 
> >  マッチングさせる <パターン> については上記オプションの使用にあわせて
> >  一部変更しました。
> > 
> > 
> > 以上、ご確認よろしくお願い致します。
> > 
> > -- 
> > Jun Sugiura <sugiu****@oss*****>
> 
> -- 
> Jun Sugiura <sugiu****@oss*****>

-- 
Jun Sugiura <sugiu****@oss*****>




Ultramonkey-l7-develop メーリングリストの案内
アーカイブの一覧に戻る