(57)【特許請求の範囲】
【請求項１】
複数のストレージ装置と、
前記複数のストレージ装置が有する複数の実ボリュームを一又は複数の仮想ボリュームとしてサーバに提供するバーチャリゼーション装置と、
前記バーチャリゼーション装置を介して前記一又は複数の仮想ボリュームにアクセスする一又は複数のサーバとを有するネットワークの情報を表示するために、前記ネットワークに接続される管理サーバによって実行される方法であって、
前記複数のストレージ装置、前記バーチャリゼーション装置、及び前記一又は複数のサーバから、前記ネットワークの接続関係に関するネットワーク情報を受信するステップと、
前記複数のストレージ装置各々から、該複数のストレージ装置のうちの第１のストレージ装置から該第１のストレージ装置が有する第１の実ボリュームに関する実ボリューム情報と、該複数のストレージ装置のうちの第２のストレージ装置から該第２のストレージ装置が有する第２の実ボリュームに関する実ボリューム情報とを含む、該各々のストレージ装置が有する実ボリュームに関する実ボリューム情報を受信するステップと、
前記バーチャリゼーション装置から、前記第１の実ボリュームおよび前記第２の実ボリュームから構成される第１の仮想ボリュームに関する仮想ボリューム情報を含む、前記一又は複数の仮想ボリュームに関する仮想ボリューム情報を受信するステップと、
前記一又は複数のサーバから該各々のサーバがアクセスする仮想ボリュームに関するアクセス先ボリューム情報を受信するステップと、
前記ネットワーク情報、前記実ボリューム情報、前記仮想ボリューム情報、及び前記アクセス先ボリューム情報に基づいて、前記一又は複数のサーバから前記複数のストレージ装置内の前記複数の実ボリュームまでの接続関係を示した実トポロジ情報と、前記一又は複数のサーバから前記一または複数の仮想ボリュームまでの接続関係を示した仮想トポロジ情報とを表示するステップと、
前記仮想トポロジ情報によって示される接続関係の中から、一のサーバから前記第１の仮想ボリュームまでの接続パスである仮想接続パスが指定された場合に、当該仮想接続パスに対応する前記一のサーバから前記第１の実ボリュームおよび前記第２の実ボリュームまでの接続パスである実接続パスを、前記実トポロジ情報を用いて表示するステップを有することを特徴とする、ネットワーク情報の表示方法。
【請求項２】
請求項１記載のネットワーク情報の表示方法において、
前記仮想ボリューム情報は、前記バーチャリゼーション装置がサーバに提供する仮想ボリュームと、該仮想ボリュームを構成する一又は複数の実ボリュームとの対応関係を示す情報を含むことを特徴とするネットワーク情報の表示方法。
【請求項３】
請求項１記載のネットワーク情報の表示方法において、
更に、前記ネットワーク内で発生した障害を検知した装置から障害通知メッセージを受信するステップと、
前記障害通知メッセージに基づいて、前記障害の影響を受ける実ボリュームおよび仮想ボリュームを表示するステップを有することを特徴とするネットワーク情報の表示方法。
【請求項４】
請求項３記載のネットワーク情報の表示方法において、
更に、前記障害通知メッセージに基づいて、前記ネットワーク内で障害が生じている場所を特定するステップと、
特定された障害が生じている場所を表示するステップとを有することを特徴とするネットワーク情報の表示方法。
【請求項５】
請求項３記載のネットワーク情報の表示方法において、
前記障害通知メッセージは、ＳＮＭＰプロトコルによって定められる形式に従ったメッセージであることを特徴とするネットワーク情報の表示方法。
【請求項６】
各々一又は複数の実ボリュームを有する複数のストレージ装置と、
複数の実ボリュームを一又は複数の仮想ボリュームとして一又は複数のサーバに提供するバーチャリゼーション装置と、
前記一又は複数のサーバとに、ネットワークを介して接続される管理サーバであって、
前記ネットワークと接続されるインタフェースと、
プロセッサと、
出力装置とを有し、
前記インタフェースを介して、前記複数のストレージ装置、前記バーチャリゼーション装置、及び前記一又は複数のサーバから、該一又は複数のストレージ装置、該バーチャリゼーション装置、及び該一又は複数のサーバ各々が接続される装置に関する接続先情報を受信し、
前記インタフェースを介して、前記複数のストレージ装置各々から、該複数のストレージ装置のうちの第１のストレージ装置から該第１のストレージ装置が有する第１の実ボリュームに関する実ボリューム情報と、該複数のストレージ装置のうちの第２のストレージ装置から該第２のストレージ装置が有する第２の実ボリュームに関する実ボリューム情報とを含む、該各々のストレージ装置が有する一又は複数の実ボリュームに関する実ボリューム情報を受信し、
前記インタフェースを介して、前記バーチャリゼーション装置から、前記第１の実ボリュームおよび前記第２の実ボリュームから構成される第１の仮想ボリュームに関する仮想ボリューム情報を含む、前記一又は複数の仮想ボリュームに関する仮想ボリューム情報を受信し、
前記インタフェースを解して、前記一又は複数のサーバから該各々のサーバがアクセスする仮想ボリュームに関するアクセス先ボリューム情報を受信し、
前記プロセッサは、前記接続先情報と、前記実ボリューム情報と、前記仮想ボリューム情報と、前記アクセス先ボリューム情報とを関連付けて、前記一又は複数のサーバから前記複数の実ボリュームまでの接続関係を示した実トポロジ情報と、前記一又は複数のサーバから前記複数の仮想ボリュームまでの接続関係を示した仮想トポロジ情報とを、前記出力装置に表示させ、
前記仮想トポロジ情報によって示される接続関係の中から、一のサーバから前記第１の仮想ボリュームまでの接続パスである仮想接続パスが指定された場合に、前記プロセッサは当該仮想接続パスに対応する前記一のサーバから前記第１の実ボリュームおよび前記第２の実ボリュームまでの接続パスである実接続パスを、前記出力装置に前記実トポロジ情報を用いて表示されることを特徴とする管理サーバ。
【請求項７】
請求項６記載の管理サーバにおいて、
更に、前記管理サーバが前記ネットワークを介して接続される装置に生じ得る障害に関する障害情報を格納した記録媒体を有し、
前記インタフェースを介して、前記ネットワークを介して接続されるいずれかの装置から障害通知メッセージを受信した場合に、
前記プロセッサは前記障害通知メッセージを前記障害情報を用いて解析し、障害の影響を受ける実ボリューム若しくは仮想ボリュームを特定し、
前記出力装置は、障害の影響を受ける実ボリューム若しくは仮想ボリュームを特定するための情報を出力することを特徴とする管理サーバ。
【請求項８】
請求項７記載の管理サーバにおいて、
前記プロセッサは前記障害通知メッセージを前記障害情報を用いて解析し、障害が生じている装置及び該装置内の障害が生じている部分を特定し、
前記出力装置は、前記障害が生じている部分を示す情報を出力することを特徴とする管理サーバ。
【請求項９】
各々一又は複数の実ボリュームを有する、複数のストレージ装置と、
一又は複数の実ボリュームを複数の仮想ボリュームとして一又は複数のサーバに提供するバーチャリゼーション装置と、
前記バーチャリゼーション装置を介して仮想ボリュームにアクセスする前記一又は複数のサーバとを有するネットワークの情報を表示させるために、前記複数のストレージ装置と、前記バーチャリゼーション装置と、前記一又は複数のサーバとに接続される管理サーバにおいて実行されるプログラムであって、
前記複数のストレージ装置、前記バーチャリゼーション装置、及び前記一又は複数のサーバの各々から、前記ネットワークの接続情報を受信するステップと、
前記複数のストレージ装置各々から、該複数のストレージ装置のうちの第１のストレージ装置から該第１のストレージ装置が有する第１の実ボリュームに関する実ボリューム情報と、該複数のストレージ装置のうちの第２のストレージ装置から該第２のストレージ装置が有する第２の実ボリュームに関する実ボリューム情報とを含む、該各々のストレージ装置が有する実ボリュームに関する実ボリューム情報を受信するステップと、
前記バーチャリゼーション装置から、前記第１の実ボリュームおよび前記第２の実ボリュームから構成される第１の仮想ボリュームに関する仮想ボリューム情報を含む、該バーチャリゼーション装置がサーバに提供する仮想ボリュームに関する仮想ボリューム情報を受信するステップと、
前記一又は複数のサーバの各々から、該サーバがアクセスする仮想ボリュームを示すアクセス先ボリューム情報を受信するステップと、
前記接続情報、前記実ボリューム情報、前記仮想ボリューム情報、及び前記アクセス先ボリューム情報を対応付けて、前記一又は複数のサーバから前記複数の実ボリュームまでの接続関係を示した実トポロジ情報と、前記一又は複数のサーバから前記複数の仮想ボリュームまでの接続関係を示した仮想トポロジ情報とを、前記管理サーバの有する出力装置に表示させるステップと、
前記仮想トポロジ情報によって示される接続関係の中から、一のサーバから前記第１の仮想ボリュームまでの接続パスである仮想接続パスが指定された場合に、前記プロセッサは当該仮想接続パスに対応する前記一のサーバから前記第１の実ボリュームおよび前記第２の実ボリュームまでの接続パスである実接続パスを、前記出力装置に前記実トポロジ情報を用いて表示させるステップとを前記管理サーバに実行させるためのプログラム。
【請求項１０】
請求項９記載のプログラムにおいて、
更に前記ネットワーク内の障害が生じている装置から、障害通知メッセージを受信するステップと、
前記障害通知メッセージに基づいて、前記障害の影響を受ける実ボリューム及び仮想ボリュームを特定するステップと、
前記障害の影響を受ける実ボリューム及び仮想ボリュームを特定するための情報を出力装置に出力させるステップとを前記管理サーバに実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、計算機システムに用いられるストレージシステムに関する。特に本発明は、ストレージシステムから提供される実ボリュームが、バーチャリゼーション装置のボリューム仮想化機能を介して仮想ボリュームとしてサーバに提供されるストレージエリアネットワーク(Storage Area Network、以下SAN)において、ボリュームの構成および障害を管理する方法及び装置に関するものである。
【０００２】
【従来の技術】
(1)SANについて
近年、各サーバからストレージを切り離して集約化した、ストレージ入出力専用のネットワークであるSANが浸透しつつある。SANの導入により、高速なデータ転送、ストレージシステムの高い拡張性と可用性、ストレージ資源の有効利用が実現可能となった。
(2)SANマネージャについて
SANで集約された異機種のストレージ装置を無停止で運用するためには、それぞれの機種の運用方法に精通した管理者が必要であり、管理コストが高い。ストレージ装置の運用管理においては、特に日々の運用の基本となる、SANに接続される各装置(サーバ・スイッチ・ストレージ装置など)の稼動状況の監視が重要である。稼動状況を監視するためのソフトウェアを、以降SANマネージャとよぶ。SANマネージャは、構成管理機能と障害監視機能の二大機能を持つ。構成管理機能とは、SANを構成する各装置に存在する管理エージェントから情報を定期的に取得し、取得した情報からSANの物理的な接続関係(トポロジ)を検出し、常に最新のトポロジを視覚化してSANマネージャユーザ、言い換えるとSAN管理者に提供する機能である。障害監視機能とは、各装置が発行するハードウェア障害や性能低下などのイベント通知や、各装置に存在する管理エージェントから定期的に取得する装置情報に基づき、障害や性能低下等のイベントの発生を把握し、そのイベントをユーザに通知する機能である。これら二つの機能により、ユーザはSANマネージャを用いて装置の稼動状況を一元的に管理でき、SAN管理者の少人数化など運用コストの削減を図ることができる。
(3)バーチャリゼーション装置について
SANにおけるストレージ管理技術として、仮想ストレージ技術がある。仮想ストレージ技術は特許文献１に開示されている。本特許文献には、ストレージサーバと呼ばれる装置が以下の二つの機能を有することが開示されている。1)ストレージサーバに接続された各ストレージシステムが有する記憶媒体内の記憶領域であるボリューム(以下実ボリューム)を管理し、ストレージプールを生成する機能。2)ストレージプール内の一つ以上の実ボリュームをもとに仮想ボリュームを生成し、サーバからの仮想ボリュームへのI/Oアクセスを逐次実ボリュームに展開してサーバからのI/Oに応答する機能。これら二つの機能を有するサーバないしはスイッチを、以降ではバーチャリゼーション装置と呼ぶ。バーチャリゼーション装置をSANに導入することにより、サーバユーザはバーチャリゼーション装置に対して仮想ボリュームの割当を要求すればよく、バーチャリゼーション装置に接続されたストレージ装置の物理配置を意識する必要がなくなる。その結果、SAN管理者は一元的にボリュームの割当を行うことができる。
【０００３】
【特許文献１】
英国特許出願公開第2351375号明細書
【０００４】
【発明が解決しようとする課題】
バーチャリゼーション装置が仮想ボリュームを提供することにより、サーバへ提供するボリューム構成の自由度は高まる。しかし、SAN管理者は、サーバと仮想ボリュームの関係と、仮想ボリュームと実ボリュームの関係という、双方の関係を常に把握してSANを運用する必要がある。そして、SANの規模が大きくなるほど、つまりバーチャリゼーション装置とストレージ装置の台数が増えて接続関係が複雑になるほど、SANの構成を把握するのは困難になる。
【０００５】
本発明の目的は、SANにおいて、実ボリュームと仮想ボリュームの対応関係を容易に把握するための技術を提供することである。
【０００６】
【課題を解決するための手段】
本発明においては、SANを構成する各装置に具備される管理エージェントと、SAN管理者が使用するSAN管理サーバに具備されるSANマネージャを用いて、SANにおけるボリューム構成が管理される。
【０００７】
SANマネージャは、各サーバに具備される管理エージェントからデータI/Fおよびボリュームに関する情報を取得し、各スイッチに具備される管理エージェントからデータI/Fの接続状況に関する情報を取得し、各ストレージ装置に具備される管理エージェントからデータI/Fとボリュームに関する情報を取得し、各バーチャリゼーション装置に具備される管理エージェントから仮想ボリュームに関する情報を取得する。取得した情報をもとに、SANマネージャは、SANにおけるサーバと仮想ボリュームの対応関係(以下仮想ボリュームマッピングと呼ぶ)を検出し、仮想ボリュームマッピング情報としてこの対応関係を管理する。さらにSANマネージャは、仮想ボリュームマッピングと仮想ボリュームの構成情報をもとに、サーバと実ボリュームの対応関係(以下実ボリュームマッピングと呼ぶ)を検出し、実ボリュームマッピング情報としてこの対応関係を管理する。そしてSANマネージャは、仮想ボリュームマッピング情報と実ボリュームマッピング情報を出力し、SAN管理者に両者の対応関係を提示する。
【０００８】
【発明の実施の形態】
以下に、図面を参照しながら本発明の実施形態を説明する。尚これにより本発明が限定されるものではない。
【０００９】
<実施例1  仮想ボリュームと実ボリュームの構成管理>
本実形態においては、SANマネージャが、仮想ボリュームマッピングと実ボリュームマッピングを把握することによって、仮想ボリュームと実ボリュームの構成を管理する技術を示す。
【００１０】
(1-1)SANの構成例
まずSANの構成例について説明する。図1から図5はSAN及びSANに接続される各装置の構成例を示し、図8から図15は各装置内に具備された管理情報を示している。
【００１１】
図1にはSANの構成例を示す。本発明におけるSANは、管理エージェントを有する1台以上のサーバ、管理エージェントを有する1台以上のスイッチ、管理エージェントを有する1台以上のバーチャリゼーション装置、管理エージェントを有する1台以上のストレージ装置、そしてSANマネージャを有する1台のSAN管理サーバを有する。以降の説明の都合上、実施例1のSANにおいては、2台のサーバ(サーバA,サーバB)20000と、1台のスイッチ兼バーチャリゼーション装置30000と、2台のストレージ装置(ストレージA40000とストレージB50000)が、ファイバチャネル60000を介して相互に接続されているものとする。一方、SAN管理サーバ10000は、管理用ネットワーク70000を介してサーバ、バーチャリゼーション装置、ストレージ装置それぞれに接続されており、各装置の管理エージェントとSAN管理サーバ10000内のSANマネージャ13100は管理用ネットワークを介して通信できる。SANマネージャ13100は、後述する処理により、SANにおける仮想ボリュームと実ボリュームの構成を管理する。
【００１２】
図2にはSAN管理サーバ10000の構成例を示す。SAN管理サーバ10000は、プロセッサ11000、主記憶12000、記憶領域13000、管理用ネットワーク70000に接続する管理I/F14000と、SANマネージャ13100によって後述する処理が実行された場合にその実行結果を出力するディスプレイ装置等の出力装置15000を有し、これらは内部バス等の通信路17000を介して相互に接続する。記憶領域13000には、SAN管理サーバによって実行されるプログラムであるSANマネージャ13100と、SANにおける実ボリュームマッピング情報を保持する実ボリュームマッピング管理テーブル13200と、SANにおける仮想ボリュームマッピング情報を保持する仮想ボリュームマッピング管理テーブル13300と、SAN内の各装置に備えられている管理エージェントから収集した情報を格納する領域である実トポロジリポジトリ13400と、SAN内でSANマネージャ13100が管理対象としている装置の一覧を保持する装置検出リスト13500とが格納されている。
【００１３】
図3にはサーバ20000の構成図を示す。サーバ20000は、プロセッサ21000と、主記憶22000と、記憶領域23000と、管理用ネットワーク70000に接続する管理I/F24000と、ファイバチャネル60000に接続する一つ以上のデータI/F26000を有し、これらは内部バス等の通信路27000を介して相互に接続する。記憶領域23000には、SANマネージャ13100と通信して当該サーバの管理情報を送受信するためのプログラムである管理エージェント23100と、当該サーバのデータI/Fの管理情報を保持するデータI/F管理テーブル23200と、当該サーバがアクセスするボリュームの管理情報を保持するボリューム管理テーブル23300とが格納されている。なお、本実施例ではサーバA・サーバBともに一つのデータI/Fを具備するものとしたが、データI/Fを複数備えていても良い。また、各サーバのデータI/Fには各サーバ内で固有の識別子(データI/F ID)が割当てられており、本実施例では、サーバAのデータI/F IDの値をa1、サーバBのデータI/F IDの値をb1とする。
【００１４】
図4にはバーチャリゼーション装置の構成例を示す。バーチャリゼーション装置30000は、ファイバチャネル60000を介して送受信されるデータのスイッチング及び仮想ストレージ機能を実現するコントローラ31000と、記憶領域33000と、管理用ネットワーク70000に接続する管理I/F34000と、ファイバチャネル60000に接続する一つ以上のデータI/F36000を有し、これらはコントローラ31000を介して相互に接続する。記憶領域33000には、SANマネージャ13100と通信して当該バーチャリゼーション装置の管理情報を送受信するためのプログラムである管理エージェント33100と、仮想ストレージ機能を実現するためのボリューム仮想化プログラム33200と、当該バーチャリゼーション装置と各サーバや各ストレージ装置との間のファイバチャネル60000を介した接続関係を示す情報であるFC接続管理テーブル33300と、当該バーチャリゼーション装置のデータI/Fの管理情報を保持するデータI/F管理テーブル33400と、当該バーチャリゼーション装置が各サーバに提供している仮想ボリュームの管理情報を保持する仮想ボリューム管理テーブル33500とが格納されている。なお、本実施例ではバーチャリゼーション装置は6個のデータI/Fを有する構成としているが、データI/Fの個数は幾つであっても良い。各データI/Fは装置内固有の識別子(データI/F ID)を持ち、本実施例においてはその値をs1、s2、s3、s4、s5、s6とする。
【００１５】
図5にはストレージ装置Aの詳細な構成例を示す。ストレージ装置40000は、ストレージ装置内の制御を行うコントローラ41000と、記憶領域43000と、管理用ネットワーク70000に接続する管理I/F44000と、ファイバチャネル60000に接続する一つ以上のデータI/F46000と、サーバおよびバーチャリゼーション装置に提供する記憶領域である一つ以上の実ボリューム47000を有し、これらはコントローラ41000を介して互に接続する。記憶領域43000には、SANマネージャ13100と通信してストレージ装置Aの管理情報を送受信するためのプログラムである管理エージェント43100と、ストレージ装置AのデータI/Fの管理情報を保持するデータI/F管理テーブル43200と、当該ストレージ装置Aの実ボリューム47000の管理情報を保持する実ボリューム管理テーブル43300とが格納されている。尚、本実施例ではストレージ装置Aは2個のデータI/Fと4個の実ボリュームを有するが、データI/F及び実ボリュームの個数は幾つであっても良い。各データＩ/F及び各実ボリュームは装置内固有の識別子(データI/F ID及びボリュームID)を持ち、本実施例ではデータI/F IDの値をc1、c2、ボリュームIDの値をva1、va2、va3、va4とする。
【００１６】
ストレージ装置Bも図5に示すストレージ装置Aと同様の構成を有する。なお本実施例では、ストレージ装置Bも2個のデータI/Fと4個の実ボリュームを有する。ストレージ装置BのデータI/F IDの値はd1、d2、ボリュームIDの値はvb1、vb2、vb3、vb4とする。
【００１７】
図8にはSAN管理サーバ10000が保持する装置検出リスト13500の一例を示す。図8の検出対象ID欄にはSAN管理サーバ内で任意に割当てられる番号が登録され、装置種別欄にはSAN内の装置の種類が登録され、装置情報欄には各装置のベンダ、各装置の名称等が登録され、IPアドレス情報欄には各装置の管理用ネットワーク70000上でのアドレスが登録され、仮想化機能欄には各装置が仮想化機能を備えているか否かが登録される。本リストに基づき、SANマネージャ13100は各装置の管理エージェントを特定して当該管理エージェントと通信する。
【００１８】
図9に各サーバ20000が保持するデータI/F管理テーブルの一例を示す。(a)はサーバAの、(b)はサーバBのテーブルであり、それぞれIDがa1、b1のデータI/Fに関する情報を保持している。図8のデータI/F ID欄には各サーバが有するデータI/FのIDの値が登録され、WWN(World Wide Name)欄には当該データI/FのWWNが登録され、SCSI ID欄にはデータI/Fの接続先であるSCSIターゲットデバイスの識別子(SCSI ID番号)が登録される。ここでWWNとはファイバチャネル60000上でデータI/Fを一意に識別するための識別子である。
【００１９】
図10に各サーバが保持するボリューム管理テーブルの一例を示す。(a)はサーバAの、(b)はサーバBのテーブルである。サーバAは二つのボリューム、サーバBは一つのボリュームの提供を受けており、各サーバはボリューム管理テーブルに自身が提供を受けているボリュームの情報を保持している。ボリューム管理テーブルのLU ID欄には、各サーバ内で自身が提供を受けているボリュームに対して任意に割当てた識別子が登録される。データI/F ID欄にはボリュームにアクセスするために使用するサーバ上のデータI/Fの識別子が登録され、SCSI ID欄には該データI/Fの接続先であるSCSIターゲットデバイスのSCSI ID番号が登録され、LUN欄にはSCSIターゲットデバイス内の当該ボリュームにアクセスするためのSCSIロジカルユニット番号が登録され、ボリューム情報欄には、SCSI INQUIRYコマンドなどにより取得可能な、サーバに対してボリュームを提供している装置のベンダ名、装置名、及び当該ボリュームの識別子が登録される。
【００２０】
図11にバーチャリゼーション装置30000が保持するFC接続管理テーブル33300の一例を示す。FC接続管理テーブルは、バーチャリゼーション装置30000のデータI/Fであるs1からs6の接続先に関する情報を保持する。FC接続管理テーブルのデータI/F ID欄にはバーチャリゼーション装置30000のデータI/FのIDの値が登録され、スイッチ側WWN欄には当該データI/FのWWNが登録され、接続先WWN欄には当該データI/Fが接続するサーバやストレージ装置上のデータI/FのWWNが登録される。
【００２１】
図12にバーチャリゼーション装置30000が保持するデータI/F管理テーブル33400の一例を示す。図12では、バーチャリゼーション装置30000がデータI/F  s1、s2から仮想ボリュームを提供しており、各サーバからはs1、s2が仮想データI/F vs1とvs2として認識されている場合を示す。データI/F管理テーブルのデータI/F ID欄にはバーチャリゼーション装置30000のデータI/FのIDの値が登録され、仮想データI/F ID欄には各サーバに当該データI/Fの識別子として認識させている識別子の値が登録され、SCSI ID欄には当該仮想データI/Fに割り当てられたSCSI ID番号が登録される。
【００２２】
図13にバーチャリゼーション装置30000が保持する仮想ボリューム管理テーブル33500の一例を示す。まず仮想ボリューム欄の内容を説明する。仮想データI/F ID欄には、バーチャリゼーション装置が有する仮想データI/Fの識別子の値（図12の仮想データI/F ID欄に登録される識別子の値）が登録され、SCSI ID欄には当該仮想データI/Fに割り当てられたSCSI ID番号が登録され、LUN欄には当該仮想データI/Fを介してサーバに提供される仮想ボリュームにアクセスするためのSCSIロジカルユニット番号が登録され、仮想ボリュームID欄には当該仮想データI/Fを介してサーバに提供している仮想ボリュームに対して任意に割り当てた識別子が登録される。本実施例においては、バーチャリゼーション装置30000は、仮想データI/F vs1から仮想ボリュームvv1を提供し、仮想データI/F vs2から仮想ボリュームvv2を提供している。ここで仮想ボリューム欄に仮想データI/F vs1に関するエントリが２つあるのは、後述するように仮想データI/F vs1から提供される仮想ボリュームvv1が２つの実ボリュームva2とvb1から構成されているためである。
【００２３】
次に仮想ボリューム管理テーブル33500の実ボリューム欄の内容を説明する。実データI/F ID欄には、仮想ボリュームID欄に登録された識別子が示す仮想ボリュームを構成している実ボリュームにアクセスするために使用される、バーチャリゼーション装置上のデータI/Fの識別子が登録される。SCSI ID欄には当該実データI/Fの接続先であるSCSIターゲットデバイスのSCSI ID番号が登録され、LUN欄には当該実データI/Fを介してストレージ装置から提供されるボリュームにアクセスするためのSCSIロジカルユニット番号が登録さる。実ボリューム情報欄には、SCSI INQUIRYコマンドなどにより取得可能な、当該実データI/Fを介してアクセスされる実ボリュームを提供しているストレージ装置の名称、当該実ボリュームの識別子及び記憶容量が登録される。尚、データI/F s4からアクセス可能な実ボリュームva3、va4及びデータI/F s6からアクセス可能な実ボリュームvb3は、バーチャリゼーション装置に認識されており、将来仮想ボリュームを構成してサーバに提供され得るが、現在は仮想ボリュームとしてサーバへ提供されてはいない。従って実ボリュームva3、va4、vb3に関する情報は実ボリューム欄にのみ登録されており、仮想ボリューム欄には登録されていない。また、データI/F s3からアクセス可能な実ボリュームva1は、バーチャリゼーション装置において仮想化されることなくサーバに提供されるため、va1に関する情報は仮想ボリューム管理テーブル33500に登録されていない。
【００２４】
図14にストレージ装置が保持するデータI/F管理テーブルの一例を示す。(a)はストレージ装置Aが、(b)はストレージBが有するテーブルである。データI/F管理テーブルのデータI/F ID欄には、ストレージ装置が有するデータI/Fの識別子の値が登録され、WWN欄には当該データI/FのWWNが登録される。
【００２５】
図15にストレージ装置が保持する実ボリューム管理テーブルの一例を示す。(a)はストレージ装置Aが、(b)はストレージ装置Bが有するテーブルである。実ボリューム管理テーブルの実ボリュームID欄にはストレージ装置が有する実ボリュームのIDの値が登録され、パス有無欄には当該実ボリュームに他の装置がアクセスする際に使用されるパスの有無が登録され、データI/F ID欄には当該ボリュームとアクセスするために使用されるストレージ装置上のデータI/Fの識別子の値が登録され、SCSI ID欄には当該データI/Fに割り当てられたSCSI ID番号が登録され、SCSI LUN欄には当該実ボリュームにアクセスするためのSCSIロジカルユニット番号が登録される。
【００２６】
(1-2)仮想ボリューム及び実ボリュームの構成管理処理
次に、SAN管理サーバ10000上のSANマネージャ13100が実施する、仮想ボリューム及び実ボリュームの構成管理処理について説明する。以下、特に明記のない限りは、各ステップはSANマネージャ13100が実施するものとする。
【００２７】
図16にSANマネージャ13100によって実行される実トポロジ及び仮想トポロジ表示処理の概要を表すフローチャート1700を示す。SANマネージャ13100は、装置検出リスト13500を元にSAN内の装置を検出し、各装置の管理エージェントと通信をして、各装置が保持する図9から図15に示す情報をコピーする(ステップ1710)。次にSANマネージャ13100はコピーした情報を実トポロジリポジトリ13400に格納する(ステップ1720)。その後、ステップ1720で格納した情報をもとに、後述する仮想ボリュームマッピング管理テーブル13300を作成する(ステップ1730)。さらに実トポロジリポジトリ13400内の情報と仮想ボリュームマッピング管理テーブル13300をもとに、後述する実ボリュームマッピング管理テーブル13200を作成する(ステップ1740)。最後に仮想ボリュームマッピング管理テーブル13300及び実ボリュームマッピング管理テーブル13200の内容をもとに、実トポロジと仮想トポロジを出力し(ステップ1750)、終了する。
【００２８】
図17にSANマネージャ13100によって実行される、仮想ボリュームマッピング管理テーブル作成ステップ1730の詳細な処理を表すフローチャートを示す。また図7に図17に示す処理によって作成される仮想ボリュームマッピング管理テーブル13300の一例を示す。
【００２９】
SANマネージャ13100は、各サーバから受信して実トポロジリポジトリ13400に格納した全てのボリューム管理テーブル23300について、各ボリューム管理テーブルの全てのエントリに対して、以下の処理を実行する(ステップ1810)。
【００３０】
まず、SANマネージャは、仮想ボリュームマッピング管理テーブルに新規エントリを作成し、新しく割り当てた仮想マッピングID13301を登録する。更にSANマネージャは現在処理中のボリューム管理テーブル23300の送信元サーバ名13302、ボリューム管理テーブルに記憶されているデータI/F ID13304及びLU ID13303を登録する(ステップ1820)。次にSANマネージャは、登録されたデータI/F13304が接続されるスイッチのデータI/Fを調査し、スイッチの名前13305とデータI/F ID13306を登録する。具体的には、SANマネージャはまず仮想ボリュームマッピング管理テーブル13300に登録されたサーバのデータI/F ID13304をキーとして、当該サーバから受信して実トポロジデポジトリ13400に格納されているデータI/F管理テーブル23200を検索し、当該データI/F IDのWWNを調べる。さらにSANマネージャは当該WWNをキーとして、バーチャリゼーション装置から受信して実トポロジデポジトリ13400に格納されているFC接続スイッチテーブル33300を検索し、当該サーバがどのスイッチのどのデータI/Fに接続しているかを検索し、結果を接続先スイッチ名13305と接続先スイッチデータI/F ID13306として登録する(ステップ1830)。以上の処理により、仮想ボリュームマッピング管理テーブル13300の左半分（サーバ欄）にサーバに関する情報が登録される。
【００３１】
次に、SANマネージャは仮想ボリュームマッピング管理テーブル13300の左半分（ストレージ欄）に情報を登録するための処理を行う。SANマネージャはボリューム管理テーブル23300にボリューム情報として登録されているベンダ名と装置名から、当該ボリューム管理テーブルに登録されているボリュームがバーチャリゼーション装置によって提供されているものか否かを調べる。具体的には、SANマネージャは装置名をキーとして装置検出リスト13500を検索し、当該装置が仮想化機能の有無をチェックし、仮想化機能を有する場合にはバーチャリゼーション装置から提供されているものと判断する。(ステップ1840)。尚本実施例ではボリュームがスイッチAから提供されている場合に当該ボリュームはバーチャリゼーション装置から提供されていると判断される。ステップ1840の結果により、以下のように処理が分岐する(ステップ1850)。
【００３２】
ボリュームがバーチャリゼーション装置以外の装置から提供されている場合、SANマネージャはボリューム管理テーブル23300のボリューム情報欄に登録されている装置名とボリュームIDを、仮想ボリュームマッピング管理テーブル13300のストレージ欄にストレージ名13309及びボリュームID13311として登録する。更にSANマネージャは、登録したボリュームID13311をキーとして、ストレージ装置から受信した実ボリューム管理テーブルを検索し、当該実ボリュームにアクセスするために使用されるデータI/FのIDを調査し、結果をストレージデータI/F ID13310として登録する(ステップ1860)。そしてSANマネージャは、登録したストレージデータI/F13310が接続されるスイッチのデータI/Fを調査し、スイッチの名前とデータI/F IDを登録する。具体的には、SANマネージャはまずストレージデータI/F ID13310をキーとして、当該ストレージ装置から受信したデータI/F管理テーブルを検索し、当該ストレージデータI/FのWWNを調べ、さらにWWNをキーとして、バーチャリゼーション装置から受信したFC接続スイッチテーブル33300を検索し、当該ストレージデータI/FがどのスイッチのどのデータI/Fに接続しているかを調査する。そしてSANマネージャは調査結果を接続先スイッチ名13307と接続先スイッチデータI/F ID13308として登録する(ステップ1870)。
【００３３】
ステップ1850においてボリュームがバーチャリゼーション装置から提供されていると判断した場合、SANマネージャは以下の処理を行う。まずSANマネージャはボリューム管理テーブル23300のボリューム情報欄に登録されている装置名とボリュームIDを仮想ボリュームマッピング管理テーブル13300にストレージ名13309及びボリュームID13311として登録する。更にSANマネージャは登録したボリュームID13311をキーとして、バーチャリゼーション装置から受信した仮想ボリューム管理テーブル33500を検索し、当該仮想ボリュームにアクセスするために使用されるバーチャリゼーション装置の仮想データI/FのIDを調査し、結果をストレージデータI/F ID13310として登録する(ステップ1861)。次に、バーチャリゼーション装置の当該仮想データI/Fに対応するスイッチのデータI/Fを調査し、スイッチの名前とデータI/F IDを登録する。具体的には、SANマネージャはストレージデータI/F ID13310をキーとして、バーチャリゼーション装置から受信したデータI/F管理テーブル33400を検索し、当該仮想データI/Fに対応するスイッチのデータI/F IDを調査して、結果を接続先スイッチ名13307と接続先スイッチデータI/F ID13308として登録する(ステップ1871)。
【００３４】
装置検出リスト13500に装置が未登録のためボリューム管理テーブル23300が実トポロジリポジトリ13400に格納されていない場合、及び、装置が管理I/Fを具備しない場合、ステップ1850では例外的に装置の種類を判断することができない。このようなボリューム管理テーブル23300のボリューム情報欄に登録されている情報がない場合は、ストレージ欄を空欄にする(ステップ1862)。
【００３５】
以上のステップを、各サーバから受信され実トポロジリポジトリ13400に格納された全てのボリューム管理テーブルの全エントリに対して、SANマネージャが実行したとき、ステップ1730の処理は終了する。
【００３６】
図18に、SANマネージャ13100が行う実ボリュームマッピング管理テーブル作成ステップ1740の詳細な処理フローを示す。又図6に図18に示す処理によって作成される実ボリュームマッピング管理テーブルの一例を示す。
【００３７】
SANマネージャ13100は、ステップ1730で作成した仮想ボリュームマッピング管理テーブル13300の全てのエントリに対して、以下の処理を実行する(ステップ1910)。
【００３８】
まず、SANマネージャは新規エントリを作成し、新しく割り当てた実マッピングID13201を登録する(ステップ1920)。次に、SANマネージャは仮想ボリュームマッピング管理テーブル13300の各エントリのストレージ名13309をもとに、当該ストレージ名が示す装置が仮想化機能を持つかどうか判断する。具体的には、ストレージ名13309をキーとして装置検出リスト13500を検索し、当該装置の仮想化機能の有無をチェックする(ステップ1930)。
【００３９】
仮想化機能を有する場合、SANマネージャは以下のステップを実行する。SANマネージャは、仮想ボリュームマッピング管理テーブルエントリ中のボリュームID13311をキーとして、ストレージ名13309が示す装置から受信した仮想ボリューム管理テーブル33500を検索し、ボリュームID13311と一致する仮想ボリュームIDのエントリを抽出する(ステップ1940)。次にSANマネージャは、検索して得られたエントリの数と同数のエントリを実ボリューム管理マッピングテーブルに用意する(ステップ1950)。そして、SANマネージャは、用意したエントリに対して、サーバ欄（13202から13206）には仮想ボリュームマッピング管理テーブル13300の現在処理中のエントリのサーバ欄の内容（13302から13306）をコピーする。ストレージ欄のスイッチデータI/F ID欄13208にはステップ1940で抽出した仮想ボリューム管理テーブル33500のエントリの、実ボリューム情報欄の実データI/F IDの内容をコピーする。また、ストレージ欄のストレージ名エントリ13209及びボリュームIDエントリ13211には、仮想ボリューム管理テーブル33500の当該エントリの、実ボリューム情報欄の実ボリューム情報として登録されているストレージ名及びボリュームIDをコピーする。また対応仮想マッピングID欄13212には仮想ボリュームマッピング管理テーブル13300中の仮想マッピングID13301の内容を登録する。ストレージ欄のスイッチ名欄13207には仮想ボリュームマッピング管理テーブルのストレージ欄のスイッチ名13307の内容をコピーする(ステップ1960)。更に、SANマネージャは、実ボリュームマッピング管理テーブル13212のストレージ欄のボリュームID13211に登録したボリュームIDをキーとして、ストレージ装置から受信した実ボリューム管理テーブル43300を検索して、当該ボリュームが接続されるデータI/FのIDを検索し、これを仮想ボリュームマッピング管理テーブルのストレージ欄のストレージデータI/F ID13210に登録する。
【００４０】
ステップ1930にて仮想化機能を有しないとの判断がされた場合、SANマネージャは、仮想ボリュームマッピング管理テーブル13300の現在処理中のエントリ(13302から13311)を実ボリュームマッピング管理テーブル13200のエントリ（13202から13211）へコピーし、仮想ボリュームマッピング管理テーブル13300の仮想マッピングID13301の内容を実ボリュームマッピング管理テーブル13200の対応仮想マッピングID13212に登録する。
【００４１】
以上の処理により実ボリュームマッピング管理テーブル13200のエントリ13201から13212までが登録される。
【００４２】
以上のステップを仮想ボリュームマッピング管理テーブル13300の全てのエントリに対してSANマネージャが実行したとき、ステップ1740に示す処理が終了する。
【００４３】
図6および図7で示されたマッピングテーブルをもとに、SANマネージャ13100が出力手段15000に出力する実トポロジ表示及び仮想トポロジ表示の例を図19に示す。実ボリュームマッピング管理テーブル13200の内容をもとに、サーバ、スイッチ、ストレージ間の接続関係を表した出力例が実トポロジ表示2010であり、仮想ボリュームマッピング管理テーブル13300の内容をもとに、サーバ、スイッチ、ストレージ（仮想ストレージを含む）の間の接続関係を表した出力例が仮想トポロジ表示2020である。
【００４４】
例えばSAN管理者が、SAN管理サーバの入力手段に対して、仮想トポロジ表示2020上の、仮想ボリュームvv1からサーバAまでの仮想マッピング2021を指定する指示を与えた場合を考える。仮想マッピング2021は図7に示す仮想ボリュームマッピング管理テーブル13300中で仮想マッピングID13301がvm2である行に登録されたデータに基づいて表示されている。そこで仮想マッピング2021がSAN管理者によって指定されると、SANマネージャは仮想マッピング2021に対応する仮想マッピングID vm2をキーとして、図６に示す実ボリュームマッピング管理テーブル13200を検索する。そしてSANマネージャは、実ボリュームマッピング管理テーブル13200中で対応仮想マッピングID13212がvm2である行全てに登録されているデータに基づいて、実トポロジ表示2010内に実マッピングを表示する。この結果表示される実マッピングが図１９に示す実マッピング2011である。
また、例えばSAN管理者が、SAN管理サーバの入力手段に対して、実トポロジ表示2010上の、実ボリュームva2からサーバAまでの実マッピングを指定する指示を与えた場合を考える。実ボリュームva2からサーバAまでの実マッピングは、図6に示す実ボリュームマッピング管理テーブル13200中で実マッピングID13201がpm2である行に登録されたデータに基づいて表示されている。そこで当該実マッピングがSAN管理者によって指定されると、SANマネージャは当該実マッピングのエントリに格納された仮想マッピングID13212の値 vm2をキーとして、図7に示す仮想ボリュームマッピング管理テーブル13300を検索する。そしてSANマネージャは、仮想ボリュームマッピング管理テーブル13300中で仮想マッピングID13212がvm2である行に登録されているデータに基づいて、仮想トポロジ表示2020内に仮想マッピング2021を表示する。また、SANマネージャは、仮想マッピングID13212の値 vm2をキーとして、図6に示す実ボリュームマッピング管理テーブル13200も検索し、仮想マッピングID13212の値が vm2である他の実マッピングの行を検索する。もし照合するものがあれば、実トポロジ表示2010内に照合された実マッピングを表示する。この結果表示される仮想マッピングが図19に示す仮想マッピング2021である。
【００４５】
これらの結果、SAN管理者は実ボリュームと仮想ボリュームの対応関係を相互のトポロジ表示を起点として容易に知ることができる。
【００４６】
本実施例で示した仮想ボリュームと実ボリュームの構成管理技術により、SAN管理者はSANの構成が複雑になっても、サーバと仮想ボリュームの関係および仮想ボリュームと実ボリュームの関係を容易に把握することができる。
【００４７】
<実施例2-バーチャリゼーション装置の障害監視->
以下に、バーチャリゼーション装置の障害監視機能の一例について示す。現在のSAN管理ソフトによる障害監視機能は、IETF(Internet Engineering Task Force)で作成されたRFC1157「A Simple Network Management Protocol (SNMP)」によって定められたSNMPプロトコルのTrapメッセージを利用することが多い。しかし、仮想ストレージ技術によってサーバに割り当てられるボリュームは仮想化されているため、仮想ボリュームレベルで障害箇所を特定するのは困難である。
【００４８】
そこで本実施例では、SAN管理サーバが図２に示す構成に加え、SAN内の各装置から受信する障害通知メッセージの内容を解釈するためのイベント変換リストを保持する。各装置が発行する障害通知を受けたSANマネージャは、イベント変換リストや、各管理エージェントから取得して実トポロジリボジトリに格納したSANの構成情報をもとに、その障害が実ボリュームへのI/Oアクセスに与える影響を検出する。さらに、SANマネージャは仮想ボリュームマッピング情報を参照し、その障害が仮想ボリュームへのI/Oアクセスに与える影響を検出する。そして、これらの検出結果をSANマネージャは仮想ボリュームマッピング情報と実ボリュームマッピング情報に関連付けて出力することによって、SAN管理者の障害特定と障害対策の負荷を軽減する。
【００４９】
(2-1)実施例2のSANの構成
実施例2におけるSAN及びSAN内の各装置の構成は実施例1で示した構成にほぼ等しいので、異なる点のみ説明する。
【００５０】
図20に実施例2におけるSAN管理サーバ10000の構成例を示す。実施例2においては、SAN管理サーバ10000が記憶領域13000内に、SAN内の各装置から受信する障害通知メッセージの内容を解釈するための一つ以上のイベント辞書13600と、イベント内容を記録するための障害ログ13700を有する。
【００５１】
図26にSAN管理サーバ10000上のSANマネージャがSAN内の各装置から受信するSNMP Trapメッセージのフォーマットと、SNMP Trapメッセージの一例を示す。ここでSNMP Trapメッセージとは、SAN内の各装置の管理エージェントがSAN管理サーバ10000に対して送信する障害通知メッセージのことである。図26(a)は、SNMP Trapメッセージのフォーマットを図示したものである。SNMPメッセージは、メッセージヘッダと、メッセージ送信先のコミュニティ名と、メッセージ種別を示すPDU(Protocol Data Unit) Typeと、送信元装置のベンダ名を示すEnterpriseと、送信先IPアドレスを示すAgent Addressと、Trapメッセージの種別を示すGeneric Trap TypeおよびSpecific Trap Typeと、メッセージの送信時刻を示すTimestampと、メッセージ内容を格納するVariable Bindingsのフィールドから構成される。PDU Typeフィールドの値が"4"のとき、当該メッセージはSNMP Trapメッセージであると識別される。またGeneric Trap Typeフィールドの値が"6"のとき、当該SNMP Trapメッセージは送信元装置ベンダ固有の定義に基づくTrapメッセージと識別され、各ベンダによって定義されたSpecific Trap TypeフィールドとVariable Bindingsフィールド(図中下線部)の内容にもとづきTrapメッセージを解釈する必要がある。
【００５２】
本実施例において、ストレージA 40000が自装置のハードウェア障害を通知するために送信するSNMP Trapメッセージの一例を図26(b)に示す。図26(b)に示すメッセージは、PDU Typeが”4”であることからSNMP Trapメッセージであると認識され、Generic Trap Typeが”6”であることから送信元ベンダ固有の定義に基づくTrapメッセージであると認識される。更に本実施例においては、Specific Trap Typeには障害種別を、Variable Bindingsには障害発生部位を示す障害コードを格納するようベンダが定義しているものとする。従って図26(b)に示すSNMP Trapメッセージは、障害コード30c1で識別される部位にハードウェア障害が生じている旨を表している。
【００５３】
図21に、SAN管理サーバ10000がイベント辞書13600中に有するストレージAに関するSNMP Trapメッセージの変換リストの例を示す。本リストは、ストレージAが発行するSNMP TrapメッセージのVariable Bindingsフィールド中の障害コードが、どの部位の障害を示すかを一覧にしたものであり、各障害コードに対応する障害発生部位と当該障害発生部位の識別子が登録されている。
【００５４】
図22にはSAN管理サーバ10000が有する障害ログ13700を示す。障害ログにはSANマネージャが障害通知メッセージを受信した時に割り当てるイベントID、障害通知メッセージの送信元装置名、障害が発生している装置内の部位、当該部位を含む実マッピングのIDと、当該部位を含む仮想マッピングのIDが登録される
(2-2)実施例2のバーチャリゼーション装置の障害監視処理
図23にSAN管理サーバ10000上のSANマネージャ13100が実施する、障害監視処理のフローチャート2400を示す。以下、特に明記のない場合は、各ステップはSANマネージャ13100が実施するものとする。
【００５５】
SANマネージャ13100は、ある装置からのSNMP Trapメッセージが受領されるまで待つ(ステップ2410)。メッセージを受領したら、SANマネージャはメッセージのAgent Addressフィールドから、メッセージ発行元の装置のIPアドレスを抽出し(ステップ2415)、抽出したIPアドレスをキーとして実トポロジリポジトリ13400に格納されている装置検出リスト13500を検索する(ステップ2420)。
【００５６】
IPアドレスが装置検出リスト13500内に存在しない場合は、未登録の装置からのTrapメッセージであるためSANマネージャはTrapメッセージの内容を解析できない。従ってSANマネージャは障害ログ13700に新規エントリを作成し、イベントIDを割当て、障害装置としてIPアドレスを、障害部位としてTrapメッセージそのものを出力し(ステップ2465)、処理を終了する。
【００５７】
ステップ2420において、抽出したIPアドレスが装置検出リスト13500内に存在し、Trapメッセージ発行元の装置が特定できた場合、SANマネージャはSAN管理サーバ10000が当該装置のイベント変換リストを具備しているか確認する(ステップ2425)。イベント変換リストを具備している場合は、SANマネージャは障害ログ13700に新規エントリを作成し、イベントIDを割当てると共に、装置名を登録する(ステップ2430)。続いてSANマネージャはTrapメッセージのVariable Bindingsフィールドをキーとしてイベント変換リストを検索し、障害部位を特定し、障害部位とその識別子を障害ログ13700に登録する(ステップ2430)。ステップ2425でイベント変換リストを具備していないと判断した場合は、SANマネージャは障害ログ13700に新規エントリを作成し、イベントIDを割当てるとともに、装置名を登録する(ステップ2431)。また、SANマネージャは障害部位は装置全体みなし、装置全体を障害ログ13700に障害部位として登録し、以降のステップを継続する(ステップ2436)。
【００５８】
障害ログ13700に障害部位を登録した後、SANマネージャは登録した障害部位が実ボリュームと関係があるかを調査する(ステップ2440)。具体的には、SANマネージャは、障害装置名及び障害部位または障害部位の識別子をキーとして、実ボリュームマッピング管理テーブル13200に一致するエントリがあるか検索する。一致するエントリがあれば、SANマネージャはそのエントリから実マッピングID13201と仮想マッピングID13212を抽出し、障害ログ13700の作成中エントリに各々実ボリューム、仮想ボリュームとしてコピーする(ステップ2445)。最後にSANマネージャは作成した障害ログのエントリ内容を障害メッセージとして出力する(ステップ2450)。以上でフローチャート2400を終了する。
【００５９】
図22は、ストレージAからデータI/F c2の障害を示す障害コード30c2を含むSNMP Trapメッセージが発行された場合に、このSNMP Trapメッセージを受信したSANマネージャが図23に示す処理を実行した結果作成される障害ログを示している。ストレージAのデータI/F c2は実ボリューム管理テーブル13200内で仮想マッピングID vm2と対応付けられており、仮想マッピングID vm2は実ボリューム管理テーブル13200内で実マッピングID pm2及び実マッピングID pm3と対応付けられているから、障害ログ13700は図22に示すような内容となる。
【００６０】
図24には、SANマネージャが、図19に示す実トポロジ表示および仮想トポロジ表示に図22に示す障害ログの内容を反映させて出力手段15000に出力する障害通知メッセージの例を示す。
【００６１】
実ボリュームマッピング管理テーブル13200の内容をもとにした出力例が実トポロジ表示2010であり、実トポロジ表示内には障害ログ13700に登録された実マッピングIDが示す実マッピングが、障害の影響を受ける実マッピング2111として表示される。更に、障害ログ13700に登録された障害装置名、障害部位、及び障害ログに登録された実マッピングIDと対応付けられて実ボリュームマッピング管理テーブル13200に登録されているLU ID13203が表示される(実トポロジ表示内障害通知メッセージ2012)。
【００６２】
更にSANマネージャは、仮想ボリュームマッピング管理テーブル13300の内容をもとに出力する仮想トポロジ表示2020に、障害ログ13700に登録された仮想マッピングIDが示す仮想マッピングを、障害の影響を受ける仮想マッピング2121として表示する。また、障害ログ13700に登録された障害装置名、障害部位、及び障害ログに登録された仮想マッピングIDと対応付けて仮想マッピング管理テーブル13300に登録されているボリュームID13311も表示される(仮想トポロジ表示内障害通知メッセージ2022)。
【００６３】
本実施例で示したバーチャリゼーション装置の障害監視方法を用いることで、SAN管理者は、各装置のハードウェア障害が実ボリュームおよび仮想ボリュームにどのような影響を与えるかを容易に把握することができる。
【００６４】
<実施例3-ボリュームの構成変更チェック->
バーチャリゼーション装置による仮想ボリューム管理機能により、SAN管理者は多数の異種ストレージ装置の実ボリュームを意識することなく、サーバに対して仮想ボリュームを割り当てることができる。しかし、例えば性能や信頼性などを考慮してサーバに仮想ボリュームを割り当てる場合は、SAN管理者は仮想ボリュームを構成する実ボリューム及びサーバとその実ボリュームとの間の接続関係を意識して仮想ボリュームを割り当てたい場合がある。また、24時間365日無停止稼動というように高い可用性と信頼性が求められるSANでは、万一の障害に備え、正常系と待機系という、フェイルオーバー可能な構成をとる。このような環境では、正常系と待機系が資源を共有しないよう、物理構成を意識したシステム設計が必要になる。したがって、バーチャリゼーション環境下で仮想ボリュームないしは実ボリュームを作成する際にも、そのボリュームがどのような物理資源によって提供されるかをチェックする機能が必要になる。
【００６５】
そこで、本実施例では、SAN管理者がSANマネージャを利用して仮想ボリュームを作成する時、SANマネージャが関連する仮想ボリュームマッピング情報ないしは実ボリュームマッピング情報を提供し、SAN管理者の仮想ボリューム作成作業を支援する技術について説明する。本実施例では、SAN管理サーバが仮想ボリュームマッピング情報ないしは実ボリュームマッピング情報をもとにSAN管理者の仮想ボリューム作成要求をチェックし、作成要求中のボリュームが既に割当済みのボリュームと資源を共有する場合にはその旨を出力してSAN管理者に通知するよう、SAN管理サーバを構成する。
【００６６】
本実施例におけるSANの構成、SAN内の各装置の構成は実施例１に示す構成と同様である。但し、本実施例においてはSAN管理サーバが図２に示す構成に加え、更にキーボードやマウス等の入力装置を備えている。
【００６７】
図25にSAN管理サーバ10000上のSANマネージャ13100が実施する、ボリュームの構成変更チェック処理のフローチャート2600を示す。以下、特に明記のない場合は、各ステップはSANマネージャ13100が実施するものとする。SANマネージャ13100は、SAN管理者からボリューム割当のための入力値を受け付ける(ステップ2610)。ここで入力値とは、SAN管理者が作成しようとしている仮想ボリュームの属性(割当先サーバ、容量、要求する性能など)である。また、実トポロジリポジトリ13400内にコピーされた仮想ボリューム管理テーブル14130には、バーチャリゼーション装置30000が認識済みであるが、未だ仮想ボリュームとして使用されていない実ボリューム(以下未使用実ボリューム)の情報も登録されている。したがって、SAN管理者が容量や性能を入力するのではなく、仮想ボリュームを作成するための一つ以上の未使用ボリュームを入力して未使用ボリュームを直接指定することも考えられる。
【００６８】
与えられた入力値をキーとして、SANマネージャ13100は、実ボリュームマッピング管理テーブル13200及び仮想ボリュームマッピング管理テーブル13300を検索する(ステップ2620)。具体的にはSANマネージャ13100は、SAN管理者から受け付けた割当先サーバをキーとして実ボリュームマッピング管理テーブル及び仮想ボリュームマッピング管理テーブルを検索し、当該割当先サーバに既に割り当てられている仮想ボリュームとその仮想ボリュームに対応する実ボリューム情報を抽出する。また入力値として仮想ボリュームを構成する未使用ボリュームが指定されていない場合は、SANマネージャは容量など入力値が示す条件に合致する一つ以上の未使用ボリュームの情報を、仮想ボリューム管理テーブル33500を検索して抽出する。
【００６９】
SANマネージャは検索結果に基づき、これから割り当てる仮想ボリュームを構成する未使用ボリュームの一覧と、割当先サーバに既に割当済みの仮想ボリューム及び該仮想ボリュームに対応する実ボリューム情報を出力する。(ステップ2630)。この際、これからサーバに割り当てられる未使用ボリュームと、このサーバに既に割当済みの仮想ボリューム及び該仮想ボリュームに対応する実ボリュームとの間で資源を共有する場合（例えば、同じストレージ装置が有する実ボリュームがある場合）にはその旨を出力する。これによって、SAN管理者は正常系と待機系とが資源を共有しないよう（例えば、同じストレージ装置の記憶領域を使用しないよう）サーバに仮想ボリュームを割り当てることが可能となる。即ち、SAN管理者は、これからサーバに割り当てられる未使用ボリュームと、このサーバに割当済みのボリュームとが資源を共有する旨のメッセージが出力された場合には、構成変更を実施しない旨をSAN管理サーバに入力すればよい。そしてSAN管理者は出力された情報をもとにSAN管理者が構成変更を実施するかどうか判断した結果を受け付け(ステップ2640)、変更を実施してもよければ変更を実施する(ステップ2650)。そうでなければ変更を中止する(ステップ2660)。以上でフローチャート2600を終了する。尚、これからサーバに割り当てられる未使用ボリュームと、このサーバに既に割当済みのボリュームとが資源を共有する場合には、SAN管理サーバが、構成変更を実施しないよう制御することとしてもよい。
【００７０】
本実施例で示したボリュームの構成変更チェック処理により、SAN管理者は、仮想ボリューム管理機能が稼動している状況下においても、容易に実ボリュームを意識した仮想ボリューム作成が可能となる。
【００７１】
尚、以上で説明した実施例１、実施例２、実施例３においては、スイッチ30000がバーチャリゼーション機能を備えているネットワーク構成を想定していたが、スイッチ30000とは異なる装置をバーチャリゼーション装置として管理ネットワーク70000及びSAN60000に接続した構成であっても、上述の実施例１、２、３は同様の処理により実現可能である。
【００７２】
【発明の効果】
本発明により、ストレージネットワークの実ボリュームと仮想ボリュームの対応関係を、SAN管理者が容易に把握できるようになる。
【図面の簡単な説明】
【図１】ストレージネットワークシステムの構成例を示す図である。
【図２】SAN管理サーバの構成例を示す図である。
【図３】サーバの構成例を示す図である。
【図４】バーチャリゼーション装置の構成例を示す図である。
【図５】ストレージ装置の構成例を示す図である。
【図６】SAN管理サーバが保持する実ボリュームマッピング管理テーブルの例を示す図である。
【図７】SAN管理サーバが保持する仮想ボリュームマッピング管理テーブルの例を示す図である。
【図８】SAN管理サーバが保持する装置検出リストの例を示す図である。
【図９】サーバが保持するデータI/F管理テーブルの例を示す図である。
【図１０】サーバが保持するボリューム管理テーブルの例を示す図である。
【図１１】バーチャリゼーション装置が保持するFC接続管理テーブルの例を示す図である。
【図１２】バーチャリゼーション装置が保持するデータI/F管理テーブルの例を示す図である。
【図１３】バーチャリゼーション装置が保持する仮想ボリューム管理テーブルの例を示す図である。
【図１４】ストレージが保持するデータI/F管理テーブルの例を示す図である。
【図１５】ストレージが保持する実ボリューム管理テーブルの例を示す図である。
【図１６】SAN管理サーバが行うストレージネットワークの実トポロジ及び仮想トポロジ表示処理の一例を示すフローチャートである。
【図１７】SAN管理サーバが行う仮想ボリュームマッピング管理テーブル作成ステップの詳細な処理内容の一例を示すフローチャートである。
【図１８】SAN管理サーバが行う実ボリュームマッピング管理テーブル作成ステップの詳細な処理内容の一例を示すフローチャートである。
【図１９】SAN管理サーバが出力する実トポロジ表示及び仮想トポロジ表示の一例を示す図である。
【図２０】SAN管理サーバの他の構成例を示す図である。
【図２１】SAN管理サーバが保持するストレージに関するイベント変換リストの例を示す図である。
【図２２】SAN管理サーバが保持する障害ログの例を示す図である。
【図２３】SAN管理サーバが行う障害監視処理の一例を示すフローチャートである。
【図２４】SAN管理サーバが出力する、障害通知表示の一例を示す図である。
【図２５】SAN管理サーバが行うボリュームの構成変更チェック処理の一例を示すフローチャートである。
【図２６】SNMP Trapメッセージの構成例を示す図である。
【符号の説明】
10000…SAN管理サーバ
13100…SANマネージャ
20000…サーバ
30000…バーチャリゼーション装置
40000…ストレージA
50000…ストレージB
23100…サーバの管理エージェント
33100…スイッチの管理エージェント
43100…ストレージAの管理エージェント
53100…ストレージBの管理エージェント
47000…ストレージAの実ボリューム
57000…ストレージBの実ボリューム
【図１】
0004202709.tif 000002
【図２】
0004202709.tif 000003
【図３】
0004202709.tif 000004
【図４】
0004202709.tif 000005
【図５】
0004202709.tif 000006
【図６】
0004202709.tif 000007
【図７】
0004202709.tif 000008
【図８】
0004202709.tif 000009
【図９】
0004202709.tif 000010
【図１０】
0004202709.tif 000011
【図１１】
0004202709.tif 000012
【図１２】
0004202709.tif 000013
【図１３】
0004202709.tif 000014
【図１４】
0004202709.tif 000015
【図１５】
0004202709.tif 000016
【図１６】
0004202709.tif 000017
【図１７】
0004202709.tif 000018
【図１８】
0004202709.tif 000019
【図１９】
0004202709.tif 000020
【図２０】
0004202709.tif 000021
【図２１】
0004202709.tif 000022
【図２２】
0004202709.tif 000023
【図２３】
0004202709.tif 000024
【図２４】
0004202709.tif 000025
【図２５】
0004202709.tif 000026
【図２６】
0004202709.tif 000027