説明

監視装置、監視システムおよび監視方法

【課題】異常を早期に回復させることを課題とする。
【解決手段】スイッチは、自装置またはストレージ装置で異常を検出した場合に、検出した異常の内容を含む異常情報を監視サーバに送信する。監視サーバは、スイッチまたはストレージ装置の異常情報を受信し、受信した異常情報に基づいて異常が生じたスイッチまたはストレージ装置を特定する。さらに、監視サーバは、異常が生じたスイッチまたはストレージ装置の動作情報と装置情報、および、異常が生じていないスイッチまたはストレージ装置の動作情報と装置情報を取得する。その後、監視サーバは、取得した動作情報と装置情報とに基づいて、異常原因を特定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置の異常を監視する監視装置、監視システムおよび監視方法に関する。
【背景技術】
【0002】
近年、情報処理システムで扱う情報が増加し、データを保管するストレージシステムの大容量化が進んでいる。データセンターでは、データを利用して様々な処理を実行するサーバやデータを保管するストレージシステムなどが設置され、ストレージシステムとサーバと接続する装置としては、高速なファイバーチャネルスイッチが広く利用されている。
【0003】
ファイバーチャネルスイッチは、データセンターに設置されるサーバ等の台数が増加すると使用台数が多くなる。また、複数台のファイバーチャネルスイッチを接続するカスケード接続も用いられている。
【0004】
このような多数の装置が接続される接続環境において、ファイバーチャネルスイッチにおいて装置不具合や障害が発生した場合、サーバが、ファイバーチャネルスイッチのエラーを検出してCE(Customer Engineer)へ通知する。CEは、エラーが発生したファイバーチャネルスイッチのログを採取し、エラー解析を行う。そして、CEは、エラー解析の結果から交換が必要な保守部品を特定し、交換作業を実施する。このようにして、多数の装置を接続するファイバーチャネルスイッチの保守作業が実施されている。
【0005】
また、上記した保守作業以外の保守作業を実行する保守装置やリモート監視装置なども利用されている。例えば、保守装置は、障害発生を契機に、過去の障害情報と回復手順とから類似の障害と回復手順とを特定し、特定した回復手順で発生した障害を回復させる。また、リモート監視装置は、スイッチの監視情報を受信し、受信した監視情報に基づいて保守情報を特定し、特定した保守情報を管理者に電子メールで通知するとともに、ホームページなどのWeb画面に表示する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2001−34509号公報
【特許文献2】特開2002−55850号公報
【特許文献3】特開2006−107080号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、従来の技術では、上記したような多数の装置が接続されるシステムで異常が発生した場合に、異常の詳細な原因を特定するのに時間がかかり、異常を早期に回復することができないという問題があった。
【0008】
例えば、従来の技術では、監視対象の装置で異常が発生した場合に、その異常の詳細な原因を特定するために、他の装置のログを収集することになる。したがって、システムを形成する装置の台数が多い場合には、ログ収集にかかる時間が長くなる。また、収集したログも膨大になるので、解析する時間も長くなり、最終的に異常の原因を特定するまでには多くの時間がかかる。この結果、復旧までに多くの時間がかかることになる。また、復旧までに時間がかかることから、他の異常が発生する可能性が高くなり、異常による被害が拡大する恐れもある。
【0009】
開示の技術は、異常を早期に回復させることができる監視装置、監視システムおよび監視方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
本願の開示する監視装置、監視システムおよび監視方法は、一つの態様において、情報処理装置の異常情報を受信する異常受信部と、受信した異常情報に基づいて異常が生じた情報処理装置を特定する異常装置特定部とを有する。また、異常が生じた情報処理装置および他の情報処理装置の動作情報と装置情報を取得する情報取得部と、取得した動作情報と装置情報とに基づいて、異常原因を特定する異常原因特定部とを有する。
【発明の効果】
【0011】
本願の開示する監視装置、監視システムおよび監視方法の一つの態様によれば、異常を早期に回復させることができるという効果を奏する。
【図面の簡単な説明】
【0012】
【図1】図1は、実施例1に係るシステムの全体構成を示す図である。
【図2】図2は、監視サーバの構成を示すブロック図である。
【図3】図3は、解析情報DBに記憶される情報の例を示す図である。
【図4】図4は、過去事例DBに記憶される情報の例を示す図である。
【図5】図5は、異常を特定する処理を説明する図である。
【図6】図6は、スイッチの構成を示すブロック図である。
【図7】図7は、ストレージ装置の構成を示すブロック図である。
【図8】図8は、異常特定処理の流れを示すフローチャートである。
【図9】図9は、FOSの自動更新処理の流れを示すフローチャートである。
【図10】図10は、複数のデータセンターを一括で管理するシステムの例を示す図である。
【図11】図11は、エラー発生時に同様の条件で動作しているスイッチを検索する処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0013】
以下に、本願の開示する監視装置、監視システムおよび監視方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例1】
【0014】
実施例1では、開示する監視サーバを含むシステムの全体構成、システムを形成する各装置の構成、処理の流れ、実施例1による効果を説明する。なお、ここで例示するシステム構成等はあくまで例示であり、これに限定されるものではない。
【0015】
[全体構成]
図1は、実施例1に係るシステムの全体構成を示す図である。図1に示すように、このシステムは、スイッチングハブ5、監視サーバ500、サーバ600、サーバ700、スイッチ100〜スイッチ400、ストレージ装置10〜ストレージ装置80、品証部サーバ800を有する。このシステムでは、各サーバと各スイッチおよび各ストレージ装置が、業務で使用されるFC(ファイバーチャネル:Fibre Channel)を用いた業務ネットワークで接続される。また、監視サーバ500と各スイッチが、業務ネットワークとは異なる保守用のネットワークで接続される。
【0016】
監視サーバ500は、各スイッチや各ストレージ装置で発生する異常を監視する保守サーバであり、各スイッチとスイッチングハブ5を介するLAN(Local Area Network)で接続される。つまり、監視サーバ500は、スイッチ100、スイッチ200、スイッチ300、スイッチ400の各々と保守用のネットワークで接続される。
【0017】
また、監視サーバ500は、FCでスイッチ100と接続され、スイッチ100を介して各スイッチおよび各ストレージ装置に接続される。また、監視サーバ500は、インターネットなどのネットワークを介して品証部サーバ800と接続される。
【0018】
サーバ600およびサーバ700は、FCでスイッチ100と接続され、スイッチ100を介して各スイッチおよび各ストレージ装置に接続される。このサーバ600およびサーバ700は、業務サーバであり、各ストレージ装置にデータを格納したり、各ストレージ装置から所望のデータを読み出したりして各種処理を実行する。
【0019】
スイッチ100〜スイッチ400は、ストレージ装置と各サーバとの間のデータ通信を中継するFCスイッチなどのネットワーク機器である。スイッチ100は、監視サーバ500、サーバ600、サーバ700、ストレージ装置10、ストレージ装置50、スイッチ200の各々とFCで接続され、スイッチングハブ5とLANで接続される。スイッチ200は、スイッチ100、ストレージ装置20、ストレージ装置60、スイッチ300の各々とFCで接続され、スイッチングハブ5とLANで接続される。
【0020】
同様に、スイッチ300は、スイッチ200、ストレージ装置30、ストレージ装置70、スイッチ400の各々とFCで接続され、スイッチングハブ5とLANで接続される。スイッチ400は、スイッチ300、ストレージ装置40、ストレージ装置80の各々とFCで接続され、スイッチングハブ5とLANで接続される。つまり、スイッチ100〜スイッチ400は、カスケード接続されている。
【0021】
ストレージ装置10〜ストレージ装置80は、サーバ600やサーバ700が各処理に利用するデータを記憶する記憶装置である。各ストレージ装置は、上述したようにスイッチ各々と接続される。また、各ストレージ装置には、監視ソフトウェアがインストールされている。この監視ソフトウェアは、各ストレージ装置内で常時起動し、リードまたはライトエラーの検出、ネットワーク切断の検出、ハードウェア故障などストレージで発生する異常を検出する。
【0022】
品証部サーバ800は、各ストレージ装置または各スイッチで動作するソフトウェアやファームウェアなどの情報を管理するサーバであり、ソフトウェアなどを提供する各メーカのホームページなどから最新のバージョンやパッチ情報を取得して記憶する。例えば、この品証部サーバ800は、各スイッチで動作するFOS(Fabric Operating System)の最新バージョン(版数)や各ストレージ装置で動作する監視ソフトウェアの最新バージョンを記憶する。
【0023】
このような状態において、監視サーバ500は、ネットワークを介して接続される各ストレージおよび各スイッチの動作状態を監視する監視装置であって、各ストレージ装置および各スイッチの異常情報を受信する。そして、監視サーバ500は、受信した異常情報に基づいて異常が生じた装置を特定する。その後、監視サーバ500は、異常が生じた装置および異常が生じていない他の装置の動作情報と装置情報を取得する。そして、監視サーバ500は、取得した動作情報と装置情報とに基づいて、異常原因を特定する。
【0024】
このように、監視サーバ500は、各装置の構成情報と各装置のエラー情報を自動で取得する。これにより、CE(Customer Engineer)は、スイッチがカスケード接続される複雑で大規模なシステム全体であっても、どの場所でどのような障害が発生しているかを早期に掴むことが可能になり、短時間で原因究明ができる。この結果、早期に異常の詳細な原因を特定することができ、異常を早期に回復させることができる。
【0025】
[各装置の構成]
次に、図2〜図7を用いて、図1に示した監視サーバ500の構成、各スイッチの構成、各ストレージの構成を説明する。なお、スイッチングハブ5は一般的なスイッチングハブと同様の構成を有し、サーバ600およびサーバ700は、一般的なラック格納型サーバやブレードサーバなどと同様の構成を有するので、詳細な説明は省略する。また、品証部サーバ800は、各メーカのホームページなどから最新のバージョンやパッチ情報を定期的に取得する機能を有する他は、一般的なサーバと同様の構成を有するので、詳細な説明は省略する。
【0026】
(監視サーバの構成)
図2は、監視サーバの構成を示すブロック図である。図2に示すように、監視サーバ500は、CA(Channel Adapter)501と、CA502と、LANポート503と、キャッシュ504と、解析情報DB(DataBase)505と、過去事例DB506と、制御部510とを有する。なお、キャッシュ504、解析情報DB505、過去事例DB506各々は、例えば半導体メモリ素子やハードディスクなどの記憶装置である。
【0027】
CA501およびCA502は、業務ネットワークと接続する冗長化されたホスト接続用アダプターであり、監視サーバ500とスイッチ100とをFCで接続する。例えば、CA501およびCA502は、各スイッチまたは各ストレージに対して、データの書き込み要求や読み出し要求を送信したり、各要求の結果を受信したりする。
【0028】
LANポート503は、保守用のネットワークと接続されるインタフェースであり、スイッチングハブ5と接続される。例えば、LANポート503は、イーサネット(登録商標)などを用いたネットワークに接続される。このLANポート503は、スイッチ100から送信されたエラー情報などを受信したり、各スイッチまたは各ストレージを宛先とするソフトウェアの更新指示などを送信したりする。
【0029】
キャッシュ504は、制御部510が有する各制御部が処理を実行する際に使用する一時領域である。例えば、キャッシュ504は、異常受信部511が受信した異常通知(異常情報)、情報取得部512が取得した各ストレージ装置や各スイッチの情報などを記憶する。また、キャッシュ504は、異常原因特定部513が異常を解析する際の途中データや、ソフトウェア更新部514が品証部サーバ800から取得した各種ソフトウェアなどの最新バージョン等を記憶する。
【0030】
解析情報DB505は、異常原因特定部513が解析して得た解析結果を記憶する。ここで記憶される情報は、異常原因特定部513によって格納、更新、削除される。図3は、解析情報DBに記憶される情報の例を示す図である。図3に示すように、解析情報DB505は、解析結果として、「解析日、異常通知装置、異常装置、異常内容、スイッチ情報、ストレージ情報、カスケード情報」を対応付けて記憶する。なお、ここで示した情報はあくまで例示であり、これに限定されるものではなく、ユーザ設定によって変更することができる。
【0031】
ここで記憶される「解析日」は、異常が検出されて解析された時刻である。「異常通知装置」は、監視サーバ500に異常を通知したスイッチを特定する情報であり、例えばスイッチの名称、IP(Internet Protocol)アドレス、MAC(Media Access Control)アドレスなどが格納される。「異常装置」は、異常通知によって異常が発生したと検出された装置を示す情報であり、ストレージ装置またはスイッチの名称、IPアドレス、MACアドレスなどを示す。「異常内容」は、解析された具体的な異常内容などを示し、「スイッチ情報」は、異常装置が接続されるスイッチで動作するソフトウェア等のバージョンを示す情報を示す。「ストレージ情報」は、異常が検出されたストレージ装置、または、異常が検出されたスイッチと接続されるストレージ装置で動作するソフトウェア等のバージョンを示す情報を示す。「カスケード情報」は、エラーを通知したスイッチとカスケード接続されるスイッチに関する情報を示す。
【0032】
図3の例では、監視サーバ500が、2010/12/28 11:25:05に、スイッチ100からストレージ装置50で発生した異常通知を受信した。この異常通知を解析することで、「ストレージ装置50」で「リードエラー」が発生したこと、ストレージ装置50のソフトウェアバージョンがSW−1であること、スイッチ100のFOSのバージョンがFOS−Aであることが特定されたことを示している。また、スイッチ100とカスケード接続されるスイッチ200のFOSのバージョンがFOS−A2であることを示している。なお、ここでは、FOS−AよりもFOS−A2の方がバージョンが新しいとする。
【0033】
過去事例DB506は、過去に検出された異常内容と当該異常内容に対して実施された保守内容とを対応付けた過去事例を記憶する。ここで記憶される情報は、監視サーバ500の管理者によって格納、更新、削除される。図4は、過去事例DBに記憶される情報の例を示す図である。図4に示すように、過去事例DB506は、過去事例として「異常内容、異常環境、接続環境、対応内容」を対応付けて記憶する。
【0034】
ここで記憶される「異常内容」は、検出されたスイッチまたはストレージ装置の異常内容を示す。「異常環境」は、異常内容の原因と推定されたソフトウェアなどの情報であり、異常が検出されたスイッチやストレージ装置の装置情報などを示す。「接続環境」は、異常の原因と推定された接続環境を示し、例えばカスケード接続される各スイッチのFOSバージョン、スイッチやストレージ装置各々のソフトウェアバージョンなどを示す。「対応内容」は、異常内容に対して実施された保守内容が格納される。
【0035】
図4の例では、リードエラーが発生したストレージ装置のソフトウェアバージョンがSW−1であり、このストレージ装置に接続されるスイッチのFOSのバージョンがFOS−Aである。また、当該スイッチとカスケード接続されるスイッチのFOSバージョンがFOS−A2である。この状態で発生した上記リードエラーに対する異常回復処理として、FOS(FOS−A)のバージョンアップを実行したことを示している。
【0036】
制御部510は、内部メモリを有するCPU(Central Processing Unit)などの電子回路であり、異常受信部511と情報取得部512と異常原因特定部513とソフトウェア更新部514とを有する。
【0037】
異常受信部511は、各スイッチや各ストレージ装置などの異常情報をLANポート503から受信し、受信した異常情報に基づいて異常が生じた装置を特定する。具体的には、異常受信部511は、各スイッチから保守用のネットワークに送信された異常情報を受信してキャッシュ504に格納する。そして、異常受信部511は、キャッシュ504に格納した異常情報から異常が生じた装置を特定し、特定した装置の情報をキャッシュ504に格納するとともに、情報取得部512に通知する。
【0038】
例えば、異常受信部511は、各スイッチで動作する監視ソフトウェアが送信した異常通知を受信する。この場合、異常受信部511は、監視ソフトウェアが規定する「異常検出装置」などに示される「ホスト名」等を取得することで異常が生じた装置を特定することができる。
【0039】
また、異常受信部511は、SNMP(Simple Network Management Protocol)のトラップによる警告や非同期通知で異常通知を受信することもできる。この場合、異常受信部511は、SNMPメッセージに含まれるOID(Object Identifier)などによって、異常が生じた装置を特定することができる。なお、ここで示した異常情報はあくまで例示であり、これに限定されるものではなく、例えば監視サーバ500と各スイッチとの間で予め取り決められた他の通知手法等を用いることもできる。
【0040】
情報取得部512は、異常が生じた装置および異常が生じていない他の装置の動作情報と装置情報を取得する。例えば、情報取得部512は、異常受信部511から異常が検知されたことが通知されると、各スイッチに対してsupportsaveコマンドの発行指示をLANポート503から送信する。そして、情報取得部512は、各スイッチがsupportsaveコマンドによって取得したsupportsave情報をLANポート503から受信して、キャッシュ504に格納するとともに、情報を取得したことを異常原因特定部513に通知する。
【0041】
ここで、情報取得部512が取得するsupportsave情報には、各装置が動作している動作情報や装置の構成等を含む稼動環境情報、各装置で発生したエラー情報などが含まれる。一例を挙げると、supportsave情報には、ライセンス情報が表示される「licenseshow」、シリアルナンバーや型格が表示される「chassisshow」、FOSバージョン(版数)が表示される「version」が含まれる。さらに、supportsave情報には、WWN(World Wide Name)が表示される「switchshow」、有効なポートが表示される「portshow」、エラーログが表示される「errdump」が含まれる。
【0042】
異常原因特定部513は、情報取得部512が取得した動作情報と装置情報とを含むsupportsave情報に基づいて、異常原因を特定する。具体的には、異常原因特定部513は、情報取得部512が取得する「licenseshow」、「chassisshow」、「version」、「switchshow」、「portshow」からエラー発生環境を特定する。また、異常原因特定部513は、「errdump」からエラーが発生した装置を特定する。
【0043】
図5を例にして具体的に説明する。図5は、異常を特定する処理を説明する図である。ここでは、情報取得部512が、supportsave情報である「supportsave-1」をスイッチ100から受信したものとする。同様に、情報取得部512が、「supportsave-2」をスイッチ200から受信し、「supportsave-3」をスイッチ300から受信し、「supportsave-4」をスイッチ400から受信したものとする。
【0044】
この場合、異常原因特定部513は、「supportsave-1」〜「supportsave-4」各々から「licenseshow」、「chassisshow」、「version」、「switchshow」、「portshow」を抽出する。そして、異常原因特定部513は、各スイッチのライセンス情報を「licenseshow」から抽出する。また、異常原因特定部513は、シリアルナンバーや型格などの情報を「chassisshow」から抽出し、同様に、ファンやスイッチや電源などを示すオブジェクトタイプ、各オブジェクトが消費する電力、電源オンからの日数などを「chassisshow」から抽出する。
【0045】
また、異常原因特定部513は、スイッチカーネルOSのバージョン、FOSのバージョン、ファームウェアの構築日付、スイッチ内のフラッシュロムに格納されている情報、ファームウェアのバージョンなどを「version」から抽出する。
【0046】
また、異常原因特定部513は、スイッチとポートステータスの情報を「switchshow」から抽出する。例を挙げると、異常原因特定部513は、スイッチの情報として、オンラインやオフラインなどのスイッチの状態、プリンシパルやサブなどスイッチの役割、スイッチのドメイン、スイッチのWWN、スイッチのビーコン状態などを抽出する。また、異常原因特定部513は、ポートステータスの情報として、ポート(スロット)番号、メディアタイプ、各ポートの速度など抽出する。同様に、異常原因特定部513は、光信号を受信していることや同期していないことなどを示すポート状態、スイッチに向かう上方パスであるのかスイッチから離れる下方パスであるのかが管理者によって規定されたコメント情報などを抽出する。
【0047】
また、異常原因特定部513は、ポートの名前、診断実行中などを示すポートのSNMP状態、光信号を受信中であることなどを示すポートの物理的状態、ポートの状態変更履歴、接続されるデバイスのポートWWNなどの情報を「portshow」から抽出する。また、異常原因特定部513は、エラーが発生したスイッチやストレージ装置を識別する情報、エラーの発生時刻、エラーの重要度などエラーに関する情報を「errdump」から抽出する。
【0048】
さらに、異常原因特定部513は、スイッチに設定されているゾーニング情報や他装置との接続関係を示す接続情報などを各スイッチから取得する。例えば、異常原因特定部513は、各スイッチに対してsupportsaveコマンドの発行指示を送信して、ポートゾーニングやWWNゾーニングなどのゾーニングコンフィグレーションを取得する。同様に、異常原因特定部513は、アクティブなポートAにストレージ装置10が接続されていることなどを示す情報やスイッチ内のポート間で設定されているパーティショング情報などを取得する。また、異常原因特定部513は、スイッチに接続されるストレージ装置のファームウェアやソフトウェアのバージョン情報を取得する。
【0049】
上述したように、異常原因特定部513は、supportsaveコマンドを各スイッチに実行させて取得した情報を解析する。その結果、異常原因特定部513は、エラー発生スイッチおよびストレージ装置、エラー発生ポート、エラー発生時間、スイッチの接続情報、ゾーニング情報、スイッチのFOSやハードウェア構成、ストレージ装置のソフトウェアやハードウェア構成を取得する。そして、異常原因特定部513は、解析して得られた情報を解析情報DB505に格納する。
【0050】
このように、異常原因特定部513は、supportsaveコマンドで取得された情報を解析することで、異常内容、異常発生装置、スイッチとストレージ装置の接続環境、カスケード接続されるスイッチの情報などを得ることができる。
【0051】
図2に戻り、ソフトウェア更新部514は、品証部サーバ800からソフトウェアを取得する。そして、ソフトウェア更新部514は、異常原因特定部513が特定した異常がソフトウェアの更新で解消できる異常である場合、特定された異常を解消したソフトウェアが、品証部サーバ800に登録されているかを検索する。そして、ソフトウェア更新部514は、品証部サーバ800に登録されている場合には、異常が生じた装置にソフトウェアの更新を指示する。
【0052】
例えば、ソフトウェア更新部514は、解析情報DB505の「異常内容」をキーにして、過去事例DB506の「異常内容」を検索し、両DBで異常内容が一致するレコードを特定する。そして、ソフトウェア更新部514は、特定した両レコードについて、解析情報DB505の「スイッチ情報」または「ストレージ情報」と、過去事例DB506の「異常環境」とが一致するか否かを判定する。さらに、ソフトウェア更新部514は、特定した両レコードについて、解析情報DB505の「カスケード情報」と、過去事例DB506の「接続環境」とが一致するか否かを判定する。そして、ソフトウェア更新部514は、上記判定がそれぞれ一致する場合、過去事例DB506の「対応内容」に記載される処理を実行する。
【0053】
図3および図4を例にして説明する。ここでは、ソフトウェア更新部514は、「異常内容」が一致するレコードを既に特定しているものとする。ソフトウェア更新部514は、解析情報DB505を参照して、リードエラーが発生したストレージ装置50と接続されるスイッチ100のFOSバージョンが「FOS−A」であることを特定する。同様に、ソフトウェア更新部514は、スイッチ100とカスケード接続されるスイッチ200のFOSバージョンが「FOS−A2」であることを特定する。
【0054】
続いて、ソフトウェア更新部514は、過去事例DB506を参照し、「FOS−A」のスイッチと「FOS−A2」のスイッチがカスケード接続されている環境で、ストレージ装置の「リードエラー」が発生したことを特定する。
【0055】
すなわち、ソフトウェア更新部514は、カスケード接続されるスイッチのFOSバージョンの違いに、異常の原因があるものと推定する。このため、ソフトウェア更新部514は、品証部サーバ800からFOSの最新バージョンを取得し、取得した最新バージョンをスイッチ100に送信する。こうすることで、スイッチ100では、FOSのバージョンアップが実行される。
【0056】
(スイッチの構成)
図6は、スイッチの構成を示すブロック図である。なお、図1に示した各スイッチは同様の構成を有するので、ここではスイッチ100を例にして説明する。図6に示すように、スイッチ100は、SFP(Small Form Factor Pluggable)100−1〜SFP100−n(n:自然数)と、SFP101−1〜SFP101−n(n:自然数)と、LANポート102とを有する。さらに、スイッチ100は、電源103aと電源103b、ファン104aとファン104b、制御ボード105とを有する。なお、ここで示した電子部品や電子部品の数はあくまで例示であり、これに限定されるものではない。
【0057】
SFP100−1〜SFP100−nおよびSFP101−1〜SFP101−nは、業務ネットワークと接続するインタフェースであり、FCで他の装置と接続する着脱可能なコネクタである。図1の例の場合、スイッチ100は、SFP100−1〜SFP100−nまたはSFP101−1〜SFP101−nを用いて、スイッチ200とカスケード接続したり、ストレージ装置10およびストレージ装置50各々とFCで接続したりする。したがって、スイッチ100は、このSFPを介して、ストレージ装置10およびストレージ装置50各々にリード要求やライト要求を送信したり、エラー情報を取得したりする。
【0058】
LANポート102は、保守用のネットワークと接続されるインタフェースであり、スイッチングハブ5と接続される。例えば、LANポート102は、ストレージ装置10またはストレージ装置50で発生したエラーやスイッチ100で発生したエラーを、監視サーバ500に送信する。また、LANポート102は、FOSのバージョンアップなど保守指示を監視サーバ500から受信する。
【0059】
電源103aと電源103bは、スイッチ100の電源であり、不具合や停電等に備えて冗長化されている。ファン104aとファン104bは、スイッチ100の外部から空気を吸い込んで、スイッチ100に搭載される上記電子部品を冷却する送風器である。
【0060】
制御ボード105は、ASIC(Application Specific Integrated Circuit)などの集積回路であり、スイッチング制御部106と制御部107とを有する。スイッチング制御部106は、各SFP間のスイッチング経路、ゾーニング情報、パーティショング情報などを記憶する内部メモリを有し、受信したデータを宛先が接続されるSFPから送信する。
【0061】
制御部107は、FOSを実行するとともに、監視ソフトウェアやSNMP制御を実行するCPU107aと、supportsave情報や各種ログなど記憶するメモリ107bと有し、スイッチ100内の各種処理を統括的に制御する。
【0062】
CPU107aは、監視ソフトウェアを実行して、スイッチ100で発生する異常、スイッチ100と接続されるストレージ装置10やストレージ装置50で発生する異常を検出する。そして、CPU107aは、検出した異常を通知する異常通知を生成し、LANポート102を介してスイッチ100に送信する。このように、CPU107aは、監視ソフトウェア等を用いることで、ストレージ装置が実行した処理結果やストレージ装置で発生したエラー情報などのストレージ装置のログ情報を収集して、メモリ107bに格納することができる。
【0063】
さらに、CPU107aは、LANポート102を介して、監視サーバ500からsupportsaveコマンドの発行指示を受信した場合、supportsaveコマンドを自装置に発行する。そして、CPU107aは、「licenseshow」、「chassisshow」、「version」、「switchshow」、「portshow」、「errdump」を有するsupportsave情報をメモリ107bから取得する。そして、CPU107aは、LANポート102を介して、取得したsupportsave情報やストレージ装置の情報などを監視サーバ500に送信する。
【0064】
また、CPU107aは、スイッチ100から新たなバージョンのFOSを受信した場合、当該FOSのインストールすなわちFOSのバージョンアップを実行する。同様に、CPU107aは、スイッチ100から新たなバージョンの監視ソフトウェアやパッチを受信した場合、当該監視ソフトウェアのインストールまたはパッチ適用を実行する。
【0065】
また、CPU107aは、ストレージ装置10やストレージ装置50で動作するソフトウェアの新たなバージョンをスイッチ100から受信した場合、スイッチング制御部106に当該ソフトウェアを出力する。そして、スイッチング制御部106は、当該ソフトウェアを宛先のストレージ装置に送信する。
【0066】
(ストレージ装置の構成)
図7は、ストレージ装置の構成を示すブロック図である。なお、図1に示した各ストレージ装置は同様の構成を有するので、ここではストレージ装置10を例にして説明する。図7に示すように、データの読み出しや書き込み、障害検出などを実行する制御部11と、データを記憶するハードディスクなどを有するストレージ部17とを有する。
【0067】
制御部11は、CA11a〜CA11d、DA(Device Adapter)12aとDA12b、RT(Router)13aとRT13b、CM(Centralized Module)14aとCM14bとを有する。
【0068】
CA11a〜CA11dは、業務ネットワークと接続する冗長化されたホスト接続用アダプターであり、図1の例では、ストレージ装置10とストレージ装置50各々と接続される。このCA11a〜CA11dは、サーバ600またはサーバ700からデータ読み出し要求(リード要求)やデータ書き込み要求(ライト要求)を受信する。また、CA11a〜CA11dは、各種要求に対する処理結果を処理要求元のサーバに送信する。また、CA11a〜CA11dは、CM14aやCM14bによって検出されたエラー情報であるリードエラー、ライトエラー、通信エラーなどの各種エラー通知をスイッチ100に送信する。
【0069】
DA12aとDA12bは、冗長化されたインタフェースであり、ストレージ部17と接続するドライブ接続用アダプターである。DA12aとDA12bは、CA11a〜CA11dによって受信されたリード要求やライト要求を、ストレージ装置10またはストレージ装置50に送信する。また、DA12aとDA12bは、ストレージ装置10またはストレージ装置50に送信した各種要求の実行結果を受信する。
【0070】
RT13aとRT13bは、各CAと各DAとの間の通信経路を決定してスイッチング制御を実行する。例えば、RT13aとRT13bは、CA11aによってリード要求が受信された場合に、当該要求を各CMに出力する。また、RT13aは、DA12aによって処理結果が受信された場合に、当該処理結果から送信先のサーバを特定する。そして、RT13aは、特定したサーバが接続されるCAをCM14aまたはCM14bが記憶する経路情報から特定する。その後、RT13aは、特定したCAを介して、DA12aが受信した処理結果をサーバに送信する。
【0071】
CM14aとCM14bは、冗長化されたモジュールであって、ストレージ装置10全体を制御するコントローラモジュールである。CM14aとCM14bは、同様の構成を有するので、ここではCM14aについて説明する。CM14aが有するCPU15aは、ストレージ装置10を制御するファームウェアやストレージ装置10を監視する監視ソフトウェアを実行する。
【0072】
CPU15aは、監視ソフトウェアによって、ストレージ装置10で発生するリードエラー、ライトエラー、通信エラーなどの各種エラーを検出し、ログとしてメモリ16aに格納するとともに、スイッチ100に送信する。また、CPU15aは、ストレージ装置10で実行した各種の結果をログとしてメモリ16aに格納する。また、CPU15aは、スイッチ100からファームウェアやソフトウェアの最新バージョンを受信した場合には、バージョンアップを実行する。
【0073】
また、CPU15aは、各CAからリード要求等を受信した場合、当該リード要求からリード先等を特定し、特定したリード先を宛先としてリード処理を実行する。そして、CPU15aは、リード処理によって得られた実行結果を処理要求元のサーバに応答する。同様に、CPU15aは、各CAからライト要求を受信した場合、当該ライト要求から書き込み先等を特定し、特定した書き込み先を宛先としてライト処理を実行する。そして、CPU15aは、ライト処理によって得られた実行結果を処理要求元のサーバに応答する。
【0074】
メモリ16aは、CPU15aが実行するソフトウェアのプログラムを記憶したり、CPU15aが実行した実行結果やCPU15aが検出したエラー情報などのログを記憶したりする。また、メモリ16aは、各CAと各DAとを対応付けた経路情報を記憶する。
【0075】
ストレージ部17は、FCチップ17aとFCチップ17b、ディスク18aとディスク18bとを有する。FCチップ17aとFCチップ17bは、冗長化された集積回路である。FCチップ17aは、DA12aと接続され、DA12aとディスク18aとの間の通信やDA12aとディスク18bとの間の通信を制御する。同様に、FCチップ17bは、DA12bと接続され、DA12bとディスク18aとの間の通信やDA12bとディスク18bとの間の通信を制御する。ディスク18aとディスク18bは、各サーバが処理対象とするデータを記憶する記憶装置である。
【0076】
[処理の流れ]
次に、図8と図9を用いて、監視サーバ500が実行する処理の流れについて説明する。ここでは、図8を用いて異常特定処理の流れを説明するとともに、対応内容の一例として図9を用いてFOSの自動更新処理を説明する。
【0077】
(異常特定処理)
図8は、異常特定処理の流れを示すフローチャートである。図8に示すように、監視サーバ500の異常受信部511が異常通知を受信した場合(S101肯定)、情報取得部512は、各スイッチからログ情報を取得する(S102)。例えば、情報取得部512は、各スイッチに対してsupportsaveコマンドの発行指示をLANポート503から送信する。そして、情報取得部512は、LANポート503を介して各スイッチからsupportsave情報を受信し、キャッシュ504に格納する。
【0078】
続いて、異常原因特定部513は、キャッシュ504に記憶されたsupportsave情報を解析し、その結果を解析情報DB505に格納する(S103)。このとき、異常原因特定部513は、解析した結果や過去事例等をディスプレイに表示したり、管理者に通知したりしてもよい(S104)。
【0079】
例えば、異常原因特定部513は、異常を通知したスイッチのsupportsave情報の「errdump」などからエラーが発生した装置、内容を特定する。また、異常原因特定部513は、異常を通知したスイッチのsupportsave情報の「version」などから当該スイッチのFOSバージョンを取得する。また、異常原因特定部513は、当該スイッチから他装置との接続状況や、接続されるストレージ装置のソフトウェアバージョン等を取得する。そして、異常原因特定部513は、取得したこれらの情報を解析情報DB505に格納する。
【0080】
その後、ソフトウェア更新部514は、解析情報DB505に記憶される解析結果と過去事例DB506に記憶される過去事例とを比較して対応内容を決定し(S105)、特定した対応内容を実行する(S106)。
【0081】
例えば、ソフトウェア更新部514は、解析情報DB505に記憶される「異常内容」と「スイッチ情報」の組み合わせ、または、「異常内容」と「ストレージ情報」の組み合わせが過去事例DB506の「異常内容と異常環境」に記憶されているか否かを判定する。そして、ソフトウェア更新部514は、過去事例DB506に記憶されている場合には、特定される「異常内容と異常環境」に対応した「対応内容」と同じ処理を実行する。一方、ソフトウェア更新部514は、「異常内容」と「スイッチ情報」と「ストレージ情報」などを含むメッセージをCEに送信したりする。
【0082】
(FOSの自動更新処理)
図9は、FOSの自動更新処理の流れを示すフローチャートである。図9に示すように、ソフトウェア更新部514は、過去事例DB506に記憶される過去事例からFOSのバージョンアップを対応内容と決定すると(S201)、品証部サーバ800からFOSの最新バージョンを取得する(S202)。
【0083】
その後、ソフトウェア更新部514は、FOSのバージョンアップを実行するスイッチのFOSのバージョンが最新であるかを確認する(S203)。例えば、ソフトウェア更新部514は、解析情報DB505に記憶される解析結果に含まれるFOSバージョンと、品証部サーバ800から取得した最新のFOSバージョンとを比較して、対象スイッチのFOSが最新であるか否かを確認する。
【0084】
そして、ソフトウェア更新部514は、当該スイッチのFOSのバージョンが最新である場合(S203肯定)、バージョンアップを行うことなくCEにエラーを通知する(S204)。この結果、CEは、部品交換やスイッチ自体の交換などを行う。
【0085】
一方、ソフトウェア更新部514は、当該スイッチのFOSのバージョンが最新でない場合(S203否定)、品証部サーバ800から最新バージョンのFOSを取得する(S205)。このように、ソフトウェア更新部514は、現在発生している障害の対応としてFOSのバージョンアップを実行したことが過去事例に登録されていることを根拠に、言い換えると、同じ障害で過去に対応された内容をCEが修正等していないことを根拠に、FOSのバージョンアップで障害が回復すると判断する。
【0086】
続いて、ソフトウェア更新部514は、該当スイッチに最新バージョンのFOSを適用する(S206)。すなわち、ソフトウェア更新部514は、該当スイッチのFOSをバージョンアップする。
【0087】
その後、ソフトウェア更新部514は、バージョンアップが正常終了した場合(S207肯定)、処理を終了する。一方、ソフトウェア更新部514は、バージョンアップが正常に終了しなかった場合(S207否定)、CEにエラーを通知する(S204)。
【0088】
[実施例1による効果]
実施例1によれば、接続構成のデータ取得と各装置のエラー採取を自動で取得して、システム全体のどの場所にて障害が発生しているかを早期に掴むことが可能にでき、短時間での原因究明が可能になる。また、スイッチのカスケード接続状況、各スイッチのFOSバージョン、ストレージ装置のエラー状況などを収集することができるので、対応内容を自動で決定できなかった場合であっても、有益なシステム情報をCEに提供することができる。この結果、未知のエラー、未解決のエラーが検出された場合であっても、短時間での原因究明が可能になる。
【実施例2】
【0089】
次に、複数のデータセンターを一括で管理する例を説明する。図10は、複数のデータセンターを一括で管理するシステムの例を示す図である。図10に示すように、このシステムは、監視サーバ500と複数のデータセンターとを有し、監視サーバ500と各データセンターは、業務に使用されない保守用のネットワークで接続される。監視サーバ500は、図2で説明した監視サーバと同様の機能を有する。
【0090】
各データセンターは、複数のサーバと複数のストレージ装置と少なくとも1つのスイッチとを有する。スイッチは、図6で説明したスイッチと同様の機能を有し、監視サーバ500と接続される。各サーバは、図1で説明したサーバと同様の機能を有し、各業務を実行する。各ストレージ装置は、図7で説明したストレージ装置と同様の機能を有する。また、データセンターのネットワーク状況についても、図1と同様、業務ネットワークと保守用のネットワークとで形成される。
【0091】
このような状況において、監視サーバ500の情報取得部512は、いずれかのデータセンターでエラーが発生した場合に、各データセンターの各スイッチにsupportsaveコマンドの発行指示を送信して、各スイッチのsupportsave情報を収集する。例えば、監視サーバ500は、各データセンターが外部とする通信するためのスイッチやルータなどからSNMPでエラー通知を受信したり、当該スイッチ等に定期的に問い合わせてエラー情報を取得したりするようにしてもよく、任意の公知な手法を利用できる。このようにして、監視サーバ500は、エラーが発生したデータセンターの構成情報と、エラーが発生していないデータセンターの構成情報とを収集する。
【0092】
そして、監視サーバ500の異常原因特定部513は、上述したsupportsave情報から各種情報を取得して組み合わせたりすることで、FOS別のエラー発生件数やエラー発生時におけるスイッチの接続関係等を集計する。例えば、異常原因特定部513は、実施例1と同様の手法で、supportsave情報からエラー発生装置、エラー発生装置のソフトウェアバージョン等を集計する。この結果、異常原因特定部513は、FOSのバージョンが「FOS−A」であるスイッチで頻繁にエラーが検出されている、FOSのバージョンが異なるスイッチがカスケード接続されている環境で頻繁にエラーが検出されているなどを特定する。
【0093】
その後、ソフトウェア更新部514は、FOSのバージョンが「FOS−A」であるスイッチで発生したエラーが閾値を超える場合、「FOS−A」を実行するスイッチのFOSのバージョンアップを実行する。また、ソフトウェア更新部514は、FOSのバージョンが異なるスイッチがカスケード接続されている環境で発生したエラーが閾値を超えている場合には、両スイッチのFOSのバージョンが同じになるように、FOSのバージョンアップを実行する。
【0094】
このように、装置とFOSの組み合わせなどシステム構成によるエラー発生の偏りの集計を取ることを可能とし、エラー発生の偏りがある場合は同様のシステム構成へのFOSアップによる障害発生の回避を行なう。こうすることで、各装置の安定稼動が実現できる。
【0095】
次に、エラー発生時に同様の条件で動作しているスイッチを検索する処理について説明する。図11は、エラー発生時に同様の条件で動作しているスイッチを検索する処理の流れを示すフローチャートである。
【0096】
図11に示すように、エラーを検出した監視サーバ500の情報取得部512は、エラー集計を開始する(S301)。すると、情報取得部512は、エラーを通知してきたスイッチすなわちエラーが発生したスイッチに、supportsaveコマンドの発行指示を送信して、スイッチが記憶するsupportsave情報を取得する(S302)。続いて、異常原因特定部513は、異常スイッチのsupportsave情報を解析して各種情報を抽出して、エラーが発生したスイッチの構成状況等を特定する(S303)。例えば、異常原因特定部513は、スイッチの構成状況として、スイッチのFOSのバージョン、カスケード状況、ストレージ装置の接続状況、エラー発生件数等を特定する。
【0097】
また、情報取得部512は、エラーを通知してきたスイッチ以外のスイッチすなわち正常動作中の各スイッチに、supportsaveコマンドの発行指示を送信して、正常動作中のスイッチが記憶するsupportsave情報を取得する(S304)。続いて、異常原因特定部513は、正常動作中のスイッチのsupportsave情報を解析して各種情報を抽出して、スイッチの構成状況等を特定する(S305)。
【0098】
その後、異常原因特定部513は、S304で得られたエラーがあるスイッチに対する解析結果と、S305で得られたエラーがないスイッチに対する解析結果とを比較する(S306)。
【0099】
そして、異常原因特定部513は、エラー別の発生件数やFOS別のエラー数を集計し(S307)、集計した結果をグラフなどでディスプレイ等に表示する(S308)。この結果、ソフトウェア更新部514は、エラーが発生したスイッチと同様の構成であり、エラー未発生のスイッチが存在すると判定した場合(S309肯定)、当該スイッチを管理するCEにエラー予告を通知する(S310)。なお、ソフトウェア更新部514は、エラーが発生したスイッチと同様の構成を有する他のスイッチが存在しないと判定した場合(S309否定)、処理を終了する。
【0100】
例えば、ソフトウェア更新部514は、エラーが発生したスイッチと同じバージョンのFOSを有するスイッチであって、検出された障害と同じ障害が未検出のスイッチに対して、FOSのバージョンアップを行う。
【0101】
別例としては、ソフトウェア更新部514は、エラーが発生したスイッチのFOSと当該スイッチにカスケード接続されるスイッチのFOSとの組み合わせを特定する。そして、ソフトウェア更新部514は、特定したFOSの組み合わせと同じ組み合わせでカスケード接続されるスイッチを特定し、特定したスイッチに対して、FOSのバージョンアップを行う。
【0102】
このように、エラー発生した装置とFOSの組み合わせの集計をとり、発生確率の高い組み合わせについてはFOSのアップを早期に実施する。これにより、障害発生を事前に回避することが可能になる。また、クラウドコンピューティングなどのように、複数のデータセンターを用いてサービスを提供する場合でも、各データセンターで発生したエラー情報を共有することができる。この結果、障害の予防、障害の早期検出、障害の早期回復を実現でき、システム全体の安全稼動に繋がる。
【実施例3】
【0103】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。
【0104】
(対応内容)
実施例1では、対応内容としてFOSのバージョンアップを例にして説明したが、対応内容はこれに限定されるものではない。考えられる対応内容としては、ハードウェア交換、ソフトウェアやファームウェアの再インストールなどが考えられ、検出される障害としては、回線障害なども含まれる。例えば、監視サーバ500は、リカバリエラーが閾値を超えた場合にはハードウェア交換を対応内容として決定し、CEにその旨をメール等で通知する。また、監視サーバ500は、ソフトウェアやファームウェアの再インストールを対応内容として決定した場合には、該当するソフトウェア等を品証部サーバ800から取得して、該当装置にインストールする。
【0105】
(システム)
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、例えば図3、図4等に示した各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0106】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、例えば異常受信部511と情報取得部512とを統合するなど各装置の分散・統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0107】
なお、本実施例で説明した各機能部の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【符号の説明】
【0108】
500 監視サーバ
501、502 CA
503 LANポート
504 キャッシュ
505 解析情報DB
506 過去事例DB
510 制御部
511 異常受信部
512 情報取得部
513 異常原因特定部
514 ソフトウェア更新部

