(57)【要約】【課題】ミドルウェアのパターンに応じて自動的に適切にシステムやサーバの復旧を可能とする自動復旧システム、および自動復旧方法を提供する。【解決手段】ミドルウェアを有した装置のシステムを復旧させるための自動復旧システムであって、操作者からミドルウェアの指定を受け付ける操作受付部と、受け付けられたミドルウェアのミドルウェア名に基づいて、ミドルウェアを構成するプログラムおよび設定ファイルのパターンを定義したパターン定義ファイルを取得し、取得したパターン定義ファイルを解析してミドルウェアに合致した設定ファイルをリポジトリサーバから取得し、パターン定義ファイルに示されたプログラムをプログラム管理サーバから取得する解析部と、解析部が解析したプログラムを実行し、設定ファイルをデプロイしてシステムを復旧させる生成部と、を備える。【選択図】  図１
2013120471.tif 000002
【特許請求の範囲】
【請求項１】
ミドルウェアを有した装置のシステムを復旧させるための自動復旧システムであって、
操作者から前記ミドルウェアの指定を受け付ける操作受付部と、
受け付けられた前記ミドルウェアのミドルウェア名に基づいて、前記ミドルウェアを構成するプログラムおよび設定ファイルのパターンを定義したパターン定義ファイルを取得し、取得した前記パターン定義ファイルを解析して前記ミドルウェアに合致した設定ファイルをリポジトリサーバから取得し、前記パターン定義ファイルに示されたプログラムをプログラム管理サーバから取得する解析部と、
前記解析部が解析した前記プログラムを実行し、前記設定ファイルをデプロイして前記システムを復旧させる生成部と、
を備えることを特徴とする自動復旧システム。
【請求項２】
前記パターン定義ファイルには前記設定ファイルのバージョン情報が含まれ、
前記操作受付部は、さらに前記バージョン情報の指定を受け付け、
前記解析部は、受け付けられた前記バージョン情報に合致する設定ファイルを前記リポジトリサーバから取得する、
ことを特徴とする請求項１に記載の自動復旧システム。
【請求項３】
前記生成部は、前記解析部が解析した前記プログラムが依存している他のプログラムが存在する場合には、前記他のプログラムのプログラム名に基づいて、前記プログラム管理サーバから前記他のプログラムを取得し、前記プログラムと前記他のプログラムとを実行する、
ことを特徴とする請求項１または２に記載の自動復旧システム。
【請求項４】
前記パターン定義ファイルは、複数のミドルウェアの種類ごとに設けられ、
前記解析部は、前記複数のミドルウェアの種類ごとに設けられたパターン定義ファイルの中から、受け付けられた前記ミドルウェアのパターン定義ファイルを取得する、
ことを特徴とする請求項１〜３のいずれか１項に記載の自動復旧システム。
【請求項５】
ミドルウェアを有した装置のシステムを復旧させるための自動復旧システムで行われる自動復旧方法であって、
操作者から前記ミドルウェアの指定を受け付けるステップと、
受け付けられた前記ミドルウェアのミドルウェア名に基づいて、前記ミドルウェアを構成するプログラムおよび設定ファイルのパターンを定義したパターン定義ファイルを取得するステップと、
取得した前記パターン定義ファイルを解析して前記ミドルウェアに合致した設定ファイルをリポジトリサーバから取得し、前記パターン定義ファイルに示されたプログラムをプログラム管理サーバから取得するステップと、
解析された前記プログラムを実行し、前記設定ファイルをデプロイして前記システムを復旧させるステップと、
を含むことを特徴とする自動復旧方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ミドルウェアを有したサーバやシステムを自動的に復旧させる自動復旧システム、および自動復旧方法に関するものである。
【背景技術】
【０００２】
昨今、クラウドサービスの提供が盛んである。クラウドサービスの提供は、仮想化技術を利用した本番環境で行われる傾向にある。こうした環境下にあるサーバやシステムをバックアップするための方法として、仮想マシン全体のシステムバックアップや、サーバやシステムの構成を変更する作業を行う際のリカバリ用のスナップショットによるバックアップが存在する。例えば、特許文献１では、仮想化技術のスナップショットにより現行のバージョンを管理しており、障害時には、そのスナップショットより復元可能な仮想マシン管理システムを提案している。
【０００３】
しかしながら、この場合には事前にスナップショットによる復元を計画していることが前提であり、例えば、システムバックアップの場合には、特にサーバの停止計画が必要となる。また、データセンタ内に配置している仮想マシンの場合には、他のシステムと共存してリソースを共有している関係上、同一仮想マシンのスナップショットを多数保持しておくことが技術的に可能であっても、実運用上では頻繁にそれらのスナップショットを取得できない場合が多い。さらに、予期せぬ論理障害が発生した場合、あるいはスナップショットによるバックアップが無く、オペレーションミスによりリカバリが困難な場合には、システムバックアップからの復元では数時間要することが多い。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−８４０２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した特許文献１では、仮想化技術のスナップショットにより現行のバージョンを管理しており、障害時には、そのスナップショットより復元可能となっている。しかしながら、例えば、複数のスナップショットを取得して保持する場合、復元の際に古いスナップショットを一旦削除した上で変更内容の差分をマージするが、この際には、削除するスナップショットの順番を意識しておく必要が生じる。
【０００６】
また、復元先のサーバ等で、復元対象となるスナップショットのファイルのバージョンに対応していない場合には、その順番により差分内容が仮想マシンに反映されない場合がある。したがって、スナップショットのファイルの管理のバージョンを把握しておく必要がある。スナップショットの内容は、あくまで仮想マシンの一時点の状態を管理しているに過ぎないため、例えば、あるサーバやシステムがミドルウェアを使用している場合には、そのミドルウェアのバージョンや設定内容等のパターンは、実際に復元して比較しない限り、正しく復元されているか否か判断がつかないことが多い。特に、ミドルウェアはＯＳ（Operation  System）やアプリケーションとの間の階層に位置するものであり、それ自体でバージョンや設定内容等のパターンを確認することが難しく、上述したように、実際に復元して比較してはじめて正しく復元されたことがわかる場合が多い。
【０００７】
本発明は、上記に鑑みてなされたものであって、ミドルウェアのパターンに応じて自動的に適切にシステムやサーバの復旧を可能とする自動復旧システム、および自動復旧方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明にかかる自動復旧システムは、ミドルウェアを有した装置のシステムを復旧させるための自動復旧システムであって、操作者から前記ミドルウェアの指定を受け付ける操作受付部と、受け付けられた前記ミドルウェアのミドルウェア名に基づいて、前記ミドルウェアを構成するプログラムおよび設定ファイルのパターンを定義したパターン定義ファイルを取得し、取得した前記パターン定義ファイルを解析して前記ミドルウェアに合致した設定ファイルをリポジトリサーバから取得し、前記パターン定義ファイルに示されたプログラムをプログラム管理サーバから取得する解析部と、前記解析部が解析した前記プログラムを実行し、前記設定ファイルをデプロイして前記システムを復旧させる生成部と、を備えることを特徴とする。
【０００９】
また、本発明は、上記自動復旧システムで行われる自動復旧方法である。
【発明の効果】
【００１０】
本発明によれば、ミドルウェアのパターンに応じて自動的に適切にシステムやサーバの復旧を可能とする自動復旧システム、および自動復旧方法を提供することができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】本実施の形態における自動復旧システムの構成を示す図である。
【図２】自動ツールサーバの機能的な構成および概念を示すブロック図である。
【図３】ミドルウェアパターン定義ファイルの例を示す図である。
【図４】自動復旧システムの自動ツールサーバが有する解析部が行う解析処理の処理手順を示すフローチャートである。
【図５】自動復旧システムの自動ツールサーバが有する生成部が行う生成処理の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照して、本発明にかかる自動復旧システム、および自動復旧方法の実施の形態を詳細に説明する。
【００１３】
図１は、本実施の形態における自動復旧システム１０００の構成を示す図である。図１に示すように、自動復旧システム１０００は、自動ツールサーバ１００と、パターン管理サーバ１１０と、プログラム管理サーバ１２０と、リポジトリサーバ１３０と、を有して構成されている。これらの各装置は、ＬＡＮ（Local  Area  Network）やＷＡＮ（Wide  Area  Network）等の一般的なセットワークＮによって接続されている。また、後述する処理を行うことにより、復旧対象となったサーバ（復旧サーバ）２００と、パターン管理サーバ１１０とが、上述したネットワークＮによって接続されている。
【００１４】
以下に示すように、自動復旧システム１０００は、第一に、プログラム管理サーバ１２０に記憶されたミドルウェアの復旧に必要なプログラム、およびリポジトリサーバ１３０に記憶されたミドルウェアの設定を定めた設定ファイルから定義したパターン管理サーバ１１０に記憶されたミドルウェアパターンを利用して、サーバやシステムを自動的に復旧する点、第二に、リポジトリサーバ１３０によりライブラリ管理しているミドルウェアの設定ファイルのバージョンに併せて自動的にサーバやシステムを復旧する点の２点である。
【００１５】
自動ツールサーバ１００は、操作者からの指示を受け付けてサーバやシステムを復旧するための処理を行うものである。図２は、自動ツールサーバ１００の機能的な構成および概念を示すブロック図である。図２に示すように、自動ツールサーバ１００は、機能的には、解析部１０１と、生成部１０２と、を有している。なお、特に図示していないが、自動ツールサーバ１００は、操作者からの操作（ミドルウェアの指定やそのバージョンの指定等）を受け付けるキーボードやマウス等の操作受付部や、他の装置との間で通信するためのＮＩＣ（Network  Interface  Card）等の通信部を有しているものとする。
【００１６】
解析部１０１は、不図示の操作受付部により指定されたミドルウェアを特定するためのミドルウェア名、そのミドルウェアのバージョンを参照してパターン管理サーバ１１０にアクセスし、ミドルウェア名およびバージョンをキーとして、ミドルウェアパターン定義ファイル１１１（Ａｐａｃｈｅ用）やミドルウェアパターン定義ファイル１１２（ＭｙＳＱＬ用）を取得してその内容を解析する。そして、解析部１０１は、解析した内容から必要となるプログラムおよび設定ファイルを特定する。
【００１７】
そして、解析部１０１は、そのプログラムのプログラム名をキーとして、プログラム管理サーバ１２０にアクセスし、必要なプログラム１２１（Ａｐａｃｈｅ用）やプログラム１２２（ＭｙＳＱＬ用）を取得する。また、解析部１０１は、特定された設定ファイルのファイル名をキーとして、リポジトリサーバ１３０にアクセスし、必要な設定ファイル１３１（Ａｐａｃｈｅ用）や設定ファイル１３２（ＭｙＳＱＬ用）を取得する。なお、以下ではＡｐａｃｈｅ用のミドルウェアを前提として説明しているが、ＭｙＳＱＬ用のミドルウェアやこれ以外の種々のミドルウェアについてもこれと同様に処理することができる。
【００１８】
生成部１０２は、解析部１０１が取得したプログラム１２１および設定ファイル１３１を実行し、復旧対象となっているサーバやシステムを自動的に復旧させる。また、生成部１０２は、解析部１０１から受け取ったプログラムが依存している他のプログラム（例えば、そのプログラムの実行に必要となるサブモジュール等）である依存関係プログラム１２３が存在する場合には、その依存関係プログラム１２３のプログラム名をキーとして、再度プログラム管理サーバ１２０にアクセスし、その依存関係プログラム１２３を取得した後に実行し、復旧対象となっているサーバやシステムを自動的に復旧させる。
【００１９】
なお、自動ツールサーバ１００は、復旧対象とするサーバやシステムで用いられるミドルウェア名およびバージョンを標準構成とした指示を受けることにより、後述する各種の処理を実行する。なお、ミドルウェア名を複数指定する場合には、”，”区切りで複数指定することも可能である。また、バージョンには、リポジトリサーバ１３０が管理している設定ファイルのバージョンが指定される。
【００２０】
自動ツールサーバ１００が有する上述した各部は、解析部１０１、および生成部１０２の各機能を実現するためのソフトウェアプログラムにより実行される。これらのソフトウェアプログラムは、例えば、上述した各部を含むモジュール構成となっており、実際のハードウェアとしては、ＣＰＵ等の制御部がＨＤＤ等の記録装置からこれらのソフトウェアプログラムを読み出して実行することにより、上記各部が主記憶装置上にロードされ、解析部１０１、および生成部１０２の各部が主記憶装置上に生成されるようになっている。
【００２１】
また、上述したソフトウェアプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disc）等のコンピュータで読み取り可能な記録媒体に記録されて提供することも可能である。さらに、これらのソフトウェアプログラムを、ネットワーク経由でダウンロードさせて提供または配布するように構成してもよい。続いて、パターン管理サーバ１１０について説明する。
【００２２】
パターン管理サーバ１１０は、ミドルウェアを構成するプログラムおよび設定ファイルのパターンを定義したＸＭＬ（Extensible  Markup  Language）形式のファイルであるミドルウェアパターン定義ファイル（ミドルウェアパターン定義ファイル１１１（Ａｐａｃｈｅ用）やミドルウェアパターン定義ファイル１１２（ＭｙＳＱＬ用））を記憶するものである。例えば、ミドルウェアパターン定義ファイル１１１には、リポジトリサーバ１３０が管理しているそのミドルウェアパターン定義ファイル１１１に対応する設定ファイルのバージョンが記述されている。通常、設定ファイルは複数のバージョンによって管理されているため、同一のファイル名であっても複数の設定ファイルについて記述されている場合もある。これにより、指定された任意のバージョンの設定ファイルを用いて、ミドルウェアを搭載するシステムやサーバの自動復旧が可能となる。
【００２３】
図３は、上述したミドルウェアパターン定義ファイル１１１の例を示す図である。ミドルウェアパターン定義ファイル１１１は、復旧対象のミドルウェアごと（種類ごと）に設けられ、そのミドルウェアを定義するものであり、図３に示すように、ＯＳの指定（Windows(登録商標)またはLinux(登録商標)）、復旧すべきファイルのタイプの指定（設定ファイルおよびプログラム）、バージョンの指定を含む種々の定義が対応付けて記述されている。このような定義を記述することにより、ミドルウェアの自動復旧する際に必要となるプログラムおよび設定ファイルを把握できるようになっている。図３に示す例では、ＯＳの指定として「Linux」、復旧すべきファイルのタイプの指定として「config」および「program」、バージョンの指定として「５０００」あるいは「６０００」が記述されていることを示している。続いて、図１に戻り、プログラム管理サーバ１２０について説明する。
【００２４】
プログラム管理サーバ１２０は、ミドルウェアのプログラム本体およびそれに付随するプログラムを管理するものである。本実施の形態においては、プログラム管理サーバ１２０には、Windows対象およびLinux対象のミドルウェアを保持しているが、特にこれに限定されることはない。また、ある１つのミドルウェアのプログラムであっても、プログラム管理サーバ１２０は、そのミドルウェアが実行される環境のＯＳに対応した複数のミドルウェアを記憶するので、そのＯＳに応じたサーバやシステムの自動復旧が可能となる。
【００２５】
リポジトリサーバ１３０は、上述した設定ファイルを管理するものである。リポジトリサーバ１３０は、例えば、ミドルウェアのバージョンを管理するための管理ソフトウェアのＳＶＮ（Subversion）を利用し、各ミドルウェアに対応する設定ファイルを管理する。リポジトリサーバ１３０は、デフォルトの状態から随時変更した設定ファイルをＳＶＮ上に管理することにより、異なるバージョンの設定ファイルを保持することが可能となる。リポジトリサーバ１３０が管理する設定ファイルは、仮想化技術のシステムバックアップやスナップショットに比べ、ファイルサイズも小さく管理しやすいという利点がある。さらに、データセンタ内のリソースを追加利用することがないため、より小さな容量のリソースで管理することができるという利点がある。
【００２６】
続いて、自動復旧システム１０００で行われる処理について説明する。図４は、自動復旧システム１０００の自動ツールサーバ１００が有する解析部１０１が行う解析処理の処理手順を示すフローチャートである。
【００２７】
図４に示すように、まず、解析部１０１は、不図示の操作受付部により利用者から指定されたミドルウェア名のミドルウェア、バージョンをロードして取得する（ステップＳ４０１）。その後、解析部１０１は、パターン管理サーバ１１０にアクセスし、指定されたミドルウェア名のミドルウェアパターン定義ファイルをロードする（ステップＳ４０２）。
【００２８】
そして、解析部１０１は、ステップＳ４０１においてバージョンの指定があるか否かを判定し（ステップＳ４０３）、バージョンの指定があると判定した場合（ステップＳ４０３；Ｙｅｓ）、指定されたそのバージョンに合致した設定ファイルを取得する（ステップＳ４０４）。一方、解析部１０１は、バージョンの指定がない（省略されている）と判定した場合（ステップＳ４０３；Ｎｏ）、最新バージョンの設定ファイルを取得する（ステップＳ４０５）。
【００２９】
ステップＳ４０４またはＳ４０５のいずれかの処理が終了すると、解析部１０１は、ロードしたミドルウェアパターン定義ファイルに記載されたプログラムを取得し（ステップＳ４０６）、そのプログラムと設定ファイルとを生成部１０２に引き渡す（ステップＳ４０７）。このステップＳ４０７の処理が終了すると、図４に示した解析処理の全ての処理が終了する。続いて、自動復旧システム１０００の自動ツールサーバ１００が有する生成部１０２が行う生成処理について説明する。
【００３０】
図５は、自動復旧システム１０００の自動ツールサーバ１００が有する生成部１０２が行う生成処理の処理手順を示すフローチャートである。
【００３１】
図５に示すように、生成部１０２は、解析部１０１が取得したプログラムを解析し、依存関係プログラムがあるか否かを判定し（ステップＳ５０１）、依存関係プログラムがないと判定した場合（ステップＳ５０１；Ｎｏ）、ステップＳ５０３に進み、解析部１０１から受け取ったプログラムを実行し（ステップＳ５０３）、ステップＳ５０５に進む。
【００３２】
一方、生成部１０２は、依存関係プログラムがないと判定した場合（ステップＳ５０１；Ｎｏ）、その依存関係プログラム１２３のプログラム名をキーとして、再度プログラム管理サーバ１２０にアクセスしてその依存関係プログラム１２３を取得し（ステップＳ５０２）、その後、解析部１０１から受け取ったプログラムと取得した依存関係プログラム１２３とを実行する（ステップＳ５０４）。
【００３３】
そして、生成部１０２は、解析部１０１から受け取った設定ファイルをデプロイし（ステップＳ５０５）、ミドルウェアのサービスをリロードし（ステップＳ５０６）、復旧対象となっているサーバやシステムを自動的に復旧させる。
【００３４】
このように、本実施の形態においては、ミドルウェアの自動復旧に必要な、プログラム本体、ミドルウェアの設定ファイルのパターンを管理したミドルウェアパターン定義ファイルを用いてサーバやシステムの自動復旧を可能とし、さらに、ミドルウェアパターン定義ファイルをロードする為、自動ツールサーバで復旧対象のミドルウェアのみ（あるいは必要に応じてそのバージョン）を指定することにより、独立性が確保できる構造としている。
【００３５】
また、ミドルウェアパターン定義ファイルに設定ファイルのバージョンを保持することにより、任意のバージョンの設定ファイルで復旧することを可能としている。これにより、仮想化技術のシステムバックアップ機能やスナップショット機能のようにデータセンタ内のリソースを使用せず、設定ファイルをライブラリ管理しておくことだけで済むようになっている。
【００３６】
すなわち、本発明では、論理障害等により、ミドルウェアの再構築が必要な際に、ミドルウェアパターンにより、自動復旧(自動インストール)することが可能になる。また、ミドルウェアパターン定義ファイルで設定したバージョンにより、設定ファイルリポジトリに管理している任意のバージョンの設定ファイルを用いてピンポイントの状態の復旧が可能になる。設定ファイルの管理のみ行えばよいのでメンテナンスを極小化できる。なお、本発明は障害時を想定した発明ではあるが、新規サーバ構築する際にも利用ができるなど汎用性が高いといえる。
【００３７】
なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。例えば、上述した各種のサーバを１台のサーバとして構成したり、これらを適宜組み合わせても良い。
【符号の説明】
【００３８】
１０００        自動復旧システム
１００          自動ツールサーバ
１０１          解析部
１０２          生成部
１１０          パターン管理サーバ
１１１、１１２  ミドルウェアパターン定義ファイル
１２０          プログラム管理サーバ
１２１、１２２  プログラム
１２３          依存関係プログラム
１３０          リポジトリサーバ
１３１、１３２  設定ファイル
Ｎ              ネットワーク。
【図１】
2013120471.tif 000003
【図２】
2013120471.tif 000004
【図３】
2013120471.tif 000005
【図４】
2013120471.tif 000006
【図５】
2013120471.tif 000007