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

Back to archive index

Jun Sugiura sugiu****@oss*****
2010年 6月 15日 (火) 19:01:44 JST


杉浦です。お疲れ様です。

本件につきまして、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*****>
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: gitshow_FixRAforHBv2.txt
型:         application/octet-stream
サイズ:     3881 バイト
説明:       無し
Download 
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: gitshow_2.1.3-1release.txt
型:         application/octet-stream
サイズ:     1071 バイト
説明:       無し
URL:        http://lists.sourceforge.jp/mailman/archives/ultramonkey-l7-develop/attachments/20100615/8a36bda7/attachment-0001.obj 



Ultramonkey-l7-develop メーリングリストの案内
Back to archive index