【特許請求の範囲】
【請求項1】
ネットワークを介して接続される情報処理装置の動作状態を監視する監視装置であって、
情報処理装置の異常情報を受信する異常受信部と、
受信した異常情報に基づいて異常が生じた情報処理装置を特定する異常装置特定部と、
異常が生じた情報処理装置および他の情報処理装置の動作情報と装置情報を取得する情報取得部と、
取得した動作情報と装置情報とに基づいて、異常原因を特定する異常原因特定部と
を有することを特徴とする監視装置。
【請求項2】
ソフトウェア管理サーバからソフトウェアを取得するソフトウェア取得部と、
特定された異常がソフトウェアの更新で解消できる異常である場合、前記特定された異常を解消したソフトウェアが前記ソフトウェア管理サーバに登録されているかを検索し、登録されている場合には、前記異常が生じた情報処理装置にソフトウェアの更新を指示するソフトウェア更新部と、をさらに有することを特徴とする請求項1に記載の監視装置。
【請求項3】
前記ソフトウェア更新部は、前記装置情報に基づいて、前記異常が生じた情報処理装置と同じソフトウェアで動作している情報処理装置を検索し、前記検索によって見つかった情報処理装置にソフトウェアの更新を指示することを特徴とする請求項2に記載の監視装置。
【請求項4】
前記動作情報と前記装置情報とに基づいて、前記異常が発生した装置と同じ動作条件を有する情報処理装置を検索する検索部と、
前記検索部によって検索された結果を所定の箇所に通知する通知部と、をさらに有することを特徴とする請求項1に記載の監視装置。
【請求項5】
データを記憶するストレージ装置と、前記ストレージ装置に対して各種要求を中継するスイッチと、前記スイッチまたはストレージ装置の動作環境を監視する監視サーバ装置とを有する監視システムであって、
前記スイッチは、
自装置または前記ストレージ装置で異常を検出した場合に、検出した異常の内容を含む異常情報を前記監視サーバ装置に送信する送信部と、
前記監視サーバ装置は、
前記スイッチまたは前記ストレージ装置の異常情報を受信する異常受信部と、
受信した異常情報に基づいて異常が生じた前記スイッチまたは前記ストレージ装置を特定する異常装置特定部と、
異常が生じた前記スイッチまたは前記ストレージ装置の動作情報と装置情報、および、前記異常が生じていない前記スイッチまたは前記ストレージ装置の動作情報と装置情報を取得する情報取得部と、
取得した動作情報と装置情報とに基づいて、異常原因を特定する異常原因特定部と
を有することを特徴とする監視システム。
【請求項6】
ネットワークを介して接続される情報処理装置の動作状態を監視するコンピュータが実行する監視方法であって、
情報処理装置の異常情報を受信し、
受信した異常情報に基づいて異常が生じた情報処理装置を特定し、
異常が生じた情報処理装置および他の情報処理装置の動作情報と装置情報を取得し、
取得した動作情報と装置情報とに基づいて、異常原因を特定する
ことを特徴とする監視方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2012−174232(P2012−174232A)
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願番号】特願2011−38939(P2011−38939)
【出願日】平成23年2月24日(2011.2.24)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】