(57)【特許請求の範囲】
【請求項１】
２重化サーバシステムであって、
運用系サーバと、待機系サーバと、前記運用系サーバおよび前記待機系サーバと接続可能な共用記憶装置と、を有し、
前記運用系サーバは、
前記共用記憶装置に記憶されたファイルの操作を伴う処理が発生した場合に、前記処理のＣＰＵ利用率に基づいて当該運用系サーバで処理を行うか、または前記待機系サーバで処理を行うかを決定し、前記待機系サーバで処理を行うと決定した場合、前記処理を行うためのファイル操作指示を前記待機系サーバに送信する処理振分手段と、
前記処理振分手段が前記待機系サーバで前記処理を行うと決定した場合、前記共用記憶装置内の前記処理で使用する記憶領域をアンマウントするとともに、前記待機系サーバにマウント指示を送信する第１のマウント管理手段と、を有し、
前記待機系サーバは、
前記運用系サーバからマウント指示を受信し、前記共用記憶装置内の前記処理で使用する記憶領域をマウントする第２のマウント管理手段と、
前記運用系サーバからファイル操作指示を受信し、当該ファイル操作指示で指定された前記処理を行うファイル操作手段と、を有し、
前記運用系サーバの前記処理振分手段は、前記処理のＣＰＵ利用率と、当該運用系サーバのＣＰＵ利用率とを加算した加算値が、所定の閾値以下の場合は当該運用系サーバで処理を行うと決定し、前記加算値が所定の閾値を超える場合は前記待機系サーバで処理を行うと決定すること
を特徴とする２重化サーバシステム。
【請求項２】
運用系サーバおよび待機系サーバが行うファイル操作方法であって、
前記運用系サーバは、
当該運用系サーバおよび前記待機系サーバと接続可能な共用記憶装置に記憶されたファイルの操作を伴う処理が発生した場合に、前記処理のＣＰＵ利用率に基づいて当該運用系サーバで処理を行うか、または前記待機系サーバで処理を行うかを決定し、前記待機系サーバで処理を行うと決定した場合、前記処理を行うためのファイル操作指示を前記待機系サーバに送信する処理振分ステップと、
前記処理振分ステップで前記待機系サーバで前記処理を行うと決定した場合、前記共用記憶装置内の前記処理で使用する記憶領域をアンマウントするとともに、前記待機系サーバにマウント指示を送信する第１のマウント管理ステップと、を行い、
前記待機系サーバは、
前記運用系サーバからマウント指示を受信し、前記共用記憶装置内の前記処理で使用する記憶領域をマウントする第２のマウント管理ステップと、
前記運用系サーバからファイル操作指示を受信し、当該ファイル操作指示で指定された前記処理を行うファイル操作ステップと、を行い、
前記運用系サーバの前記処理振分ステップは、前記処理のＣＰＵ利用率と、当該運用系サーバのＣＰＵ利用率とを加算した加算値が、所定の閾値以下の場合は当該運用系サーバで処理を行うと決定し、前記加算値が所定の閾値を超える場合は前記待機系サーバで処理を行うと決定すること
を特徴とするファイル操作方法。
【請求項３】
運用系サーバおよび待機系サーバが実行するファイル操作プログラムであって、
前記運用系サーバに、
当該運用系サーバおよび前記待機系サーバと接続可能な共用記憶装置に記憶されたファイルの操作を伴う処理が発生した場合に、前記処理のＣＰＵ利用率に基づいて当該運用系サーバで処理を行うか、または前記待機系サーバで処理を行うかを決定し、前記待機系サーバで処理を行うと決定した場合、前記処理を行うためのファイル操作指示を前記待機系サーバに送信する処理振分ステップ、
前記処理振分ステップで前記待機系サーバで前記処理を行うと決定した場合、前記共用記憶装置内の前記処理で使用する記憶領域をアンマウントするとともに、前記待機系サーバにマウント指示を送信する第１のマウント管理ステップ、を実行させ、
前記待機系サーバに、
前記運用系サーバからマウント指示を受信し、前記共用記憶装置内の前記処理で使用する記憶領域をマウントする第２のマウント管理ステップ、
前記運用系サーバからファイル操作指示を受信し、当該ファイル操作指示で指定された前記処理を行うファイル操作ステップ、を実行させ、
前記運用系サーバの前記処理振分ステップは、前記処理のＣＰＵ利用率と、当該運用系サーバのＣＰＵ利用率とを加算した加算値が、所定の閾値以下の場合は当該運用系サーバで処理を行うと決定し、前記加算値が所定の閾値を超える場合は前記待機系サーバで処理を行うと決定すること
を特徴とするファイル操作プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、運用系サーバと待機系サーバとを有する２重化サーバシステムにおいて、運用系サーバおよび待機系サーバが接続可能な共用記憶装置に記憶されたファイルの操作技術に関する。
【背景技術】
【０００２】
システムの可用性を高めるために、従来から様々な技術が研究されている。例えば、非特許文献１には、システムを２４時間３６５日休みなく稼働させるための可用性向上方式の１つとして、サーバマシンを冗長化するクラスタシステムが記載されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】「ミッションクリティカルシステムを支えるソフトウェア技術  第３回高可用性技術――２４時間３６５日休まず運転するために」、ＮＴＴ技術ジャーナル、２００６．３
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の２重化サーバシステムでは、通常運用時において、共用記憶装置は運用系サーバにマウントされ、運用系サーバ装置のみが共用記憶装置へのアクセスを行っている。共用記憶装置に記憶されたファイルに対するＣＰＵ負荷が高い処理が発生した場合、当該処理により運用系サーバのリソース（ＣＰＵ使用率など）を消費してしまい、他のアプリケーションが実行できない、または遅延してしまうなどの問題が発生する可能性がある。なお、共用記憶装置は運用系サーバにマウントされているため、待機系サーバからはアクセスすることができない。
【０００５】
本発明は、上記事情に鑑みてなされたものであり、本発明の目的は、２重化サーバシステムにおいて、待機系サーバをより有効に活用し、運用系サーバのＣＰＵ負荷を低減することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明は、２重化サーバシステムであって、運用系サーバと、待機系サーバと、前記運用系サーバおよび前記待機系サーバと接続可能な共用記憶装置と、を有し、前記運用系サーバは、前記共用記憶装置に記憶されたファイルの操作を伴う処理が発生した場合に、前記処理のＣＰＵ利用率に基づいて当該運用系サーバで処理を行うか、または前記待機系サーバで処理を行うかを決定し、前記待機系サーバで処理を行うと決定した場合、前記処理を行うためのファイル操作指示を前記待機系サーバに送信する処理振分手段と、前記処理振分手段が前記待機系サーバで前記処理を行うと決定した場合、前記共用記憶装置内の前記処理で使用する記憶領域をアンマウントするとともに、前記待機系サーバにマウント指示を送信する第１のマウント管理手段と、を有し、前記待機系サーバは、前記運用系サーバからマウント指示を受信し、前記共用記憶装置内の前記処理で使用する記憶領域をマウントする第２のマウント管理手段と、前記運用系サーバからファイル操作指示を受信し、当該ファイル操作指示で指定された前記処理を行うファイル操作手段と、を有し、前記運用系サーバの前記処理振分手段は、前記処理のＣＰＵ利用率と、当該運用系サーバのＣＰＵ利用率とを加算した加算値が、所定の閾値以下の場合は当該運用系サーバで処理を行うと決定し、前記加算値が所定の閾値を超える場合は前記待機系サーバで処理を行うと決定する。
【０００７】
本発明は、運用系サーバおよび待機系サーバが行うファイル操作方法であって、前記運用系サーバは、当該運用系サーバおよび前記待機系サーバと接続可能な共用記憶装置に記憶されたファイルの操作を伴う処理が発生した場合に、前記処理のＣＰＵ利用率に基づいて当該運用系サーバで処理を行うか、または前記待機系サーバで処理を行うかを決定し、前記待機系サーバで処理を行うと決定した場合、前記処理を行うためのファイル操作指示を前記待機系サーバに送信する処理振分ステップと、前記処理振分ステップで前記待機系サーバで前記処理を行うと決定した場合、前記共用記憶装置内の前記処理で使用する記憶領域をアンマウントするとともに、前記待機系サーバにマウント指示を送信する第１のマウント管理ステップと、を行い、前記待機系サーバは、前記運用系サーバからマウント指示を受信し、前記共用記憶装置内の前記処理で使用する記憶領域をマウントする第２のマウント管理ステップと、前記運用系サーバからファイル操作指示を受信し、当該ファイル操作指示で指定された前記処理を行うファイル操作ステップと、を行い、前記運用系サーバの前記処理振分ステップは、前記処理のＣＰＵ利用率と、当該運用系サーバのＣＰＵ利用率とを加算した加算値が、所定の閾値以下の場合は当該運用系サーバで処理を行うと決定し、前記加算値が所定の閾値を超える場合は前記待機系サーバで処理を行うと決定する。
【０００８】
本発明は、運用系サーバおよび待機系サーバが実行するファイル操作プログラムであって、前記運用系サーバに、当該運用系サーバおよび前記待機系サーバと接続可能な共用記憶装置に記憶されたファイルの操作を伴う処理が発生した場合に、前記処理のＣＰＵ利用率に基づいて当該運用系サーバで処理を行うか、または前記待機系サーバで処理を行うかを決定し、前記待機系サーバで処理を行うと決定した場合、前記処理を行うためのファイル操作指示を前記待機系サーバに送信する処理振分ステップ、前記処理振分ステップで前記待機系サーバで前記処理を行うと決定した場合、前記共用記憶装置内の前記処理で使用する記憶領域をアンマウントするとともに、前記待機系サーバにマウント指示を送信する第１のマウント管理ステップ、を実行させ、前記待機系サーバに、前記運用系サーバからマウント指示を受信し、前記共用記憶装置内の前記処理で使用する記憶領域をマウントする第２のマウント管理ステップ、前記運用系サーバからファイル操作指示を受信し、当該ファイル操作指示で指定された前記処理を行うファイル操作ステップ、を実行させ、前記運用系サーバの前記処理振分ステップは、前記処理のＣＰＵ利用率と、当該運用系サーバのＣＰＵ利用率とを加算した加算値が、所定の閾値以下の場合は当該運用系サーバで処理を行うと決定し、前記加算値が所定の閾値を超える場合は前記待機系サーバで処理を行うと決定する。
【発明の効果】
【０００９】
本発明によれば、２重化サーバシステムにおいて、待機系サーバをより有効に活用し、運用系サーバのＣＰＵ負荷を低減することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係る２重化サーバシステムの全体構成図である。
【図２】運用系サーバおよび待機系サーバの動作を説明するための説明図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について、図面を参照して説明する。
【００１２】
図１は、本発明の実施形態に係る２重化サーバシステムの全体構成図である。図示する２重化サーバシステムは、運用系サーバ１０Ｘと、待機系サーバ１０Ｙと、２次記憶装置（共用記憶装置）２０とを有する。運用系サーバ１０Ｘと、待機系サーバ１０Ｙとは、ＬＡＮなどのネットワークにより接続されている。
【００１３】
なお、本実施形態の運用系サーバ１０Ｘおよび待機系サーバ１０Ｙは、例えば呼処理等行う呼処理サーバであるとして以下に説明するが、本発明は、これに限定されるものではない。
【００１４】
運用系サーバ１０Ｘは、呼処理部１４Ｘと、処理振分部１１Ｘと、マウント管理部１２Ｘと、ファイル操作部１３Ｘと、を有する。呼処理部１４Ｘは、図示しないシステム（端末、他の呼処理サーバなど）からの要求により呼処理を行うとともに、当該呼処理において共用記憶装置２０へのアクセスを伴う処理（共用記憶装置２０に記憶されたファイルの操作処理）が発生した場合、ファイル操作指示を処理振分部１１Ｘに送出する。
【００１５】
処理振分部１１Ｘは、呼処理部１４Ｘから、ファイル操作指示を受け付けると、当該ファイル操作処理のＣＰＵ利用率に基づいて、運用系サーバ１０Ｘで処理を行うか、または待機系サーバ１０Ｙで処理を行うかを決定するとともに、待機系サーバ１０Ｙで処理を行うと決定した場合、ファイル操作指示を待機系サーバ１０Ｙに送信する。
【００１６】
マウント管理部１２Ｘは、処理振分部１０Ｘが待機系サーバ１０Ｙで処理を行うと決定した場合、共用記憶装置２０内の当該処理で使用する記憶領域をアンマウントするとともに、待機系サーバ１０Ｙにマウント指示を送信する。
【００１７】
ファイル操作部１３Ｘは、処理振分部１０Ｘが運用系サーバ１０Ｘで処理を行うと決定した場合、２次記憶装置２０にアクセスし、所定のファイル操作を行う。
【００１８】
待機系サーバ１０Ｙは、呼処理部１４Ｙと、処理振分部１１Ｙと、マウント管理部１２Ｙと、ファイル操作部１３Ｙと、を有する。
【００１９】
処理振分部１１Ｙは、通常運用時において、運用系サーバ１０Ｘの処理振分部１１Ｘからファイル操作指示を受信すると、当該ファイル操作指示をファイル操作部１３Ｙに送出する。マウント管理部１２Ｙは、通常運用時において、運用系サーバ１０Ｘのマウント管理部１２Ｘからマウント指示を受信すると、２次記憶装置２０内のファイル操作指示の処理で使用する記憶領域をマウントする。ファイル操作部１３Ｙは、処理振分部１１Ｙを介して、運用系サーバ１０Ｘからファイル操作指示を受信し、２次記憶装置２０にアクセスして当該ファイル操作指示で指定されたファイル操作を行う。
【００２０】
なお、呼処理部１４Ｙは、運用系サーバ１０Ｘに障害が発生し、当該待機系サーバ１０Ｙを現用系サーバとして使用する障害運用時において、前述した呼処理部１４Ｘと同様の処理を行う。
【００２１】
２次記憶装置２０は、運用系サーバ１０Ｘおよび待機系サーバ１０Ｙと接続可能な共用記憶装置である。本実施形態の２次記憶装置２０は、論理的に分割可能な複数の記憶領域（エリア）２１Ｘ、２１Ｙを有する。また、各記憶領域２１Ｘ、２１Ｙには、少なくとも１つのファイルが記憶されている。
【００２２】
運用系サーバ１０Ｘのファイル操作部１３Ｘは、各記憶領域毎にマウント指示を送信して、各記憶領域毎にマウント（接続）することができるとともに、各記憶領域毎にアンマウント指示を送信して、各記憶領域毎にアンマウント（切り離す）することができる。
【００２３】
また、待機系サーバ１０Ｙのファイル操作部１３Ｘも、各記憶領域毎にマウント指示を送信して、各記憶領域毎にマウント（接続）することができるとともに、各記憶領域毎にアンマウント指示を送信して、各記憶領域毎にアンマウント（切り離す）することができる。
【００２４】
上記説明した運用系サーバ１０Ｘおよび待機系サーバ１０Ｙは、例えば、ＣＰＵと、メモリと、ＨＤＤ等の外部記憶装置と、入力装置と、出力装置とを備えた汎用的なコンピュータシステムを用いることができる。このコンピュータシステムにおいて、ＣＰＵがメモリ上にロードされた所定のプログラムを実行することにより、各装置の各機能が実現される。例えば、運用系サーバ１０Ｘおよび待機系サーバ１０Ｙの各機能は、運用系サーバ１０Ｘ用のプログラムの場合は運用系サーバ１０ＸのＣＰＵが、そして、待機系サーバ１０Ｙ用のプログラムの場合は待機系サーバ１０ＹのＣＰＵがそれぞれ実行することにより実現される。
【００２５】
また、運用系サーバ１０Ｘ用のプログラムおよび待機系サーバ１０Ｙ用のプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ−ＲＯＭなどのコンピュータ読取り可能な記録媒体に記憶することも、ネットワークを介して配信することもできる。
【００２６】
次に、本実施形態の動作について説明する。
【００２７】
図２は、運用系サーバ１０Ｘおよび待機系サーバ１０Ｙの動作を説明するための説明図である。
【００２８】
なお、通常運用時においては、２次記憶装置２０の全ての記憶領域（エリア）は、運用系サーバ１０Ｘにマウントされているものとする。図示する例では、２次記憶装置２０のＡ記憶領域２１ＸおよびＢ記憶領域２１Ｙは、運用系サーバ１０Ｘにマウントされている。
【００２９】
まず、運用系サーバ１０Ｘの呼処理部１４Ｘは、所定の呼処理を行い、その結果所定のファイルへのファイル操作処理が発生すると、ファイル操作指示を処理振分部１１Ｘに送出する（Ｓ１００）。なお、ファイル操作指示には、処理の内容、操作するファイルの識別情報などが含まれる。
【００３０】
処理振分部１１Ｘは、ファイル操作指示を受け付けると、当該ファイル操作指示で指示されたファイル操作処理を、運用系サーバ１０Ｘで処理を行うか、または待機系サーバ１０Ｙで処理を行うかを決定する。具体的には、処理振分部１１Ｘは、当該ファイル操作処理のＣＰＵ利用率と、現時点の運用系サーバ１０ＸのＣＰＵ利用率とを用いて、運用系サーバ１０Ｘで処理を行うか、または待機系サーバ１０Ｙで処理を行うかを決定する。
【００３１】
例えば、運用系サーバ１０Ｘは、各ファイル操作処理について、当該処理を実行した場合のＣＰＵ利用率を、メモリなどの記憶装置（不図示）にあらかじめ記憶しているものとする。処理振分部１１Ｘは、ファイル操作指示で指示されたファイル操作処理に対応するＣＰＵ利用率を記憶装置から取得するとともに、ＯＳ（Operating System）などの機能を用いて現時点の運用系サーバ１０ＸのＣＰＵ利用率を取得する。そして、処理振分部１１Ｘは、当該ファイル操作処理のＣＰＵ利用率と、現時点のＣＰＵ利用率とを加算した加算後のＣＰＵ利用率（加算値）と、所定の閾値とを比較する。加算後のＣＰＵ利用率が所定の閾値を超える場合は待機系サーバ１０Ｙで処理を行うと判別し、加算後のＣＰＵ利用率が所定の閾値以下の場合は運用系サーバ１０Ｘで処理を行うと判別する。
【００３２】
例えば、呼処理を行った際に出力するログ情報を２次記憶装置２０のログ情報ファイルに書き込む処理は、ＣＰＵ利用率が僅かである（ＣＰＵ負荷がかからない）ため、一般的には加算後のＣＰＵ利用率が所定の閾値を越えることがなく運用系サーバ１０Ｘで当該処理を行うと判別される。
【００３３】
また、データベース（ファイル）のコピー（バックアップ）などのＣＰＵ利用率が高い（ＣＰＵ負荷がかかる）処理については、現時点のＣＰＵ利用率にもよるが、加算後のＣＰＵ利用率が所定の閾値を越える可能性が高く、待機系サーバ１０Ｙで当該処理を行うと判別される場合が多い。
【００３４】
運用系サーバ１０Ｘで処理を行う判別した場合、処理振分部１１Ｘは、Ｓ１００で受け付けたファイル操作指示をファイル操作部１３Ｘに送出する（Ｓ１２１）。そして、ファイル操作部１３Ｘは、２次記憶装置２０にアクセスし、ファイル操作指示で指示されたファイルに対して、指示されたファイル操作を行う（Ｓ１２２）。この場合、２次記憶装置２０の全ての記憶領域２１Ｘ、２２Ｙは運用系サーバ１０Ｘにマウントされているため、マウント管理部１２Ｘがマウント指示を送信することなく、ファイル操作部１３Ｘはファイル操作を行う。
【００３５】
一方、待機系サーバ１０Ｙで処理を行う判別した場合、処理振分部１１Ｘは、Ｓ１００で受け付けたファイル操作指示を待機系サーバ１０Ｙの処理振分部１１Ｙに送信するとともに（Ｓ１０１）、アンマウント要求をマウント管理部１２Ｘに送出する（Ｓ１１１）。アンマウント要求には、ファイル操作指示で指定されたファイルの識別情報が含まれるものとする。
【００３６】
マウント管理部１２Ｘは、アンマウント要求を受け付けると、当該アンマウント要求で指定されたファイルが格納されている記憶領域を特定し、特定した記憶領域をアンマウントするアンマウント操作指示を２次記憶装置２０に送信して当該記憶領域をアンマウントするとともに（Ｓ１１２）、待機系サーバ１０Ｙから当該記憶領域をマウントさせるためのマウント指示を待機系サーバ１０Ｙに送信する（Ｓ１１３）。
【００３７】
待機系サーバ１０Ｙのマウント管理部１２Ｙは、運用系サーバ１０Ｘからマウント指示を受信すると、当該マウント指示で指定された記憶領域をマウントためのマウント操作指示を２次記憶装置２０に送信し、当該記憶領域をマウントする（Ｓ１１４）。
【００３８】
また、待機系サーバ１０Ｙの処理振分部１１Ｙは、運用系サーバ１０Ｘからファイル操作指示を受信すると、当該ファイル操作指示をファイル操作部１３Ｙに送出する（Ｓ１０２）。ファイル操作部１３Ｙは、処理振分部１１Ｙからファイル操作指示を受け付けて、２次記憶装置２０にアクセスし、当該ファイル操作指示で指示されたファイルに対して、指示されたファイル操作を行う（Ｓ１０３）。この場合、ファイル操作指示で指示されたファイルが記憶されている記憶領域は、Ｓ１１４でマウントされるため、ファイル操作部１３Ｙは２次記憶装置２０にアクセスすることができる。
【００３９】
なお、待機系サーバ１０Ｙのファイル操作部１３Ｙのファイル操作が終了した後、マウント管理部１２Ｙは、マウントした記憶領域をアンマウントし、アンマウントしたことを運用系サーバ１０Ｘのマウント管理部１２Ｘに通知する。運用系サーバ１０Ｘのマウント管理部１２Ｘは、アンマウントの通知を受信すると、当該記憶領域をマウントする。
【００４０】
以上説明した本実施形態では、運用系サーバ１０Ｘは、２次記憶装置２０へのアクセスを伴う処理が発生した場合、ＣＰＵ利用率を用いて、当該処理を運用系サーバ１０Ｘで行うのか、または待機系サーバ１０Ｙで行うのかを動的に振り分ける。これにより、本実施形態では、ＣＰＵ利用率が高い処理（ＣＰＵ負荷のかかる処理）を待機系サーバ１０Ｙで実行させ、運用系サーバ１０Ｘのリソースの消費（ＣＰＵ利用率）の消費を回避することができる。すなわち、ＣＰＵ負荷のかかる処理を運用系サーバ１０Ｘで行うことでリソースが消費され、呼処理などの業務処理へ影響が及ぶことを回避することができる。また、待機系サーバ１０Ｙをより有効に活用して、運用系サーバ１０ＸのＣＰＵ負荷を低減することができる。
【００４１】
なお、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
【符号の説明】
【００４２】
１０Ｘ：運用系サーバ
１１Ｘ：処理振分部
１２Ｘ：マウント管理部
１３Ｘ：ファイル操作部
１４Ｘ：呼処理部
１０Ｙ：待機系サーバ
１１Ｙ：処理振分部
１２Ｙ：マウント管理部
１３Ｙ：ファイル操作部
１４Ｙ：呼処理部
２０  ：２次記憶装置
【図１】
0005491972.tif 000002
【図２】
0005491972.tif 000003