説明

障害時の無停止通信復旧システム及び方法

【課題】直近のパケット情報から通信状態を復旧させ、コネクションを再接続しなくてもサービスを継続させる。
【解決手段】スイッチを通して行われる通信中に生じる障害を再開させるために、前記スイッチは、通信ポートを通してクライアントとサービス系クライアントノードとの間で通信されるパケットを複製し、その複製したパケットを前記待機系クラスタノードに送信する。前記サービス系クラスタノードに切り替わる待機系クラスタノードは、前記複製されたパケットからコネクションに関するパケットを抽出し、前記抽出したパケットに基づいてコネクション情報を解析し、前記サービス系クラスタノードの動作監視状況に対応して、前記コネクションに関するパケットと前記コネクション情報とに基づいて、通信状態を復元する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クラスタ環境のファイルサーバに利用可能な障害時の無停止通信復旧システム及びその方法に関する。
【背景技術】
【0002】
クラスタ環境においては、クラスタ単位でデータの遣り取りによるサービスが行われており、そのサービスが継続されることが要求される。前記クラスタ環境では、サービスが行われている際に通信障害が発生する場合も想定されるため、それに対処する方式が開発されている。
【0003】
前記通信障害の発生は、前記クラスタ環境の分野に限られるものではなく、通信を応用した分野では想定されるものである。クラスタシステムにおける故障復旧方式が特許文献1に開示されている。また、特許文献2には、コールドスタンバイをベースとしてシステムの停止時間を短縮する中継システムが開示されている。また、特許文献3には、再構築可能な故障に対する耐久性を向上させた多重相互接続ネットワークが開示されている。
【特許文献1】再公表特許WO2005−060187号公報
【特許文献2】特開2007−81933号公報
【特許文献3】特開平5−207011号公報
【特許文献4】特開平11−85556号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1では、クラスタ環境において通信障害が発生することによりサービスノードが切り替わった際、コネクションの再接続を行うために、待機系側でもセッション状態の情報を全て共有する必要があった。この場合、待機系側のリソースの増大を招きかねないという問題がある。
【0005】
また、特許文献2においても、二つの端末相互間を中継している中継装置に通信障害が生じた際、この中継装置を別の中継装置に切り替えるために、再開処理に必要なジャーナルとしての全ての情報を確保する必要があり、特許文献1と同様の問題が残されている。
【0006】
また、特許文献3は、スイッチによるネットワークを動的に構成するものであり、相互接続された複数のアクティブ論理スイッチで入出力に使用するポートを選択的に接続する構成に関するものであり、クラスタ環境にそのまま適用することはできず、改良する余地が残されている。
【0007】
また、特許文献4では、実行系制御プロセスと待機系制御プロセスとに対応させて共有メモリ上にネットワーク情報を記憶させておき、この情報を引き継いで通信を継続させるものであり、コネクションの再接続を行うためにセッション状態の情報を全て共有する必要があった。
【0008】
クラスタ環境においては、クラスタ単位でデータの遣り取りによるサービスを継続させるためには、セッションの再開に加えて通信状態を復旧させる必要がある。しかしながら、前記特許文献に開示された方式は、その何れもがコネクションの再接続を行うためにセッション状態の情報を全て確保する必要があり、それらの情報を利用してセッションの再開のみを実現するものであるから、通信状態の復旧を実現するには至っていないのが実情である。
【0009】
本発明の目的は、パケット情報から通信状態を復旧させ、コネクションを再接続しなくてもサービスを継続させる、クラスタ環境における障害時の無停止通信復旧システム及び方法を提供することにある。
【課題を解決するための手段】
【0010】
前記目的を達成するため、本発明に係る障害時の無停止通信復旧システムは、クラスタ環境の一のクラスタノードをサービス系、他のクラスタノードを待機系とし、スイッチを通して前記サービス系クラスタノードとクライアントとの間で通信を運用する際に、前記サービス系クラスタノードで障害が発生した際に通信を再開させる障害時の無停止通信復旧システムであって、
前記スイッチは、通信ポートを通して前記クライアントと前記サービス系クライアントノードとの間で通信されるパケットを複製し、その複製したパケットを前記待機系クラスタノードに送信するパケット複製手段を有し、
前記待機系クラスタノードは、前記複製されたパケットからコネクションに関するパケットを抽出し、前記抽出したパケットに基づいてコネクション情報を解析するパケット解析モジュールと、前記サービス系クラスタノードの動作監視状況に対応して、前記コネクションに関するパケットと前記コネクション情報とに基づいて、通信状態を復元するコネクション復元モジュールとを有することを特徴とする。
【0011】
以上の説明では、本発明をハードウェア構成による障害時の無停止通信復旧システムとして構築したが、これに限られるものではない。本発明は、前記障害時の無停止通信復旧システムに用いるスイッチ或いは待機系クラスタノードとして構築してもよい。さらには、本発明は、障害時の無停止通信復旧方法、或いは無停止通信復旧制御プログラムとして構築してもよいものである。
【0012】
本発明を前記障害時の無停止通信復旧システムに用いるスイッチとして構築した場合、本発明に係る無停止通信復旧システムのスイッチは、クラスタ環境の一のクラスタノードをサービス系、他のクラスタノードを待機系として通信を運用する際に、前記サービス系クラスタノードで障害が発生した際に通信を再開させる無停止通信復旧システムに用いるスイッチであって、
前記スイッチは、前記サービス系クラスタノードとクライアントとの間で通信ポートを通してパケットを通信するものであり、前記通信ポートを通して前記クライアントと前記サービス系クライアントノードとの間で通信されるパケットを複製し、その複製したパケットを前記待機系クラスタノードに送信するパケット複製手段を有する構成として構築する。
【0013】
本発明を前記障害時の無停止通信復旧システムに用いるスイッチとして構築した場合、本発明に係る障害時の無停止通信復旧システムの待機系クラスタノードは、クラスタ環境の一のクラスタノードをサービス系、他のクラスタノードを待機系として通信を運用する際に、前記サービス系クラスタノードで障害が発生した際に通信を再開させる無停止通信復旧システムに用いる待機系クラスタノードであって、
前記複製されたパケットからコネクションに関するパケットを抽出し、前記抽出したパケットに基づいてコネクション情報を解析するパケット解析モジュールと、前記サービス系クラスタノードの動作監視状況に対応して、前記コネクションに関するパケットと前記コネクション情報とに基づいて、通信状態を復元するコネクション復元モジュールとを有する構成として構築する。
【0014】
本発明を障害時の無停止通信復旧方法として構築した場合、本発明に係る障害時の無停止通信復旧方法は、クラスタ環境の一のクラスタノードをサービス系、他のクラスタノードを待機系とし、スイッチを通して前記サービス系クラスタノードとクライアントとの間で通信を運用する際に、前記サービス系クラスタノードで障害が発生した際に通信を再開させる障害時の無停止通信復旧方法であって、
前記通信ポートを通して前記クライアントと前記サービス系クライアントノードとの間で通信されるパケットを複製し、その複製したパケットを前記待機系クラスタノードに送信し、前記待機系クラスタノード側において、前記複製されたパケットからコネクションに関するパケットを抽出し、前記抽出したパケットに基づいてコネクション情報を解析し、前記サービス系クラスタノードの動作監視状況に対応して、前記コネクションに関するパケットと前記コネクション情報とに基づいて、通信状態を復元する構成として構築する。
【0015】
本発明を障害時の無停止通信復旧制御プログラムとして構築した場合、本発明に係る無停止通信復旧制御プログラムは、クラスタ環境の一のクラスタノードをサービス系、他のクラスタノードを待機系として通信を運用する際に、前記サービス系クラスタノードで障害が発生した際に通信を再開させる無停止通信復旧の動作を制御するための制御プログラムであって、
前記待機系クラスタノードを構成するコンピュータに、
前記複製されたパケットからコネクションに関するパケットを抽出し、前記抽出したパケットに基づいてコネクション情報を解析する機能と、前記サービス系クラスタノードの動作監視状況に対応して、前記コネクションに関するパケットと前記コネクション情報とに基づいて、通信状態を復元する機能とを実行させる構成として構築する。
【発明の効果】
【0016】
本発明によれば、クラスタ環境のクラスタノードにおいてサービス系クラスタノードで障害が発生しそれまでのサービスを待機系クラスタノードが引き継ぐ際に、予め待機系クラスタノードでサービス系クラスタノードの通信ポートを流れるパケットをバッファリング(ミラー)しておき、通信状態(例えばコネクション開設/切断)の情報をトレースしつつパケット情報から通信状態を復元させ、コネクションを再接続しなくてもサービスを継続することができる。
【図面の簡単な説明】
【0017】
【図1】本発明の実施形態に係る障害時の無停止通信復旧システムを示す構成図である。
【図2】本発明の実施形態に係る障害時の無停止通信復旧システムを用いて障害時の無停止通信復旧方法を実行する場合のシーケンスを示す図である。
【発明を実施するための形態】
【0018】
以下、本発明の実施形態を図に基づいて詳細に説明する。
【0019】
本発明の実施形態に係る障害時の無停止通信復旧システムは図1に示す様に、クラスタ環境の一のクラスタノードをサービス系、他のクラスタノードを待機系とし、スイッチ1を通して前記サービス系クラスタノード(2)とクライアント6との間で通信を運用する際に、前記サービス系クラスタノード(2)で障害が発生した際に通信を再開させる障害時の無停止通信復旧システムを対象とするものである。
【0020】
そして、本発明の実施形態に係る障害時の無停止通信復旧システムは図1に示す様に、基本的な構成として、前記スイッチ1は、通信ポートを通して前記クライアント6と前記サービス系クライアントノード(2)との間で通信されるパケットを複製し、その複製したパケットを前記待機系クラスタノードに送信するパケット複製手段10を有している。さらに、前記待機系クラスタノード(3)は、前記複製されたパケットからコネクションに関するパケットを抽出し、前記抽出したパケットに基づいてコネクション情報を解析するパケット解析モジュール50と、前記サービス系クラスタノード(2)の動作監視状況に対応して、前記コネクションに関するパケットと前記コネクション情報とに基づいて、通信状態を復元するコネクション復元モジュール30とを有することを特徴としている。
【0021】
本発明の実施形態では、前記スイッチ1のパケット複製手段10を用いて前記通信ポートを通して前記クライアント6と前記サービス系クライアントノード(2)との間で通信されるパケットを複製し、その複製したパケットを前記待機系クラスタノード(3)に送信し、前記待機系クラスタノード(3)側において、パケット解析モジュール50を用いて、前記複製されたパケットからコネクションに関するパケットを抽出し、前記抽出したパケットに基づいてコネクション情報を解析し、前記コネクション復元モジュール30を用いて、前記サービス系クラスタノード(2)の動作監視状況に対応して、前記コネクションに関するパケットと前記コネクション情報とに基づいて、通信状態を復元する。
【0022】
次に、本発明の実施形態に係る障害時の無停止通信復旧システムをクラスタ環境のファイルサーバに適用した例に基づいて、さらに詳細に説明する。
【0023】
本発明の実施形態に係る障害時の無停止通信復旧システムをクラスタ環境のファイルサーバに適用した場合、サービス系クラスタノードには図1に示すサービス系ファイルサーバ2が該当し、待機系クラスタノードには図1に示す待機系ファイルサーバ3が該当する。
【0024】
クラスタ環境のファイルサーバに適用した本発明の実施形態に係る障害時の無停止復旧システムは図1に示す様に、スイッチ1と、サービス系ファイルサーバ2と、待機系ファイルサーバ3と、クライアント6とを有している。
【0025】
前記スイッチ1は、前記サービス系ファイルサーバ2と前記クライアント6との相互間で通信ポートを通してパケットの遣り取りを行うものであり、パケット複製手段10を有している。前記パケット複製手段10は、前記通信ポートを通して遣り取りするパケットを複製し、その複製したパケットを前記通信ポートとは異なる通信ポートに流すものである。なお、前記異なる通信ポートには、後述するように前記待機系ファイルサーバ3が接続され、前記パケット複製手段10は、前記複製したパケットを前記待機系ファイルサーバ3に送信するようになっている。
【0026】
前記待機系ファイルサーバ3は、前記サービス系サーバ2と同様に前記クライアント6にサービスを提供するものであり、前記サービス系サーバ2を現用のサーバとした場合、前記サービス系サーバ2に障害が生じた際に前記サービス系サーバ2に代わって前記クライアント6にサービスを提供するものである。前記待機系ファイルサーバ3は、コネクション復元モジュール30と、死活監視手段40と、パケット解析モジュール50とを有している。なお、前記死活監視手段40は、前記待機系ファイルサーバ3に装備したが、これに限られるものではなく、前記待機系ファイルサーバ3とは独立させて設けてもよいものである。
【0027】
前記パケット解析モジュール50は、前記複製されたパケットからコネクションに関するパケットを抽出し、前記抽出したパケットに基づいてコネクション情報を解析するものであり、パケット受信手段51と、パケット抽出手段52と、パケット解析手段53と、パケットバッファ54と、コネクション情報記憶部55とを有している。
【0028】
前記パケット受信手段51は、前記パケット複製手段10が選択した通信ポートに接続して、前記パケット複製手段10が複製したパケットを受信し、その受信したパケットを前記パケット抽出手段52に受け渡すものである。
【0029】
前記パケット抽出手段52は、受信したパケットからコネクションに関するパケット、具体的は、コネクションの開設/切断、NFS(Network File System)/CIFS(Common Internet File System)のリクエスト/リプライに関わるパケットを抽出し、前記抽出したパケットを前記パケット解析手段53に受け渡すものである。
【0030】
前記パケット解析手段53は、前記パケット抽出手段52が抽出したパケットを受け取り、前記抽出されたパケットからコネクション情報を解析し、その解析結果を前記パケットバッファ54と前記コネクション情報記憶部55とに出力するものである。
【0031】
前記パッケトバッファ54は、前記パケット解析手段53からの解析結果を得て、コネクション毎に遣り取りされたコネクションに関するパケット、具体的にはNFS/CIFSのリクエスト/リプライに関するパケットを記憶するものである。なお、前記パケットバッファ54は、前記パケット解析手段53からの登録要求に基づいて前記パケットをFIFO(First−In First−Out)方式で記憶している。ここに、FIFO方式とは、格納したデータを、古く格納した順に取り出すようにする方式であって、一番新しく格納されたデータが一番最後に取り出される方式を意味する。
【0032】
前記コネクション情報記憶部55は、前記パケット解析手段53からの解析結果を得て、前記パケット解析手段53が解析したコネクション情報(例えば、TCP(Transmission Control Protocol)/IP(Internet Protocol)ヘッダ、NFSのファイルハンドラ、SMB(Server Message Block)ヘッダ)をテーブル形式で記憶するものである。前記死活監視手段40は、前記サービス系ファイルサーバ2の動作状況を監視して、前記サービス系ファイルサーバ2で障害が発生したかどうかを監視するものである。
【0033】
前記コネクション復元モジュール30は、前記サービス系クラスタノード2の動作監視状況に対応して、前記コネクションに関するパケットと前記コネクション情報とに基づいて、通信状態を復元するものである。具体的には、前記コネクション復元モジュール30は、前記コネクションに関するパケットのヘッダ情報とデータとから過去最近に通信していたコネクション情報を復元し、その復元したコネクション情報に基づいて前記通信状態を復元する。そして、前記コネクション復元モジュール30は、前記コネクション情報が復元不可能なときに、前記コネクションに関するパケットから前記スイッチの通信ポートを割り出し、前記スイッチにリセットを送信することにより通信状態の復元を促す。また、前記コネクション復元モジュール30は、前記複製されたパケットから抽出したコネクションに関するパケットと、前記抽出したパケットに基づいて解析したコネクション情報とを解析して、コネクション情報が揃っている場合に通信状態を復元し、コネクション情報が揃っていない場合に通信状態を切断する指令を前記スイッチ1に送信する。
【0034】
さらに具体的に説明すると、前記コネクション復元モジュール30は、コネクション解析手段31と、コネクション復元手段32と、コネクション切断手段33とを有している。
【0035】
前記コネクション解析手段31は、前記死活監視手段40による監視結果を得て、前記コネクション記憶部55が記憶している情報と前記パケットバッファ54が記憶している情報とに基づいて通信状態(コネクション状態)を解析するものである。
【0036】
前記コネクション復元手段32は、前記コネクション解析手段31が解析した結果を受けて、前記コネクションに関するパケットのヘッダ情報とデータとから過去最近に通信していたコネクション情報を復元し、その復元したコネクション情報に基づいて前記通信状態を復元する。そして、前記コネクション復元手段32は、前記コネクション解析手段31による解析の結果で前記コネクション情報が復元不可能なときに、前記コネクションに関するパケットから前記スイッチ1の通信ポートを割り出し、前記スイッチ1にリセット(RST)を送信することにより通信状態の復元を促す。また、前記コネクション復元手段32は、前記コネクション解析手段31が解析した結果を受けて、前記複製されたパケットから抽出したコネクションに関するパケットと、前記抽出したパケットに基づいて解析したコネクション情報とを解析して、コネクション情報が揃っている場合に通信状態を復元する。
【0037】
前記コネクション切断手段33は、前記コネクション解析手段31が解析した結果を受けて、コネクション情報が揃っていない場合に、前記コネクション解析手段31の指示でリセット(RST)を前記スイッチ1に送信するものである。前記スイッチ1は、前記コネクション切断手段33からの前記リセットを受けてコネクションを切断する。
【0038】
以上の説明では、本発明の実施形態をハードウェア構成による障害時の無停止通信復旧システムとして構築したが、これに限られるものではない。本発明の実施形態における待機系ファイルサーバ3を構築するコネクション復元モジュール30とパケット解析モジュール50とを、CPUにプログラムを実行させることにより、ソフトウェア上で実現するようにしてもよいものである。
【0039】
次に、本発明の実施形態に係る無停止通信復旧システムを用いて、クラスタ環境における障害時の無停止通信復旧方法を実行する場合を図1及び図2に基づいて説明する。
【0040】
以下では、クライアント6がサービス系ファイルサーバ2を利用してファイルアクセスする場合における無停止通信復旧方法について説明する。
【0041】
クライアント6とサービス系ファイルサーバ2との間において、コネクション開設要求/応答のパケットがスイッチ1の通信ポートを通して送受信されると(図2のステップS1,S2,S3,S4)、スイッチ1のパケット複製手段10は、前記通信ポートを通して送受信された前記パケットを受け取って、前記パケットを複製し、その複製したパケットを、前記通信ポートとは異なる通信ポートを通して待機系ファイルサーバ3のパケット受信手段51に送信する(図2のステップS5)。
【0042】
前記パケット受信手段51は、前記パケット複製手段10が複製した前記パケットを受信すると、そのパケットをそのままパケット抽出手段52に送信する。前記パケット抽出手段52は、前記パケット受信手段51から前記パケットを受け取ると、そのパケットのTCPヘッダのフラグに基づいて、コネクション開設要求か、又はコネクション開設要求に対する応答かを判断し、コネクション情報をコネクション情報記憶部55に出力する。前記コネクション情報記憶部55は、前記パケット抽出手段53からの出力に基づいて前記コネクションに関するパケットをFIFO方式で記録する。
【0043】
次に、前記クライアント6から前記サービス系ファイルサーバ2にファイルアクセス要求/応答のパケットが前記スイッチ1の通信ポートを通して返送されると、同様に前記パケット複製手段10は、前記通信ポートを通して返送された前記パケットを複製し、その複製したパケットを、前記通信ポートとは異なる通信ポートを通して待機系ファイルサーバ3のパケット受信手段51に送信する。
【0044】
前記パケット受信手段51は、前記パケット複製手段が複製した前記パケットを受信すると、そのパケットをそのままパケット抽出手段52に送信する。
【0045】
前記パケット抽出手段52は、前記パケット受信手段51から前記パケットを受け取ると、そのパケットから前記コネクションに関するパケットを抽出し、そのパケットを前記パケット解析手段53に出力する。
【0046】
前記パケット解析手段53は、前記パケット抽出手段52からの前記パケットを受け取ると、前記コネクション情報記憶部55が記憶しているコネクション情報を読み出し、前記パケット抽出手段52から受け取った前記パケットにおけるTCPヘッダに基づいて、前記クライアント6から前記サービス系ファイルサーバ2への通信が前記コネクション情報記憶部55で記憶されているコネクション情報による通信であるかを判定し、前記コネクション情報による通信である場合に、前記パケットにおけるNFS/CIFSのヘッダに基づいて、ファイルアクセス要求か、或いはそのファイルアクセス要求に対する応答かを判断し、前記パケット抽出手段52から受け取った前記パケットを前記パケットバッファ54に出力する。前記パケットバッファ54は、前記パケット解析手段53から受け取った前記パケットをFIFO方式で記憶する。
【0047】
ここで、前記クライアント6から前記サービス系ファイルサーバ2に前記スイッチ1の通信ポートを通してコネクション切断要求のパケットが返送された場合には、前記コネクション開設要求時の処理と同様に、前記スイッチ1のパケット複製手段10は、前記通信ポートを通して返送された前記パケットを複製し、その複製したパケットを待機系ファイルサーバ3の前記パケット抽出手段52に向けて送信する。
【0048】
前記パケット解析手段53は、コネクション開設要求時と同様に、前記パケット抽出手段52が抽出したコネクション切断要求のパケットを受け取ると、その受け取った前記パケットのTCPヘッダに基づいて、前記コネクション情報記憶部55が記憶しているコネクション情報に前記コネクション切断要求のコネクション情報が存在している場合に、そのコネクション情報を削除する指令を前記コネクション情報記憶部55に出力する。前記コネクション情報記憶部55は、前記パケット解析手段52からの指令を受けて、記憶しているコネクション情報から、前記コネクション切断要求のコネクション情報に該当するコネクション情報を削除する。
【0049】
次に、前記サービス系ファイルサーバ2で障害が発生した場合について説明する。
【0050】
前記待機系ファイルサーバ3の死活監視手段40は、前記サービス系ファイルサーバ2の動作状態を監視している。監視している状態で前記サービス系ファイルサーバ3の障害が発生すると、前記死活監視手段40は直ちに前記サービス系ファイルサーバ2に障害が発生したことを前記待機系ファイルサーバ3のコネクション復元モジュール30に通知する。
【0051】
前記コネクション復元モジュール30が前記死活監視手段40から前記サービス系ファイルサーバ2に障害が発生した通知を受け取ると、前記コネクション復元モジュール30のコネクション解析手段31は、前記コネクション情報記憶部55及び前記パケットバッファ54に記憶されている情報を読み出し、その読み出した情報に基づいて通信状態(コネクション状態)を解析し、その解析結果を前記コネクション復元手段32及び前記コネクション切断手段33に出力する。
【0052】
前記コネクション復元手段32は、前記コネクション解析手段31が解析した結果を受けて、前記コネクションに関するパケットのヘッダ情報とデータとから過去最近に通信していたコネクション情報を復元し、その復元したコネクション情報に基づいて前記通信状態を復元する。そして、前記コネクション復元手段32は、前記コネクション解析手段31による解析の結果で前記コネクション情報が復元不可能なときに、前記コネクションに関するパケットから前記スイッチ1の通信ポートを割り出し、前記スイッチ1にリセット(RST)を送信することにより通信状態の復元を促す。また、前記コネクション復元手段32は、前記コネクション解析手段31が解析した結果を受けて、前記複製されたパケットから抽出したコネクションに関するパケットと、前記抽出したパケットに基づいて解析したコネクション情報とを解析して、コネクション情報が揃っている場合に通信状態を復元する。
【0053】
さらに、前記コネクション解析手段31がパケットバッファ54に残っている最後のリクエスト/リプライ情報に基づいて、リクエストの受信が最後の受信であると解析した場合、前記コネクション復元手段32は、そのリクエストに対する処理からサービスを再開する旨の指令を前記待機系ファイルサーバ3に出力する。
【0054】
前記待機系ファイルサーバ3は、上述した前記コネクション復元手段32による復元の結果を得て、前記サービス系ファイルサーバ2に代わって、前記クライアント6に対するサービスを再開する。そして、前記待機系ファイルサーバ3は、前記コネクション復元手段32から前記リクエストに対する処理からサービスを再開する旨の指令を受け取った場合、前記そのリクエストに対する処理からサービスを再開する(図2のステップS6,S7)。
【0055】
また、前記コネクション解析手段31は、前記コネクション情報記憶部55に記憶されているコネクション情報と、前記パケットバッファ54に記憶されている前記コネクションに関するパケットとを読み出し、その読み出したデータに基づいてコネクション状態を解析し、その解析したコネクション情報に結びつくリクエスト/リプライのパケットが前記パケットバッファ54に存在しない場合、切断指令を前記コネクション切断手段33に出力する。
【0056】
前記コネクション切断手段33は、前記コネクション解析手段31が解析した結果を受けて、コネクション情報が揃っていない場合に、前記コネクション解析手段31の指示でリセット(RST)を前記スイッチ1に送信する。前記スイッチ1は、前記コネクション切断手段33からの前記リセットを受けてコネクションを切断する。
【0057】
以上のように、本発明の実施形態によれば、クラスタ環境のクラスタノードにおいてサービス系クラスタノードで障害が発生しそれまでのサービスを待機系クラスタノードが引き継ぐ際に、予め待機系クラスタノードでサービス系クラスタノードの通信ポートを流れるパケットをバッファリング(ミラー)しておき、通信状態(例えばコネクション開設/切断)の情報をトレースしつつパケット情報から通信状態を復元させ、コネクションを再接続しなくてもサービスを継続することができる。
【0058】
また、本発明の実施形態によれば、サービス系ファイルサーバの障害時にフェイルオーバしてもサービス中だったファイルアクセスのコネクションを維持することができ、再接続処理をせずに通信を継続できる。その理由は、サービス系ファイルサーバで通信していたパケットを待機系ファイルサーバでもミラーし、コネクション状態をトレースしコネクションを再構築できるためである。
【0059】
また、待機系ファイルサーバにおけるコネクション復旧のための処理負荷を低く抑えることができる。その理由は、待機時にはミラーとして流れてくるパケットの処理のみを行いコネクションそのものは扱わず、障害発生時に記憶しているコネクション情報とパケットに基づいてコネクションを復旧させるためである。
【0060】
また、コネクション復旧時に良く使われているコネクションほど優先的に復旧させることができる。その理由は、FIFO方式に基づいてパケットバッファに記録を実行し、過去最近に通信したパケット情報が優先して残り、この情報を使ってコネクションを復旧するためである。
【0061】
また、本発明の他の実施形態として、Nノードクラスタ環境に拡張して考えた場合、例えばクラスタノードが10ノードであれば、1Gbpsポート×10と10Gbpsポート×1とをもつスイッチ1を用意し、コネクション復元モジュール30を装備した各ノードを1Gbpsポートに接続し、パケット解析モジュール50を10Gbpsポートに接続してパケットのミラーを行い、障害発生時には障害ノードのIPアドレスに関わるコネクションを稼動している何れかのノードのコネクション復元モジュール30に、記憶しているコネクション情報を転送し、コネクションを復旧することも可能である。
【0062】
また、以上説明した実施形態では、本発明の実施形態に係る障害時の無停止通信復旧システムをクラスタ環境のファイルサーバに適用した例を説明したが、これに限られるものではない。クラスタ環境の一のクラスタノードをサービス系、他のクラスタノードを待機系とし、スイッチを通して前記サービス系クラスタノードとクライアントとの間で通信を運用するシステムであれば、本発明の実施形態に係る無停止通信復旧システムを適用することにより、前記サービス系クラスタノードで障害が発生した際に通信を再開させて、障害時の無停止通信の復旧を行うことができるものである。
【産業上の利用可能性】
【0063】
本発明によれば、例えばクラスタ環境のファイルサーバに利用して、障害時の無停止通信の復旧を実現することに貢献できるものである。
【符号の説明】
【0064】
1 スイッチ
2 サービス系ファイルサーバ
3 待機系ファイルサーバ
30 コネクション復元モジュール
50 パケット解析モジュール

