アプリケーション ネットワーキング サービス : Cisco LocalDirector 400 シリーズ

LocalDirector によるサーバ障害の防止

2003 年 6 月 3 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2006 年 1 月 31 日) | フィードバック

目次


概要

LocalDirector が、次のような原因で、サーバ障害を誘発することがあります。

    • サーバが新しい接続に応答しない。
    • サーバが Transmission Control Protocol(TCP; 伝送制御プロトコル)リセットを使用して接続に応答する。
    • LocalDirector 設定で data コマンドが使用されている。
    • 実サーバからの応答メッセージが受信されない。
    • LocalDirector が、サーバから TCP SYN への応答を確認できない(NO ANSWER)。

    • LocalDirector がサーバから TCP RST を受信する(RST REASSIGN)。

LocalDirector の実サーバの障害発生原因が何であるかを判定するには、問題を診断する必要があります。show real コマンドを発行すると、次のような出力が得られます。

LocalDirector (config)# show real
 
    Real Machines:
   Machine             Connect  State  Thresh   No Answ Reassigns    TCP Reset Reassigns   DataIn Conns 
   server2:0:0:tcp       0      Failed    8           8                      0                  0 
   server1:0:0:tcp       0      Failed    8           0                      8                  0 

    Machine - IP address or name of the server, port(if a port-bound server), bind_id, and protocol.

    Connect - The current number of connections to the server. This does not include direct connections
    to the server that are bridged by the LocalDirector.

    State - IS(in service), OOS(out-of-service), failed or testing.

    Thresh - Threshold value for reassignments before server is marked as failed. Default 8.

    No Answer Reassigns - Number of connections that are not answered by a real server.

    TCP Reset Reassigns - Number of connections that are reassigned because a
    real server responded with an RST packet on a new connection.

    DataIn Conns - Number of clients requesting but not receiving data.

サーバ障害の原因

基本環境では、LocalDirector はさまざまな理由でサーバ障害を宣言しますが、そのすべてがサーバ側の問題です。

サーバが新しい接続に応答しない

サーバが新しい接続に応答しないと、No Answer Reassign カウンタが増加し始めます。

サーバが TCP リセットを使用して接続に応答する

サーバが TCP リセットを使用して接続に応答すると、TCP Reset Reassign 値が増加し始めます。No Answer Reassign または TCP Reset Reassign の一方の値がしきい値(デフォルトは 8)に到達すると、LocalDirector はサーバに障害が発生したことを宣言します。続いて LocalDirector は、再試行の後にライブ接続を指示することで、サーバをサービス状態に戻そうとします。デフォルトは 1 分です。障害が発生したサーバが、状態をチェックするためにライブ接続を受信するまでの時間を何分にするかを指定するには、retry コマンドを使用します。

data コマンドの使用

LocalDirector 設定で data コマンドを使用しても、サーバ障害の原因になる可能性があります。クライアントへのオープン接続が確立されていても要求に応答するデータを送信していないサーバに対して、接続の数を制限するには、data コマンドを使用します。TCP ハンドシェイクが行われ、HTTP GET などのクライアントからの要求が通過するまで、data コマンドは待機します。data コマンドは、サーバがタイムアウトすることなく、要求を満たすデータを用いて応答することを確認します。

TCP ハンドシェイクの後で、サーバがクライアントのデータ要求に応答しない場合、データ カウンタには 1 が加算されます。データ カウンタが LocalDirector の設定で指定されている数値に達すると、アプリケーション障害が原因でサーバは障害状態にあるとしてマークされます(実マシン 'x' の アプリケーション障害)。サーバが TCP リセットを送信している理由、または接続に応答しない理由を調査します。

LocalDirector が、サーバに障害が発生したことを報告するまでの待機時間を長くしたい場合は、threshold コマンドを使用してしきい値を増やします。

LocalDirector が実サーバに送信する接続の最大数を設定するには、maxconns コマンドを使用します。maxconns の値を削除するには、no maxconns コマンドを使用します。maxconns コマンドのデフォルト値は 0 で、接続の制限はありません。

まず、この仮想サーバを実サーバにバインドする必要があります。maxconns コマンドのアクションは、この仮想サーバにバインドされているすべての実サーバに適用されます。デフォルトは無制限であるため、最大値は使用可能なリソースにのみ制限されます。ただし、制限を設定してサーバへの過負荷を回避できます。Reassign しきい値を、事実上無制限を意味する 0 に設定することで、サーバ状態のテストを無効にすることができます。サーバが自動的にアウト オブ サービスになることはなく、単にタイムアウトになるだけです。TCP リセットが行われると、カウンタの値が増えます。

応答メッセージなし

クライアントからの TCP SYN パケットが割り当てられた後、実サーバから応答メッセージが確認できない場合も、サーバに障害が発生する可能性があります。これは、次の 2 つの形式で発生します。

  • 実サーバがダウンしているか、応答できない。

  • クライアントに戻るパスで、実サーバの応答が LocalDirector を迂回している。LocalDirector は応答を確認できず、Network Address Translation(NAT; ネットワーク アドレス変換)を使用してパケットを仮想アドレスに戻すことができない。

サーバに障害が発生したと見なすまでの期間を短くするには、しきい値および reassign 値を小さくして障害カウンタを調整します。

LocalDirector によるサーバ障害の防止

接続を拒否するサーバ障害を LocalDirector で防止するには、しきい値および reassign 値を増やします。たとえば、1 秒間に 400 の接続を受信するサイトでは、しきい値を 30 まで増やさなければならない場合があります。

data

data コマンドからの出力例を次に示します。

localdirector(config)# data ? 
data {real_id | virtual_id} [number of connections]
localdirector(config)# data 192.168.1.1:0:0:tcp 30       

注:virtual_id が指定されている場合、その仮想サーバによって表されているすべての実サーバが影響を受けます。  

show real

show real コマンドは、それぞれの実サーバの、未応答の接続の数を示します。
localdirector(config)# show real
   Real Machines:
                                                       No Answer    TCP Reset   DataIn 
    Machine                   Connect   State  Thresh   Reassigns    Reassigns   Conns 
    192.168.1.1:0:0:tcp          0       OOS     8         0             0         0 
        

show data

show data コマンドは、data コマンドで設定されている値を示します。

localdirector(config)# show data  
        Real Machine(s)                  DataIn 
         192.168.1.1:0:0:tcp                50 

関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 15061