(57)【要約】      （修正有）【課題】同一のソフトウエアが複数のサーバにあって、ソフトウエアの設定ファイルに差異が検出された場合に障害原因の把握および復旧を短時間で行う。【解決手段】第一のサーバが有するファイルと第二のサーバが有するファイルとを比較するサーバ差分管理システムであって、ファイルのパス情報を含むファイル名とファイルの属するグループ名とを紐付けて記憶する構成情報記憶部と、第一のサーバが有するファイルのファイル名を記憶するファイル名記憶部と、ファイル名記憶部に記憶されている第一のサーバのファイル名で示されるファイルを第一のサーバ及び第二のサーバから取得するファイル取得部と、取得したファイルの内容を比較するファイル比較部と、ファイルの内容が異なる場合は、第一のサーバのファイルのファイル名と紐付けられたグループ名を構成情報記憶部から取得し、ファイル名と取得されたグループ名とを出力する差異情報出力部とを備える。【選択図】図１
2005266916.tif 000002
【特許請求の範囲】
【請求項１】
１つ又は複数のソフトウェアプロダクトがインストールされている第一のサーバ及び第二のサーバと通信可能に接続されているＣＰＵと、メモリとを有し、
前記ＣＰＵが前記メモリに格納されているプログラムを実行することにより実現される、
前記ソフトウェアプロダクトのインストールにより生成されるファイルのパス情報を含むファイル名と前記ファイルがどの前記ソフトウェアプロダクトのインストールにより生成されるかを示す情報であるプロダクト名とを対応付けて記憶する構成情報記憶部と、
前記第一のサーバが有する前記ファイルの前記ファイル名を記憶するファイル名記憶部と、
前記ファイル名記憶部に記憶されている前記第一のサーバの前記ファイル名を参照し、前記ファイル名で示される前記ファイルを前記第一のサーバ及び前記第二のサーバから取得するファイル取得部と、
前記第一のサーバ及び前記第二のサーバから取得された前記第一のサーバの前記ファイルの内容と前記第二のサーバの前記ファイルの内容とを比較するファイル比較部と、
前記ファイル比較部により当該二つのファイルの内容が異なると判定された場合は、当該ファイルの前記ファイル名と対応付けられた前記プロダクト名を前記構成情報記憶部から取得し、前記ファイル名と取得された前記プロダクト名とを出力する差異情報出力部と
を備えることを特徴とするサーバ差分管理システム。
【請求項２】
請求項１に記載のサーバ差分管理システムであって、
前記ファイル比較部により前記第一のサーバ及び前記第二のサーバの前記ファイルの内容が異なると判定された場合は、前記第二のサーバの前記ファイルを前記ファイル名で前記第一のサーバに記憶するファイル同期部を備えること
を特徴とするサーバ差分管理システム。
【請求項３】
請求項１に記載のサーバ差分管理システムであって、
前記第一のサーバが有する全部又は一部の前記ファイルの前記ファイル名を取得する要求を前記第一のサーバに送信するファイル名取得要求送信部を有し、
前記ファイル名記憶部は、前記ファイル名取得要求送信部が送信した前記ファイル名の取得要求に応じて前記第一のサーバから受信する前記第一のサーバの前記ファイル名を記憶すること
を特徴とするサーバ差分管理システム。
【請求項４】
請求項１に記載のサーバ差分管理システムであって、
前記第一のサーバが有する前記ファイルが前記第一のサーバにインストールされた際の前記ファイルを記憶するマスタファイル記憶部を有し、
前記ファイル取得部は、前記マスタファイル記憶部に記憶されている前記ファイルを前記第二のサーバの前記ファイルとして取得すること
を特徴とするサーバ差分管理システム。
【請求項５】
請求項１に記載のサーバ差分管理システムであって、
ファイル構成が同じ複数のサーバで構成されるサーバ群が存在し、
前記サーバの識別子と前記サーバ群の識別子とを対応付けて記憶するサーバ群記憶部と、
前記サーバ群記憶部を参照し、前記第一のサーバと同じ前記サーバ群に属する前記サーバのＣＰＵ負荷を確認し、前記ＣＰＵ負荷が最も低い前記サーバを選択する比較対象特定部とを有し、
前記第二のサーバは前記サーバ群管理部により選択された前記サーバであること
を特徴とするサーバ差分管理システム。
【請求項６】
請求項１に記載のサーバ差分管理システムであって、
前記第一のサーバの前記ファイルが有するデータ項目ごとのデータ比較方法を示す情報を前記ファイル名と対応付けて記憶する設定比較方法記憶部を有し、
前記ファイル比較部は、前記第一のサーバの前記ファイルの内容と前記第二のサーバの前記ファイルの内容とを比較する際に、当該ファイルの前記ファイル名が前記設定比較方法記憶部に記憶されているか確認し、前記設定比較方法記憶部に記憶されている場合は前記データ項目ごとに前記データ比較方法に従って前記第一のサーバの前記ファイルの内容と前記第二のサーバの前記ファイルの内容とを比較すること
を特徴とするサーバ差分管理システム。
【請求項７】
１つ又は複数のソフトウェアプロダクトがインストールされている第一のサーバ及び第二のサーバと通信可能に接続され、ＣＰＵとメモリとを有する情報処理装置の制御方法であって、
前記情報処理装置が、
前記ソフトウェアプロダクトのインストールにより生成されるファイルのパス情報を含むファイル名と前記ファイルがどの前記ソフトウェアプロダクトのインストールにより生成されたかを示す情報であるプロダクト名とを対応付けて構成情報として記憶し、
前記第一のサーバが有する前記ファイルの前記ファイル名をファイル名情報として記憶し、
前記ファイル名情報に記憶されている前記第一のサーバの前記ファイル名を参照し、前記ファイル名で示される前記ファイルを前記第一のサーバ及び前記第二のサーバから取得し、
前記第一のサーバ及び前記第二のサーバから取得された前記第一のサーバの前記ファイルの内容と前記第二のサーバの前記ファイルの内容とを比較し、
当該二つのファイルの内容が異なると判定された場合は、当該ファイルの前記ファイル名と対応付けられた前記プロダクト名を前記構成情報から取得し、前記ファイル名と取得された前記プロダクト名とを出力すること
を特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ差分管理システム及び情報処理装置の制御方法に関する。
【背景技術】
【０００２】
近年、情報処理システムにおいては、処理性能や耐障害性を向上させるため、同一のソフトウェアプロダクトがインストールされた複数のサーバを備え、これら複数のサーバで処理を分散して実行する場合がある。例えば、インターネットを利用した商品注文システムにおいては、ＷＷＷ（World Wide Web）のサーバソフトウェアがインストールされているサーバ（Ｗｅｂサーバ）を複数台有している場合がある。このような商品注文システムでは、インターネットを介して受信する注文データを複数台のＷｅｂサーバが分散して処理することが行われている。
【０００３】
ソフトウェアプロダクトがインストールされると、サーバ上にソフトウェアプロダクトの実行ファイルや設定ファイル等の各種ファイルが生成される。例えば、ＷＷＷのサーバソフトウェアの設定ファイルとは、ＨＴＴＰ（Hyper Text Transfer Protocol）による通信を行うための設定情報等が記憶されているファイル等である。管理者のオペレーションミス等によりこれらのファイルの内容が変更されると、サーバが管理者の意図した通りに動作しないという障害が発生する場合がある。
【０００４】
このよう障害が発生した場合、障害原因の調査の一つとして、障害の生じているサーバのファイルをそのサーバと同じソフトウェアプロダクトがインストールされている別のサーバのファイルと比較することが行われている。
【０００５】
また、特許文献１には、機能を分散した複数のサーバで構成される情報処理システムに障害が発生した場合に、サーバ間のファイル転送も含めて処理を再実行するためのジョブ再実行装置が開示されている。
【特許文献１】特開２００１−１７５４９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、ファイルの差異が検出された場合、このファイルが何に影響するものであるか、また差異の内容は何であるか等の確認はファイルごとに人手により行われている。そのため、差異のあるファイルが大量に発生した場合等は、サーバの障害原因の把握および障害の復旧に相当の時間を要している。
【０００７】
本発明は上記課題を鑑みてなされたものであり、サーバ差分管理システム及び情報処理装置の制御方法を提供することを主たる目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明のうち主たる発明では、１つ又は複数のソフトウェアプロダクトがインストールされている第一のサーバ及び第二のサーバと通信可能に接続されているＣＰＵと、メモリとを有し、前記ＣＰＵが前記メモリに格納されているプログラムを実行することにより実現される、前記ソフトウェアプロダクトのインストールにより生成されるファイルのパス情報を含むファイル名と前記ファイルがどの前記ソフトウェアプロダクトのインストールにより生成されるかを示す情報であるプロダクト名とを対応付けて記憶する構成情報記憶部と、前記第一のサーバが有する前記ファイルの前記ファイル名を記憶するファイル名記憶部と、前記ファイル名記憶部に記憶されている前記第一のサーバの前記ファイル名を参照し、前記ファイル名で示される前記ファイルを前記第一のサーバ及び前記第二のサーバから取得するファイル取得部と、前記第一のサーバ及び前記第二のサーバから取得された前記第一のサーバの前記ファイルの内容と前記第二のサーバの前記ファイルの内容とを比較するファイル比較部と、前記ファイル比較部により当該二つのファイルの内容が異なると判定された場合は、当該ファイルの前記ファイル名と対応付けられた前記プロダクト名を前記構成情報記憶部から取得し、前記ファイル名と取得された前記プロダクト名とを出力する差異情報出力部とを備えることとする。
【発明の効果】
【０００９】
サーバ差分管理システム及び情報処理装置の制御方法を提供することができる。
【発明を実施するための最良の形態】
【００１０】
＝＝システム全体構成＝＝
図１は、本実施の形態に係るサーバ差分管理システムを含む情報処理システムの全体構成図である。サーバ差分管理システム１０は、サーバ管理プログラムとして設計され、このサーバ管理プログラムが、図２に示す情報処理装置２０にインストールされることによって実現される。
【００１１】
図２は本実施の形態に係る情報処理装置２０のハードウェア構成を示す図である。情報処理装置２０は、ＣＰＵ２１、メモリ２２、記憶装置２３、通信インタフェース２４、記録媒体読取装置２５、入力装置２６、出力装置２７を備える。なお、サーバ差分管理システム１０は、例えば、クラスタ構成の複数台の情報処理装置が協調動作することにより実現されることとしてもよい。
【００１２】
ＣＰＵ２１は情報処理装置２０の全体の制御を司るもので、メモリ２２や記憶装置２３に格納されたプログラムを実行することによりサーバ差分管理システム１０を実現する。
【００１３】
記録媒体読取装置２５は、記録媒体２８に記録されているプログラムやデータを読み取るための装置である。読み取られたプログラムやデータはメモリ２２や記憶装置２３に格納される。記録媒体２８としてはフレキシブルディスクやＣＤ−ＲＯＭ、半導体メモリ等を用いることができる。記録媒体読取装置２５は情報処理装置２０に内蔵されている形態とすることもできるし、外付されている形態とすることもできる。記憶装置２３は、例えばハードディスク装置や半導体記憶装置等である。
【００１４】
入力装置２６は管理者等による情報処理装置２０へのデータ入力等のために用いられる。入力装置２６としては例えばキーボードやマウス等が用いられる。
【００１５】
出力装置２７は情報を外部に出力するための装置である。出力装置２７としては例えばディスプレイやプリンタ等が用いられる。
【００１６】
通信インタフェース２４は通信ネットワーク２９を介して被管理サーバＡ（第一のサーバ）３０及び被管理サーバＢ（第二のサーバ３１）とデータの送受信を行うためのインタフェースである。
【００１７】
通信ネットワーク２９とは、例えばＬＡＮ（Local Area Network）である。通信ネットワーク２９は、ＬＡＮ以外にも、ＳＣＳＩ（Small Computer System Interface）規格の通信インタフェース等、様々なものを利用することができる。被管理サーバＡ３０及び被管理サーバＢ３０は、例えば、図３に示すブレードサーバ５０におけるサーバモジュール５２である。ブレードサーバ５０は、一つの筐体５１に複数のサーバモジュール５２を搭載して構成される。各サーバモジュール５２は、ＣＰＵ、メモリ、ハードディスクドライブ等を備える情報処理装置である。なお、各サーバモジュール５２は、ハードディスクドライブを備えず、通信可能に接続される外部の記憶装置にデータを格納することとしてもよい。また、各サーバモジュール５２には、オペレーティングシステム、ミドルウェア、アプリケーションソフトウェア等のソフトウェアプロダクトがインストールされている。
【００１８】
ブレードサーバ５２においては、複数のサーバモジュール５２で同一の処理を実行する場合がある。例えば、データベース処理を行うサーバモジュール５２の集まり、バッチ処理を行うサーバモジュール５２の集まりなどである。このような、サーバモジュール５２の集まりのことをサーバ群５３と言う。同一のサーバ群５３の中のサーバモジュール５２には、同じソフトウェアプロダクトがインストールされている。つまり、同一のサーバ群５３の中のサーバモジュール５２は、互いに同じファイル構成となっている。各サーバモジュール５２の動作は、ソフトウェアプロダクトのインストールにより生成されるファイルの内容により決定される。例えば、ＷＷＷのサーバソフトウェアがインストールされたサーバモジュール５２には、ＨＴＴＰによる通信を行うための設定ファイルが存在する。管理者はこの設定ファイルの内容を編集することにより、サーバモジュール５２の動作を設定することができる。そして、同一のサーバ群５３に属するサーバモジュール５２においては、これらの設定ファイルの内容も同じものとなっている。管理者のオペレーションミスやソフトウェアの障害等により、あるサーバモジュール５２の設定ファイルの内容が意図せずに変更されてしまうことがある。このような場合、そのサーバモジュール５２が管理者の意図した通りに動作しないという障害が発生することがある。このような障害を検知した場合、そのサーバモジュール５２と同一のサーバ群５３に属する別のサーバモジュール５２を選択し、お互いのファイルの差異を確認することで障害原因を調査することができる。本実施の形態において、被管理サーバＡ３０及び被管理サーバＢ３１は、同一のサーバ群５３に属するサーバモジュール５２である。
【００１９】
被管理サーバＡ３０は、ボリュームＡ３２にファイルを記憶している。被管理サーバ３１は、ボリュームＢ３３にファイルを記憶している。ボリュームＡ３２及びボリュームＢ３３は、サーバモジュール５２が備えるハードディスクドライブ等の記憶装置である。また、被管理サーバＡ３０及び被管理サーバＢ３１では、管理エージェント３４が実行されている。管理エージェント３４は、被管理サーバＡ３０及び被管理サーバＢ３１がサーバ差分管理システム１０と通信を行うためのプログラムである。
【００２０】
サーバ管理システム１０は、比較対象特定部１１、サーバ群監視部１２、サーバ群管理部１３、ファイル名取得要求送信部１４、ファイル比較部１５、差異情報出力部１６、ファイル同期部１７、設定比較部１８、及び設定同期部の機能ブロックを備えている。これらの機能ブロックは、サーバ管理システム１０を構成する情報処理装置のＣＰＵが情報処理装置のメモリに記憶されているプログラムを実行することにより実現される。
【００２１】
また、サーバ管理システム１０は、サーバ群テーブル（サーバ群記憶部）４０、Ａリスト（ファイル名記憶部）４１、Ｂリスト４２、共通リスト４３、差分リスト４４、マスタイメージ（マスタファイル記憶部）４５、構成ファイルテーブル４６、照合リスト４７、無所属リスト４８、及び設定パラメタテーブル（設定比較方法記憶部）４９を備えている。
【００２２】
図４は、本実施の形態に係るサーバ群テーブル４０を示す図である。サーバ群テーブル４０は、「サーバＩＤ」及び「サーバ群ＩＤ」の欄を有している。サーバＩＤの欄には、ブレードサーバ５２に格納されているサーバモジュール５２を特定するためのＩＤが記憶される。サーバ群ＩＤの欄には、サーバモジュール５２が属するサーバ群５３を特定するためのＩＤが記憶される。
【００２３】
図５は、本実施の形態に係るＡリスト４１を示す図である。Ａリスト４１には、被管理サーバＡ３０が有するファイルのパス名を含むファイル名が記憶される。Ｂリスト４１には、同様の形式で被管理サーバＢ３１が有するファイルのパス名を含むファイル名が記憶される。また、共通リスト４３には、Ａリスト４１及びＢリスト４２の両方に存在するファイル名が記憶される。差分リスト４４には、共通リスト４３に記憶されているファイル名で示されるファイルのうち、被管理サーバＡ３０と被管理サーバＢ３１とで内容が異なるファイルのファイル名が記憶される。また、無所属リスト４８もファイル名が記憶される。各リスト４１〜４４及び４８に記憶される内容の詳細は後述する。
【００２４】
マスタイメージ４５には、サーバモジュール５２にインストールされたソフトウェアプロダクトのファイルが記憶されている。そして、サーバモジュール５２にソフトウェアプロダクトがインストールされる際に、このマスタイメージ４５が用いられる。まず、インストールされるファイルがマスタイメージ４５に記憶される。次に、マスタイメージ４５に記憶されたファイルが各サーバモジュール５２に配布される。なお、マスタイメージ４５は、ブレードサーバ５２のサーバ群５３ごとに設けられていることとする。
【００２５】
図６は、本実施の形態に係る構成ファイルテーブル４６を示す図である。構成ファイルテーブル４６は、「プロダクト名」、「ファイル名」、「ファイル属性」、「設定比較方法」、及び「設定同期方法」の欄を有している。プロダクト名の欄には、サーバモジュール５２にインストールされるソフトウェアモジュールを示す情報が記憶される。例えば、図６に示すように「ＯＳ」や「ＡＰＰ１」などである。図６に示すように、ファイル名はプロダクト名と対応付けられている。また、ファイル属性、設定比較方法、及び設定同期方法がファイル名と対応付けられて記憶されている。ファイル属性とは、例えば、ファイルが実行ファイルであるか、設定ファイルであるか、データファイルであるか等を区別するためのものである。設定比較方法の欄には、設定ファイルを比較する際にデータを１バイトずつ単純に比較するのではなく、特定の規則に従って比較を行いたい場合、その比較方法を示す情報が設定される。また、２つのサーバモジュール５２間でファイルに差異がある場合、一方のファイルを他方にコピーすることにより、２つのサーバモジュール５２のファイルが同じ状態となる。このようにファイルをコピーして２つのサーバモジュール５２のファイルを同じ状態とすることをファイルの同期という。設定ファイルの場合、単純なコピーではなく、特定の規則に従ってファイルを同期したい場合がある。このような場合、設定同期方法の欄に、ファイルの同期方法を示す情報が設定される。設定比較方法及び設定同期方法の詳細は、後述する設定パラメタテーブル４９に記憶されている。
【００２６】
図７は、本実施の形態に係る照合リスト４７を示す図である。照合リスト４７は、Ａリスト４１、Ｂリスト４２、共通リスト４３、及び差分リスト４４を入力とし、ファイル名に対応するプロダクト名及びファイル属性を構成ファイルテーブル４６から取得して生成されるものである。つまり、差分リスト４４が入力である場合、照合リスト４７には被管理サーバＡ３０と被管理サーバＢ３１とで内容が異なるファイルのファイル名、プロダクト名、及びファイル属性が記憶される。
【００２７】
図８は、本実施の形態に係る設定パラメタテーブル４９を示す図である。図８（ａ）は設定比較方法が記憶される設定パラメタテーブル４９を示す図である。構成ファイルテーブル４６においてファイル名と対応付けて記憶されている設定比較方法に対して、そのファイルが有するデータ項目及びデータ項目ごとの比較方法が記憶されている。例えば、図８（ａ）の例では、「ＣＯＭＰ−Ａ」の設定比較方法においては、データ項目「ＡＢＣ」は文字列として比較し、データ項目「ＧＨＩ」は１６進数の数値として比較することが記憶されている。設定ファイルの場合、同じデータ項目に対する記述方法が複数通りある場合がある。例えば、１０進数でも１６進数でも記述することが可能な数値項目等である。そこで、データ項目ごとに比較方法を定めておくことにより、データ項目の値が同じであるかどうかを比較することが可能となる。
【００２８】
図８（ｂ）は設定同期方法が記憶される設定パラメタテーブル４９を示す図である。構成ファイルテーブル４６においてファイル名と対応付けて記憶されている設定同期方法に対して、そのファイルが有するデータ項目及びデータ項目ごとの同期方法が記憶されている。例えば、図８（ｂ）の例では、「ＣＯＰＹ−Ａ」の設定同期方法においては、「ＡＢＣ」、「ＤＥＦ」、及び「ＧＨＩ」の各データ項目をデータ項目ごとにコピーすることが記憶されている。つまり、設定同期方法として「ＣＯＰＹ−Ａ」が設定されているファイルを、一方のサーバモジュール５２から他方のサーバモジュール５２にコピーする場合、単純にファイルをコピーするのではなく、データ項目ごとに値がコピーされることとなる。
【００２９】
設定ファイルによっては、サーバモジュール５２のＩＰアドレス等、サーバモジュール５２ごとに固有の情報が記憶されている場合もある。このような設定ファイルを１バイトずつ単純に比較すると、必ず内容の差異が検知されてしまう。このような場合、まず、設定比較方法により比較されるデータ項目が定義される。そして、設定同期方法によりファイルの同期方法が定義されることとなる。なお、本実施の形態においては構成ファイルテーブル４６に設定比較方法および設定同期方法を示す情報を記憶していることとしたが、設定パラメタテーブル４９にファイル名を対応付けて記憶することとしてもよい。
【００３０】
＝＝システムの動作＝＝
次に、サーバ差分管理システム１０の動作について、フローチャートを用いて説明する。  
図９は、本実施の形態に係るサーバ差分管理システム１０の全体の処理の流れを示すフローチャートである。サーバ監視部１２は、ブレードサーバ５０の各サーバモジュール５２に異常が発生していないか監視している。サーバ監視部１２はサーバモジュール５２の異常を検知すると、比較対象特定部１１に異常を検知したサーバモジュール５２を通知する（Ｓ９０１）。もしくは、管理者がサーバモジュール５２に異常を検知し、入力装置２６を介して比較対象特定部１１に通知する場合もある（Ｓ９０２）。ここで、異常が発生しているサーバモジュール５２を被管理サーバＡ３０とする。比較対象特定部１１は、異常が発生している被管理サーバＡ３０が所属するサーバ群５３をサーバ群管理部１３に問い合わせる（Ｓ９０３）。サーバ群管理部１３は、サーバ群テーブル４０を参照し、被管理サーバＡ３０が属するサーバ群５３を示す情報を取得する。
【００３１】
比較対象特定部１１は、被管理サーバＡ３０をマスタイメージ４５と比較するかどうか確認する。なお、マスタイメージ４５と比較するかどうかは予め定められていても良いし、サーバモジュール５２に異常が発生した際に管理者により入力されるとしても良い。
【００３２】
マスタイメージ４５と比較しない場合、比較対象特定部１１はサーバ群テーブル４０を参照し、被管理サーバＡ３０と同一のサーバ群５３に属するサーバモジュール５２を比較対象のサーバモジュール５２として選択する（Ｓ９０５）。この際に、比較対象特定部１１は同一のサーバ群５３の中でＣＰＵ負荷が一番低いサーバモジュール５２を選択する。また、マスタイメージ４５と比較する場合、比較対象特定部１１はマスタイメージ４５に記憶されているファイルを比較対象のサーバモジュール５２が有するハードディスクドライブに記憶されているファイルと見なして後続の処理を実行する（Ｓ９０６）。ここで、比較対象のサーバモジュール５２を被管理サーバＢ３１とする。
【００３３】
比較対象特定部１１はファイル比較部１５に被管理サーバＡ３０と被管理サーバＢ３１とを比較するよう通知する（Ｓ９０７）。  
そして、被管理サーバＡ３０と被管理サーバＢ３１とに共に存在するファイルを選択する共通ファイル選択処理（Ｓ９０８）が行われる。次に、被管理サーバＡ３０と被管理サーバＢ３１とに共に存在するファイルの内容を比較するファイル比較処理（Ｓ９０９）、被管理サーバＡ３０と被管理サーバＢ３１とで内容に差異があるファイルのプロダクト名を取得するファイル照合処理（Ｓ９１０）が行われる。
【００３４】
差異情報出力部１６は、ファイル照合処理（Ｓ９１０）により生成された照合リスト４７の内容を出力装置２７に出力する（Ｓ９１１）。出力の方法は、プロダクト名、ファイル名、及び差異の内容をまとめて表示することとしても良いし、プロダクト名、ファイル名、及び差異の内容を段階的に表示することとしても良い。また、設定パラメタテーブル４９において、データ項目ごとにそのデータ項目が異なることによるサーバモジュール５２に与える影響を示す情報が登録され、差異情報出力部１６が、差異のあるデータ項目についてこの情報を出力することとしても良い。サーバモジュール５２に与える影響を示す情報とは、例えば、データ項目「ＡＢＣ」について、被管理サーバＡ３０の当該データ項目の値が被管理サーバＢ３１の当該データ項目の値より小さい場合は、被管理サーバＢ３１と比較して被管理サーバＡ３０のバッチ処理能力が劣る等の情報である。
【００３５】
最後に、ファイル同期部１７が、被管理サーバＡ３０と被管理サーバＢ３１とで差異のあるファイルを同期するファイル同期処理（Ｓ９１２）を実行する。なお、ファイル同期処理（Ｓ９１２）は、管理者が入力装置２６から指示を入力することにより実行されることとしても良いし、管理者からの指示を受けずに実行されることとしても良い。
【００３６】
図１０は、前述した共通ファイル選択処理（Ｓ９０８）を示すフローチャートである。ファイル名取得要求送信部１４は、被管理サーバＡ３０に被管理サーバＡ３０の全てのファイルのファイル名を送信する要求を送信する。そして、ファイル名取得要求送信部１４は、被管理サーバＡ３０から受信するファイル名をＡリスト４１に記憶する（Ｓ１００１）。同様に、ファイル名取得要求送信部１４は、被管理サーバＢ３１に被管理サーバＢ３１の全てのファイルのファイル名を送信する要求を送信する。そして、ファイル名取得要求送信部１４は、被管理サーバＢ３１から受信するファイル名をＢリスト４２に記憶する（Ｓ１００２）。なお、ファイル名取得要求送信部１４は、被管理サーバＡ３０及び被管理サーバＢ３１が有する全てのファイルではなく、一部のファイルのファイル名を送信する要求を被管理サーバＡ３０及び被管理サーバＢ３１に送信することとしてもよい。例えば、ファイル名取得要求送信部１４は、構成ファイルテーブル４６に記憶されているファイルについてのみ、ファイル名を送信するように被管理サーバＡ３０及び被管理サーバＢ３１に送信することとしてもよい。
【００３７】
ファイル比較部１５は、Ａリスト４１に記憶されているファイル名を参照し（Ｓ１００３）、同じファイル名がＢリスト４２に記憶されているかどうか確認する（Ｓ１００４）。同じファイル名がＢリスト４２に記憶されている場合、ファイル比較部１５は当該ファイル名を共通リスト４３に記憶し（Ｓ１００５）、当該ファイル名をＡリスト４１及びＢリスト４２から削除する（Ｓ１００６）。同じファイル名がＢリスト４２に記憶されていない場合、またはファイル名がＡリスト４１及びＢリスト４２から削除された（Ｓ１００６）後、ファイル比較部１５は、Ａリスト４１の中にまだ参照されていないファイル名があるかどうか確認する（Ｓ１００７）。参照されていないファイル名がある場合、ファイル比較部１５は、前述の処理（Ｓ１００３〜Ｓ１００６）を繰り返し実行する。Ａリスト４１に記憶されている全てのファイル名に対する共通ファイル選択処理が終了すると、共通リスト４３には被管理サーバＡ３０及び被管理サーバＢ３１に共通して存在するファイルのファイル名が記憶されている。また、Ａリスト４１には、被管理サーバＡ３０に存在し、被管理サーバＢ３１に存在しないファイルのファイル名が記憶されている。また、Ｂリスト４２には、被管理サーバＢ３１に存在し、被管理サーバＡ３０に存在しないファイルのファイル名が記憶されている。
【００３８】
図１１は、前述したファイル比較処理（Ｓ９０９）を示すフローチャートである。ファイル比較部１５は、共通リスト４３に記憶されているファイル名を参照する（Ｓ１１０１）。そして、ファイル比較部１５は、当該ファイル名で示されるファイルを被管理サーバＡ３０及び被管理サーバＢ３１から読み出し、これら２つのファイルの内容を比較する（Ｓ１１０２）。なお、ファイル比較部１５は、当該ファイルに対して構成ファイルテーブル４６及び設定パラメタテーブル４９にて設定比較方法が設定されている場合は、設定比較部１８に当該設定方法に従ってファイルの内容を比較するよう指示する。そして、設定比較部１８は、この設定比較方法に従って２つのファイルの内容を比較する。また、設定比較方法が設定されていない場合は、ファイル比較部１５は、２つのファイルの内容を１バイトずつ比較する。なお、ファイルの内容の比較は１バイトずつではなく、数バイトずつまとめて行われることとしてもよい。
【００３９】
ファイルの内容に差異がある場合、ファイル比較部１５は、当該ファイルのファイル名を差分リスト４４に記憶する（Ｓ１１０３）。  
ファイル比較部１５は、共通リスト４３の中にまだ参照されていないファイル名があるかどうか確認する（Ｓ１１０５）。参照されていないファイル名がある場合、ファイル比較部１５は、前述の処理（Ｓ１１０１〜Ｓ１１０４）を繰り返し実行する。
【００４０】
本実施の形態においては、共通リスト４３に記憶されているファイル名で示されるファイルを被管理サーバＡ３０及び被管理サーバＢ３１から読み出し、ファイルの内容を比較することとしたが、共通リスト４３を用いずにファイルの内容を比較することとしてもよい。例えば、Ａリスト４１に記憶されているファイル名を参照し、当該ファイル名で示されるファイルを被管理サーバＡ３０及び被管理サーバＢ３１から読み出し、読み出されたファイルの内容を比較することとしてもよい。また、Ａリスト４１を用いずに、構成ファイルテーブル４６に記憶されているファイル名で示されるファイルを被管理サーバＡ３０及び被管理サーバＢ３１から読み出し、読み出されたファイルの内容を比較することとしてもよい。
【００４１】
図１２は、前述したファイル照合処理（Ｓ９１０）を示すフローチャートである。ファイル照合処理は、ファイル名に対応するプロダクト名を構成ファイルテーブル４６から取得する処理である。差異情報出力部１６は、差分リスト４４に記憶されているファイル名を参照し（Ｓ１２０１）、当該ファイル名が構成ファイルテーブル４６に記憶されているか確認する（Ｓ１２０２）。当該ファイル名が構成ファイルテーブル４６に記憶されている場合、差異情報出力部１６は、当該ファイル名を構成ファイルテーブル４６に記憶されているプロダクト名と対応付けて照合リスト４７に記憶する（Ｓ１２０３）。当該ファイル名が構成ファイルテーブル４６に記憶されていない場合、差異情報出力部１６は、当該ファイル名を無所属リスト４８に記憶する（Ｓ１２０４）。差異情報出力部１６は、差分リスト４４の中にまだ参照されていないファイル名があるかどうか確認する（Ｓ１２０５）。参照されていないファイル名がある場合、差異情報出力部１６は、前述の処理（Ｓ１２０１〜Ｓ１２０４）を繰り返し実行する。
【００４２】
前述したファイル照合処理（Ｓ９１０）は、差分リスト４４を入力とし、差分リスト４４に記憶されているファイル名に対応するプロダクト名を取得して照合リスト４７に記憶する処理である。なお、共通ファイル選択処理（Ｓ９０８）が実行された後のＡリスト４１を入力としてファイル照合処理を実行すれば、被管理サーバＡ３０のみに存在するファイルのプロダクト名を確認することができる。同様に、入力として共通ファイル選択処理（Ｓ９０８）が実行された後のＢリスト４２を用いて、被管理サーバＢ３１のみに存在するファイルのプロダクト名を確認することもできる。
【００４３】
図１３は、前述したファイル同期処理（Ｓ９１２）を示すフローチャートである。ファイル同期部１７は、障害が発生している被管理サーバＡ３０に対してファイルを同期する相手となるサーバモジュール５２である同期元サーバを指定する（Ｓ１３０１）。ファイル同期部１７は、ここまでの処理において用いられた被管理サーバＢ３１を同期元サーバとして指定することもできるし、マスタイメージ４５を同期元サーバのハードディスクドライブと見なすこともできる。また、ファイル同期部１７は、ファイル同期処理を開始する際に、あらためて同期先サーバである被管理サーバＡ３０と同じサーバ群５３に属するサーバモジュール５２からあらためて同期元サーバとなるサーバモジュール５２を選択することとしてもよい。ファイル同期処理を実行する際に、最も負荷が低いサーバモジュール５２を同期元サーバとして選択することにより、ファイル同期処理の処理効率を上げることができる。
【００４４】
ファイル同期部１７は、差分リスト４４に記憶されているファイル名で示されるファイルを同期元サーバから同期先サーバにコピーする（Ｓ１３０３）。なお、ファイル同期部１７は、当該ファイルに対して構成ファイルテーブル４６及び設定パラメタテーブル４９にて設定同期方法が設定されている場合は、設定同期部１９に当該設定同期方法に従ってファイルの同期を行うよう指示する。そして、設定同期部１９は、この設定同期方法に従ってファイルの同期を行う。ファイルの同期の後、ファイル同期部１７は、Ｂリスト４２に記憶されているファイル名で示されるファイルを同期元サーバから同期先サーバにコピーする（Ｓ１３０３）。これにより、同期元サーバのみに存在するファイルが同期先サーバにコピーされる。そして、ファイル同期部１７は、Ａリスト４１に記憶されているファイル名で示されるファイルを同期先サーバから削除する（Ｓ１３０４）。これにより、同期先サーバのみに存在するファイルが同期先サーバから削除される。なお、同期先サーバのみに存在するファイルを同期先サーバから削除する前に、削除する内容を出力装置２７に出力することとしてもよい。そして、出力装置２７に出力された削除予定のファイルについて、入力装置２６から削除の取消入力を行うことができることとしてもよい。
【００４５】
以上、サーバ差分管理システム１０の動作について説明した。ファイル構成が同じ２つのサーバが存在する場合において、一方のサーバに何らかの障害が発生した場合等に、これら２つのサーバのファイルの差異を検知することができる。また、差異のあるファイルがどのソフトウェアプロダクトに属しているかを知ることができる。つまり、障害の原因がどのソフトウェアプロダクトによるものであるかを知ることができ、障害に対する処置を適切に判断することが可能となる。例えば、差異が発生しているファイルが属するソフトウェアプロダクトがデータベース管理ソフトウェアである場合、管理者は当該データベース管理ソフトウェアが出力するエラー情報等を調査することにより、障害原因を突き止めることが可能となる。
【００４６】
また、内容に差異があるファイルを障害が発生していないサーバからコピーすることにより、障害が発生しているサーバを復旧することが可能となる。
【００４７】
また、比較するファイルのファイル名をＡリスト４１等に予め記憶しておくのではなく、障害が発生した際にサーバからファイル名を取得することにより、サーバのファイル構成が変更される場合を考慮する必要がない。つまり、比較対象ファイルを予め記憶しておく場合は、サーバのファイル構成が変更される都度、比較対象ファイルのメンテナンスを行う必要が生じる。そこで、ファイルの比較をする際に、サーバが有するファイルのファイル名を取得することにより、比較対象ファイルのメンテナンスを行う必要がなくなる。
【００４８】
また、ファイルの比較を２つのサーバで行うのではなく、マスタイメージ４５を用いることもできる。障害が発生したサーバとファイル構成が同じサーバが無い場合に、マスタファイルイメージ４５に記憶されているファイルと比較することにより、インストール時のファイルとの差異を検出することができる。また、障害が発生したサーバとファイル構成が同じ別のサーバが存在する場合であっても、マスタイメージ４５に記憶されているファイルと比較することにより、別のサーバにおけるデータの入出力負荷を抑えることができる。そのため、別のサーバで稼働している情報処理システムの処理性能に影響を与えることがない。
【００４９】
また、ブレードサーバのように、構成ファイルが同じ複数のサーバによりサーバ群が構成されている場合において、障害が発生したサーバと同一のサーバ群で最もＣＰＵ負荷が低いサーバを比較対象のサーバとして選択することができる。つまり、障害が発生したサーバが属するサーバ群において、他の情報処理システムに対する影響を小さくし、かつ、ファイルの比較処理を効率的に行うことができるサーバを比較対象のサーバとして選択することができる。
【００５０】
また、ファイルの内容を単純なデータとしてバイト単位に比較するのではなく、データ項目ごとに比較方法を変更することが適切な場合もある。例えば、設定ファイルのデータ項目には、その値が文字列のものもあれば、数値のものもある。また、数値の場合は１０進数であっても１６進数であっても良い場合もある。このような場合、２つのファイルのデータ項目の値を単純にデータとして１バイトずつ比較すると差異が発生してしまう。そこで、データ項目ごとに文字列として比較するのか１０進数に変換して比較するのか等の比較方法を定めておき、この比較方法に従ってデータ項目の値を比較することで、そのデータ項目の値が一致しているかどうかを確認することができる。
【００５１】
以上、本実施の形態について説明したが、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【００５２】
例えば、本実施の形態においては、被管理サーバＡ３０と被管理サーバＢ３１とはブレードサーバ５０に格納されている同一のサーバ群５３に属するサーバモジュール５２に限られず、同じソフトウェアプロダクトがインストールされている情報処理装置であればよい。
【００５３】
また、例えば、サーバ管理システム１０が被管理サーバＡ３０または被管理サーバＢ３１上で稼働しているものとしてもよい。つまり、管理用の特別な情報処理装置を設けるのではなく、障害が発生したサーバもしくは比較対象となるサーバの管理エージェント３４が、前述した処理を実行することとしてもよい。
【図面の簡単な説明】
【００５４】
【図１】本実施の形態に係るサーバ差分管理システムを含む情報処理装置の全体構成を示す図である。
【図２】本実施の形態に係る情報処理装置のハードウェア構成を示す図である。
【図３】本実施の形態に係るブレードサーバを示す図である。
【図４】本実施の形態に係るサーバ群テーブルを示す図である。
【図５】本実施の形態に係るＡリスト、Ｂリスト、共通リスト、差分リスト、無所属リストを示す図である。
【図６】本実施の形態に係る構成ファイルテーブルを示す図である。
【図７】本実施の形態に係る照合リストを示す図である。
【図８】本実施の形態に係る設定パラメタテーブルを示す図である。
【図９】本実施の形態に係るサーバ差分管理システムの全体の処理の流れを示すフローチャートである。
【図１０】本実施の形態に係る共通ファイル選択処理の動作を示すフローチャートである。
【図１１】本実施の形態に係るファイル比較処理の動作を示すフローチャートである。
【図１２】本実施の形態に係るファイル照合処理の動作を示すフローチャートである。
【図１３】本実施の形態に係るファイル同期処理の動作を示すフローチャートである。
【符号の説明】
【００５５】
１０  サーバ差分管理システム            １１  比較対象特定部
１２  サーバ監視部                      １３  サーバ群管理部
１４  ファイル名取得要求送信部          １５  ファイル比較部
１６  差異情報出力部                    １７  ファイル同期部
１８  設定比較部                        １９  設定同期部
２０  情報処理装置                      ２１  ＣＰＵ
２２  メモリ                            ２３  記憶装置
２４  通信インタフェース                ２５  記録媒体読取装置
２６  入力装置                          ２７  出力装置
２８  記録媒体                          ２９  通信ネットワーク
３０  被管理サーバＡ                    ３１  被管理サーバＢ（第二のサーバ）
３２  ボリュームＡ                      ３３  ボリュームＢ
３４  管理エージェント
４０  サーバ群テーブル（サーバ群記憶部）
４１  Ａリスト（ファイル名記憶部）      ４２  Ｂリスト
４３  共通リスト                        ４４  差分リスト
４５  マスタイメージ                    
４６  構成ファイルテーブル（構成情報記憶部）
４７  照合リスト                        ４８  無所属リスト
４９  設定パラメタテーブル              ５０  ブレードサーバ
５１  筐体                              ５２  サーバモジュール
５３  サーバ群
【図１】
2005266916.tif 000003
【図２】
2005266916.tif 000004
【図３】
2005266916.tif 000005
【図４】
2005266916.tif 000006
【図５】
2005266916.tif 000007
【図６】
2005266916.tif 000008
【図７】
2005266916.tif 000009
【図８】
2005266916.tif 000010
【図９】
2005266916.tif 000011
【図１０】
2005266916.tif 000012
【図１１】
2005266916.tif 000013
【図１２】
2005266916.tif 000014
【図１３】
2005266916.tif 000015