【特許請求の範囲】
【請求項1】
クラスタ環境の一のクラスタノードをサービス系、他のクラスタノードを待機系とし、スイッチを通して前記サービス系クラスタノードとクライアントとの間で通信を運用する際に、前記サービス系クラスタノードで障害が発生した際に通信を再開させる障害時の無停止通信復旧システムであって、
前記スイッチは、
通信ポートを通して前記クライアントと前記サービス系クライアントノードとの間で通信されるパケットを複製し、その複製したパケットを前記待機系クラスタノードに送信するパケット複製手段を有し、
前記待機系クラスタノードは、
前記複製されたパケットからコネクションに関するパケットを抽出し、前記抽出したパケットに基づいてコネクション情報を解析するパケット解析モジュールと、
前記サービス系クラスタノードの動作監視状況に対応して、前記コネクションに関するパケットと前記コネクション情報とに基づいて、通信状態を復元するコネクション復元モジュールとを有することを特徴とする障害時の無停止通信復旧システム。
【請求項2】
前記コネクション復元モジュールは、前記コネクションに関するパケットのヘッダ情報とデータとから過去最近に通信していたコネクション情報を復元し、その復元したコネクション情報に基づいて前記通信状態を復元するものである請求項1に記載の障害時の無停止通信復旧システム。
【請求項3】
前記コネクション復元モジュールは、前記コネクション情報が復元不可能なときに、前記コネクションに関するパケットから前記スイッチの通信ポートを割り出し、前記スイッチにリセットを送信することにより通信状態の復元を促すものである請求項1に記載の障害時の無停止通信復旧システム。
【請求項4】
前記コネクション復元モジュールは、前記複製されたパケットから抽出したコネクションに関するパケットと、前記抽出したパケットに基づいて解析したコネクション情報とを解析して、コネクション情報が揃っている場合に通信状態を復元し、コネクション情報が揃っていない場合に通信状態を切断する指令を前記スイッチに送信するものである請求項1に記載の障害時の無停止通信復旧システム。
【請求項5】
前記パケット解析モジュールは、前記コネクションに関するパケットをコネクション毎にFIFO方式で記憶しているものである請求項1に記載の障害時の無停止通信復旧システム。
【請求項6】
クラスタ環境の一のクラスタノードをサービス系、他のクラスタノードを待機系として通信を運用する際に、前記サービス系クラスタノードで障害が発生した際に通信を再開させる無停止通信復旧システムに用いるスイッチであって、
前記スイッチは、前記サービス系クラスタノードとクライアントとの間で通信ポートを通してパケットを通信するものであり、
前記通信ポートを通して前記クライアントと前記サービス系クライアントノードとの間で通信されるパケットを複製し、その複製したパケットを前記待機系クラスタノードに送信するパケット複製手段を有することを特徴とする無停止通信復旧システムのスイッチ。
【請求項7】
クラスタ環境の一のクラスタノードをサービス系、他のクラスタノードを待機系として通信を運用する際に、前記サービス系クラスタノードで障害が発生した際に通信を再開させる無停止通信復旧システムに用いる待機系クラスタノードであって、
前記複製されたパケットからコネクションに関するパケットを抽出し、前記抽出したパケットに基づいてコネクション情報を解析するパケット解析モジュールと、
前記サービス系クラスタノードの動作監視状況に対応して、前記コネクションに関するパケットと前記コネクション情報とに基づいて、通信状態を復元するコネクション復元モジュールとを有することを特徴とする障害時の無停止通信復旧システムの待機系クラスタノード。
【請求項8】
前記コネクション復元モジュールは、前記コネクションに関するパケットのヘッダ情報とデータとから過去最近に通信していたコネクション情報を復元し、その復元したコネクション情報に基づいて前記通信状態を復元するものである請求項7に記載の無停止通信復旧システム待機系クラスタノード。
【請求項9】
前記コネクション復元モジュールは、前記コネクション情報が復元不可能なときに、前記コネクションに関するパケットから前記スイッチの通信ポートを割り出し、前記スイッチにリセットを送信することにより通信状態の復元を促すものである請求項7に記載の無停止通信復旧システム待機系クラスタノード。
【請求項10】
前記コネクション復元モジュールは、前記複製されたパケットから抽出したコネクションに関するパケットと、前記抽出したパケットに基づいて解析したコネクション情報とを解析して、コネクション情報が揃っている場合に通信状態を復元し、コネクション情報が揃っていない場合に通信状態を切断する指令を前記スイッチに送信するものである請求項7に記載の無停止通信復旧システム待機系クラスタノード。
【請求項11】
前記パケット解析モジュールは、前記コネクションに関するパケットをコネクション毎にFIFO方式で記憶しているものである請求項7に記載の無停止通信復旧システム待機系クラスタノード。
【請求項12】
クラスタ環境の一のクラスタノードをサービス系、他のクラスタノードを待機系とし、スイッチを通して前記サービス系クラスタノードとクライアントとの間で通信を運用する際に、前記サービス系クラスタノードで障害が発生した際に通信を再開させる障害時の無停止通信復旧方法であって、
前記通信ポートを通して前記クライアントと前記サービス系クライアントノードとの間で通信されるパケットを複製し、その複製したパケットを前記待機系クラスタノードに送信し、
前記待機系クラスタノード側において、前記複製されたパケットからコネクションに関するパケットを抽出し、前記抽出したパケットに基づいてコネクション情報を解析し、
前記サービス系クラスタノードの動作監視状況に対応して、前記コネクションに関するパケットと前記コネクション情報とに基づいて、通信状態を復元することを特徴とする障害時の無停止通信復旧方法。
【請求項13】
前記待機系クラスタノード側において、前記コネクションに関するパケットのヘッダ情報とデータとから過去最近に通信していたコネクション情報を復元し、その復元したコネクション情報に基づいて前記通信状態を復元する請求項12に記載の障害時の無停止通信復旧方法。
【請求項14】
前記待機系クラスタノード側において、前記コネクション情報が復元不可能なときに、前記コネクションに関するパケットから前記スイッチの通信ポートを割り出し、前記スイッチにリセットを送信することにより通信状態の復元を促す請求項12に記載の障害時の無停止通信復旧方法。
【請求項15】
前記待機系クラスタノード側において、前記複製されたパケットから抽出したコネクションに関するパケットと、前記抽出したパケットに基づいて解析したコネクション情報とを解析して、コネクション情報が揃っている場合に通信状態を復元し、コネクション情報が揃っていない場合に通信状態を切断する指令を前記スイッチに送信する請求項12に記載の障害時の無停止通信復旧方法。
【請求項16】
前記待機系クラスタノード側において、前記コネクションに関するパケットをコネクション毎にFIFO方式で記憶してバッファリングする請求項12に記載の障害時の無停止通信復旧方法。
【請求項17】
クラスタ環境の一のクラスタノードをサービス系、他のクラスタノードを待機系として通信を運用する際に、前記サービス系クラスタノードで障害が発生した際に通信を再開させる無停止通信復旧の動作を制御するための制御プログラムであって、
前記待機系クラスタノードを構成するコンピュータに、
前記複製されたパケットからコネクションに関するパケットを抽出し、前記抽出したパケットに基づいてコネクション情報を解析する機能と、
前記サービス系クラスタノードの動作監視状況に対応して、前記コネクションに関するパケットと前記コネクション情報とに基づいて、通信状態を復元する機能とを実行させることを特徴とする無停止通信復旧制御プログラム。
【請求項18】
前記コンピュータに、
前記コネクションに関するパケットのヘッダ情報とデータとから過去最近に通信していたコネクション情報を復元し、その復元したコネクション情報に基づいて前記通信状態を復元する機能を実行させる請求項17に記載の無停止通信復旧制御プログラム。
【請求項19】
前記コンピュータに、
前記コネクション情報が復元不可能なときに、前記コネクションに関するパケットから前記スイッチの通信ポートを割り出し、前記スイッチにリセットを送信することにより通信状態の復元を促す機能を実行させる請求項17に記載の無停止通信復旧制御プログラム。
【請求項20】
前記コンピュータに、
前記複製されたパケットから抽出したコネクションに関するパケットと、前記抽出したパケットに基づいて解析したコネクション情報とを解析して、コネクション情報が揃っている場合に通信状態を復元し、コネクション情報が揃っていない場合に通信状態を切断する指令を前記スイッチに出力する機能を実行させる請求項17に記載の無停止通信復旧制御プログラム。

【図1】
image rotate

【図2】
image rotate


【公開番号】特開2010−245757(P2010−245757A)
【公開日】平成22年10月28日(2010.10.28)
【国際特許分類】
【出願番号】特願2009−91132(P2009−91132)
【出願日】平成21年4月3日(2009.4.3)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】