(57)【特許請求の範囲】
【請求項１】
ネットワークを介して通信可能に接続されたホストコンピュータとストレージシステムとを備えたシステムであって、
前記ストレージシステムは、
前記ホストコンピュータからのＩ／Ｏ操作を受信する第一及び第二の物理ポートと、
前記第一の物理ポートに結合する第一の複数の論理ボリュームと、
前記第二の物理ポートに結合する第二の複数の論理ボリュームと、
メモリ及びプロセッサを備えるストレージコントローラと、を含み、
前記第一及び第二の物理ポートのそれぞれには物理識別子が割り当てられ、さらに、前記第一及び第二の物理ポートは、それぞれに仮想識別子が割り当てられた仮想ポートを複数有し、
同一の仮想識別子を割り当てられた前記仮想ポートが異なる前記物理ポートに配置され、
前記ホストコンピュータは、前記複数の仮想ポートのうちの第一の仮想ポートを経由して前記第一及び第二の物理ポートの両方にアクセス可能であり、
前記ストレージコントローラは、前記仮想識別子と該仮想識別子が割り当てられた前記仮想ポートに紐づく前記物理ポート及び前記論理ボリュームとの対応を示す仮想ポート情報、及び前記仮想ポートにおける通信を前記仮想ポート単位で統計した仮想ポート統計情報を前記メモリに保存し、
前記メモリに保存される前記仮想ポート情報は、前記第一の仮想ポートに割り当てられたＷＷＰＮである第一の仮想識別子と前記第一及び第二の物理ポートに割り当てられた複数の物理識別子との対応を示す情報を含み、
前記ストレージコントローラは、前記メモリに保存された前記仮想ポート情報に基づいて、前記仮想ポートに向けられた前記ホストコンピュータからのＩ／Ｏ処理をコントロールし、
前記ホストコンピュータからのＩ／Ｏ操作として前記第一の論理ボリュームへ書き込むべき書き込みコマンドが実行される場合に、前記ストレージコントローラは、前記メモリに保存された前記仮想ポート情報が示す前記第一の仮想識別子と前記第一の論理ボリュームの番号との間の関係に基づいて、前記第一の物理ポートを経由して前記第一の論理ボリュームに転送すべきデータをコントロールし、
前記ホストコンピュータからのＩ／Ｏ操作として前記第二の論理ボリュームへ書き込むべき書き込みコマンドが実行される場合に、前記ストレージコントローラは、前記メモリに保存された前記仮想ポート情報が示す前記第一の仮想識別子と前記第二の論理ボリュームの番号との間の関係に基づいて、前記第二の物理ポートを経由して前記第二の論理ボリュームに転送すべきデータをコントロールする
ことを特徴とするシステム。
【請求項２】
前記メモリは、前記論理ボリューム、前記仮想識別子及び前記物理ポート間の関係を保存する
ことを特徴とする請求項１に記載のシステム。
【請求項３】
前記ストレージコントローラは、前記第一の仮想ポートの統計を取得する
ことを特徴とする請求項１に記載のシステム。
【請求項４】
前記ストレージシステムに結合して前記ストレージシステムから物理ポートの統計を受信して、該物理ポートの統計をベースに計算された前記第一の仮想ポートの統計をユーザに表示する、管理サーバを更に含む
ことを特徴とする請求項１に記載のシステム。
【請求項５】
前記第一の仮想ポートの前記統計は、送受信バイト数又はレスポンスタイムを含む
ことを特徴とする請求項３に記載のシステム。
【請求項６】
ボリューム生成要求に応答して、前記ストレージコントローラは、前記ホストコンピュータからのボリュームへのアクセスを禁止し、仮想ポート又は物理ポートの何れかにボリュームをアサインし、該アサイン済ポートに関連してボリューム情報を更新する
ことを特徴とする請求項１に記載のシステム。
【請求項７】
ホストコンピュータからＩ／Ｏ操作を受信する第一及び第二の物理ポートと、
前記第一の物理ポートに結合する第一の複数の論理ボリュームと、
前記第二の物理ポートに結合する第二の複数の論理ボリュームと、
メモリ及びプロセッサを備えるストレージコントローラと、を含み、
前記第一及び第二の物理ポートのそれぞれには物理識別子が割り当てられ、さらに、前記第一及び第二の物理ポートは、それぞれに仮想識別子が割り当てられた仮想ポートを複数有し、
同一の仮想識別子を割り当てられた前記仮想ポートが異なる前記物理ポートに配置され、
前記ストレージコントローラは、
前記仮想識別子と該仮想識別子が割り当てられた前記仮想ポートに紐づく前記物理ポート及び前記論理ボリュームとの対応を示す仮想ポート情報、及び前記仮想ポートにおける通信を前記仮想ポート単位で統計した仮想ポート統計情報を前記メモリに保存し、
前記メモリに保存された前記仮想ポート情報に基づいて、前記仮想ポートに向けられた前記ホストコンピュータからのＩ／Ｏ処理をコントロールする
ことを特徴とするストレージシステム。
【請求項８】
前記メモリに保存される前記仮想ポート情報は、第一の前記仮想ポートに割り当てられたＷＷＰＮである第一の仮想識別子と前記第一及び第二の物理ポートに割り当てられた複数の物理識別子との対応を示す情報を含む
ことを特徴とする請求項７に記載のストレージシステム。
【請求項９】
前記ホストコンピュータからの前記第一の複数の論理ボリュームへ書き込むべき書き込みコマンドに応答して、前記ホストコンピュータは、前記第一の仮想識別子により前記第一の仮想ポートをターゲットにして前記ストレージシステムにアクセスし、前記ストレージコントローラは、前記仮想ポート情報を使用して、前記第一の物理ポートを経由して、前記第一の複数の論理ボリュームに転送すべきデータをコントロールし、更に、
前記ホストコンピュータからの前記第二の複数の論理ボリュームへ書き込むべき書き込みコマンドに応答して、前記ホストコンピュータは、前記第一の仮想識別子により前記第一の仮想ポートをターゲットにして前記ストレージシステムにアクセスし、前記ストレージコントローラは、前記仮想ポート情報を使用して、前記第二の物理ポートを経由して、前記第二の複数の論理ボリュームに転送すべきデータをコントロールする
ことを特徴とする請求項８に記載のストレージシステム。
【請求項１０】
前記メモリに保存される前記仮想ポート情報は、第二の前記仮想ポートに割り当てられた第二の仮想識別子と前記複数の物理識別子との間の対応を示す情報を含み、更に、
前記ストレージコントローラは、前記メモリに保存された前記仮想ポート情報に基づいて、前記第二の仮想ポートに向けられた前記ホストコンピュータからのＩ／Ｏ操作をコントロールする
ことを特徴とする請求項８に記載のストレージシステム。
【請求項１１】
前記メモリに保存される前記仮想ポート統計情報は、前記第一及び第二の物理ポートの統計、及び前記第一及び第二の仮想ポートの統計を更に含み、更に、
前記第一及び第二の物理ポートの各々は監視され、前記第一及び第二の仮想ポートの各々の前記統計は、前記第一及び第二の仮想ポートの各々に含まれる前記第一及び第二の物理ポートの前記監視された統計に基づいて、計算される
ことを特徴とする請求項１０に記載のストレージシステム。
【請求項１２】
前記メモリに保存される前記仮想ポート統計情報は、送受信されたバイト数及びレスポンスタイムを含む統計を更に含み、更に
前記計算は、前記第一及び第二の仮想識別子と前記第一及び第二の物理識別子との間の対応を示す前記仮想ポート情報を使用して前記プロセッサが実行する
ことを特徴とする請求項１１に記載のストレージシステム。
【請求項１３】
ネットワークを経由して前記ストレージシステムに結合し、プロセッサを備える管理コンピュータを更に含み、
前記メモリに保存される前記仮想ポート統計情報は、前記第一及び第二の物理ポート並びに前記第一及び第二の仮想ポートの統計を更に含み、
前記管理コンピュータは、前記ストレージシステムから前記第一及び第二の物理ポートの監視結果を示す情報を受け取り、前記管理コンピュータの前記プロセッサは、前記第一及び第二の仮想ポートの各々の前記統計を計算し、更に、
前記第一及び第二の物理ポートの各々は監視され、前記第一及び第二の仮想ポート各々の前記統計は、前記第一及び第二の仮想ポートの各々に含まれる前記第一及び第二の物理ポートの前記監視された統計に基づいて、計算される
ことを特徴とする請求項１０に記載のストレージシステムを含むシステム。
【請求項１４】
ボリューム生成要求に応答して、前記ストレージコントローラは、前記ホストコンピュータからのボリュームへのアクセスを禁止し、仮想ポート又は物理ポートの何れかにボリュームをアサインし、前記メモリに保存されたボリューム情報を更新する
ことを特徴とする請求項１０に記載のストレージシステム。
【請求項１５】
仮想ポート生成コマンドに応答して、前記ストレージコントローラは、前記ホストコンピュータからのボリュームへのアクセスを禁止し、第三の仮想識別子を持つ第三の仮想ポートにボリュームをアサインし、前記メモリに保存された前記第三の仮想識別子と前記複数の物理識別子との対応情報を更新し、該アクセス禁止を解除する
ことを特徴とする請求項１０に記載のストレージシステム。
【請求項１６】
前記第一の複数の論理ボリュームの幾つかと前記第二の複数の論理ボリュームの幾つかとは、前記第三の仮想識別子を使用して前記メモリ内の情報により確立した、前記第三の仮想ポートにアサインされる
ことを特徴とする請求項１５に記載のストレージシステム。
【請求項１７】
前記第一の仮想ポートに対する、前記第一の物理ポートから第二の物理ポートへの仮想ポート移動コマンドに応答して、前記ストレージコントローラは、前記ホストコンピュータからの、前記第一の仮想ポートに結合したボリュームへのアクセスを禁止し、前記第一の仮想識別子と前記第一の物理識別子との間の対応情報を前記第一の仮想識別子と前記第二の物理識別子との間の対応情報に更新し、該アクセス禁止を解除する
ことを特徴とする請求項１０に記載のストレージシステム。
【請求項１８】
前記第一の仮想ポートに対する、前記第一の物理ポートから第二の物理ポートへの仮想ポート移動コマンドに応答して、前記ストレージコントローラは、前記ホストコンピュータからの前記第一の仮想ポートに結合したボリュームへのアクセスを禁止し、前記第一の物理ポートに結合したいくつかの前記第一の複数の論理ボリュームを前記第二の物理ポートにアサインし、前記第二の物理ポートにアサインされた前記第一の複数の論理ボリュームの前記幾つかに対する、前記第一の仮想識別子と前記第一及び第二の物理識別子との間の対応情報を更新し、該アクセス禁止を解除する
ことを特徴とする請求項１０に記載のストレージシステム。
【請求項１９】
前記第二の仮想ポートに対する仮想ポート削除コマンドに応答して、前記ストレージコントローラは、前記ホストコンピュータからの前記第二の仮想ポートに結合したボリュームへのアクセスを禁止し、前記仮想ポート情報を使用して、前記仮想ポートにアサインされたボリュームを開放する
ことを特徴とする請求項１０に記載のストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
０００１    本発明は、ストレージシステムにおける、仮想ポート、論理ユニット及び仮想ポートに関する統計情報を管理するための方法と装置に関連する。
【背景技術】
【０００２】
０００２    ＳＡＮスイッチは、複数のポート間でのゾーニングを実装して、スイッチ内で保持されているネームサービス（即ち、ネームリスト）を参照して、ネットワークの一つ以上の部位を排他指定できる。ファイバチャネル（ＦＣ）ファブリック内のポートにアサインされた固有の識別子である、ＷＷＰＮ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｐｏｒｔ  Ｎａｍｅ）がゾーンコントロールに使用できる。ファイバチャネルは、サーバ（即ち、ホストコンピュータ）とストレージシステムとを結合させるネットワークであるＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）に対するプロトコル／仕様の一つのタイプである。Ｎ＿Ｐｏｒｔ  ＩＤの仮想化技術（ＮＰＩＶ）の最近の進歩によって、ＦＣ又はＦＣｏＥ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  ｏｖｅｒ  Ｅｔｈｅｒｎｅｔ（登録商標））施設において、複数のＮ＿Ｐｏｒｔ  ＩＤが単一の物理Ｎ＿Ｐｏｒｔを共有できるようになった。これによって、米国特許公開２００９／００２５００７号公報に記されたように仮想ポートの移動が可能になった。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
０００３    情報システムにおいて、複数の仮想ポートを管理するには、ストレージシステムに於ける物理ポートと論理ユニット間の関係をストレージシステムが管理し維持する必要がある。
【課題を解決するための手段】
【０００４】
０００４    本発明の典型的実施例では、複数の物理ポートが一式の仮想ポートに割り当てられるシステムが提供される。これによって、ホストは、一式の共通の仮想ポートを経由して、異なった物理ポートに割り当てられた論理ボリュームを選択してアクセスできる。また、物理ポートと仮想ポートとの間に多対多の関係が成立している場合は、ネットワークとポートに関する統計情報についても、各仮想ポートに対して総合的に監視し、維持して解析しなければならない。
【０００５】
０００５    一つの実施例では、ストレージシステムは、ホストコンピュータからのＩ／Ｏ操作を受信する第一及び第二の物理ポート、この第一の物理ポートに結合する第一及び第二の論理ボリューム、並びに、メモリとプロセッサを持つストレージコントローラを含む。ここでは、ホストコンピュータは、第一の仮想ポートを経由して第一と第二の物理ポートの両方にアクセス可能で、ホストコンピュータからの第一の論理ボリュームに書き込むべき書き込みコマンドに応答して、ストレージコントローラは、第一の仮想ポート識別子と第一のボリューム番号間の関係に基づいて、第一の物理ポートを経由して第一の論理ボリュームに転送すべきデータをコントロールし、ホストコンピュータからの第二の論理ボリュームに書き込むべき書き込みコマンドに応答して、ストレージコントローラは、第一の仮想ポート識別子と第二のボリューム番号との間の関係に基づいて、第二の物理ポートを経由して、第二の論理ボリュームに転送すべきデータをコントロールする。
【図面の簡単な説明】
【０００６】
【図１】０００６    図１は本発明の構成を表示する概観図の一例を示す。
【図２】０００７    図２は本発明の方法と装置を適用可能なハードウエア構成の一例を示す。
【図３】０００８    図３は管理コンピュータ５２０のハードウエア構成の一例を示す。
【図４】０００９    図４はメモリ２００内の物理ポート情報２０１の一例を示す。
【図５】００１０    図５はボリューム６１０を生成する為のプロセスの概要を示すフローダイアグラムである。
【図６】００１１    図６はメモリ２００内のボリューム情報２０３の一例を示す。
【図７】００１２    図７は仮想ポートを生成する為のプロセスの概要を示すフローダイアグラムである。
【図８】００１３    図８はメモリ２００内の仮想ポート情報２０２の第一の例を示す。
【図９】００１４    図９はメモリ２００内の仮想ポート情報２０２の第二の例を示す。
【図１０】００１５    図１０は仮想ポートを移動する為のプロセスの概要を示すフローダイアグラムである。
【図１１】００１６    図１１は仮想ポートの移動後の仮想ポート情報２０２（ａ）の第一の例を示す。
【図１２】００１７    図１２は仮想ポートの移動後の仮想ポート情報２０２（ｂ）の第一の例を示す。
【図１３】００１８    図１３は仮想ポートの移動後の仮想ポート情報２０２（ａ）の第二の例を示す。
【図１４】００１９    図１４は仮想ポートの移動後の仮想ポート情報２０２（ｂ）の第二の例を示す。
【図１５】００２０    図１５は仮想ポートの移動後の仮想ポート情報２０２（ａ）の第三の例を示す。
【図１６】００２１    図１６は仮想ポートの移動後の仮想ポート情報２０２（ｂ）の第三の例を示す。
【図１７】００２２    図１７は仮想ポートを削除する為のプロセスの概要を示すフローダイアグラムである。
【図１８】００２３    図１８は仮想ポートの削除後のボリューム情報２０３の第一の例を示す。
【図１９】００２４    図１９は仮想ポートの削除後の仮想ポート情報２０２（ａ）の第一の例を示す。
【図２０】００２５    図２０は仮想ポートの削除後の仮想ポート情報２０２（ｂ）の第一の例を示す。
【図２１】００２６    図２１は仮想ポートの削除後の仮想ポート情報２０２（ａ）の第二の例を示す。
【図２２】００２７    図２２は仮想ポートの削除後の仮想ポート情報２０２（ｂ）の第二の例を示す。
【図２３】００２８    図２３はメモリ２００内の物理ポート統計２０４を示す。
【図２４】００２９    図２４は仮想ポートの統計計算をするプロセスの概要を示すフローダイアグラムである。
【図２５】００３０    図２５は仮想ポートの統計計算をするプロセスの概要を示すフローダイアグラムである。
【図２６】００３１    図２６はメモリ２００内の仮想ポートの統計情報２０５を示す。
【図２７】００３２    図２７はメモリ５３０内の物理ポートの統計情報５４４を示す。
【図２８】００３３    図２８は仮想ポートの統計計算をするプロセスの概要を示すフローダイアグラムである。
【図２９】００３４    図２９は仮想ポートの統計計算をするプロセスの概要を示すフローダイアグラムである。
【図３０】００３５    図３０はメモリ５３０内の仮想ポートの統計情報２０５を示す。
【発明を実施するための形態】
【０００７】
００３６    Ａ．システム構成
【０００８】
００３７    図１は、本実施例で説明するポート仮想化のストレージシステム１００への適用の概要を示す。ストレージシステム１００は、複数の論理ボリュームＬＵ６１０と物理ポート８００を含む。ストレージシステム１００は、ネットワークを経由して一式以上のホストコンピュータに通信の為に結合される。
【０００９】
００３８    本実施例においては、各物理ポート８００は、ユーザがアサイン可能なＷＷＰＮを有する複数の仮想ポート８１０を持ち、同じＷＷＰＮを持つ仮想ポート８１０（即ち、論理的には一つの仮想ポート８１０）が異なった物理ポート８００に配置される。ＳＡＮでの仮想ポート８１０は、ゾーン機能を有するＦＣ及びＳＡＮスイッチ９１０の仕様に基づくＷＷＰＮによって識別される。ＳＡＮスイッチ９１０は、ネットワークの一つ以上の部分（即ち、ゾーン９９０）を排他設定でき、これらはＳＡＮスイッチ９００に保持されているネームサービス（即ちネームリスト）を参照して実現される。各仮想ポートは、各８バイト長の（１）ポートＷＷＮと（２）ノードＷＷＮのそれぞれ全世界で固有なＷＷＮ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅ）識別データを持つ。これら仮想識別子の値は全世界で固有のため、第一にＦＣネットワークでのポートとノードを識別可能である。仮想ポート８１０は、複数の物理ポート８００に配置可能であるが、ゾーン構成等のＳＡＮ及びＳＡＮスイッチ９１０に関する構成と設定には影響しない。従って、本方法を使用することによって、システム置換とデータ移行に必要な作業量の低減が可能である。
【００１０】
００３９    図２は、本発明の方法と装置を適用できるハードウエア構成の一例を示す。ストレージシステム１００は、（主プロセッサ１１１、スイッチ１１２、複数の物理ポート８００、メモリ２００、キャッシュ３００、及び少なくとも一台のディスクコントローラ４００を持つ）ストレージコントローラ１１０、少なくとも一台のストレージデバイス６００（例：ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、半導体デバイス）、及び少なくとも一式のバックエンドパス６０１（例：ファイバチャネル、ＳＡＴＡ、ＳＡＳ、又はｉＳＣＳＩ（ＩＰ））を含む。主プロセッサ１１１はストレージコントローラ１１０の為に各種のプロセスを実行する。主プロセッサ１１１及び他のコンポーネントは、物理ポート情報２０１、仮想ポート情報２０２、ボリューム情報２０３、物理ポート統計２０４、仮想ポート統計２０５を含む、主メモリ２００に保存されている各種の情報を使用する。主プロセッサ１１１は、ボリューム管理プログラム２１１、ポート管理プログラム２１２、統計管理プログラム２１３、表示プログラム２１４、書き込み／読み出しプログラム２１５、及び情報転送プログラム２１６を含む、主メモリ２００に保存されている各種のプログラムを実行してプロセスを遂行する。ストレージコントローラは又、統計管理プログラム２１３から得た統計情報を管理コンピュータ５２０に転送する為の、ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）等のインターフェースを含む。このコミュニケーションは情報転送プログラム２１６によってコントロールされる。
【００１１】
００４０    ホスト５００と管理コンピュータ５２０はＳＡＮ９００（例：ＦＣ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ）、ＦＣｏＥ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  ｏｖｅｒ  Ｅｔｈｅｒｎｅｔ（登録商標）））を経由して物理ポート８００に結合される。ホスト５００、管理コンピュータ５２０、及びストレージコントローラ１１０はＬＡＮ９０２（例：ＩＰネットワーク）を経由して互いに結合される。ホスト５００はファイルシステム５０１、オペレーテイングシステム（ＯＳ）５０２、アプリケーションプログラム５０３を有する。これらプログラムを実行する為に、ホスト５００は図２には示されていないが業界では公知のプロセッサ、メモリ、及びストレージデバイス等のリソースを有する。
【００１２】
００４１    ストレージシステム１００からホストコンピュータ５００に提供されるボリューム（論理ユニット又はＬＵ）６１０はストレージデバイスの領域を集合して生成される。保存されたデータは、パリティコード（即ち、ＲＡＩＤ構成による）又はミラー化によって保護可能である。
【００１３】
００４２    図３は管理コンピュータ５２０のハードウエア構成の一例を示す。管理コンピュータは、プロセッサ５２１、ネットワークインターフェース５２２、ＳＡＮインターフェース５２３、及びメモリ５３０を含む。プロセッサ５２１及び他のコンポーネントは、物理ポート情報５４１、仮想ポート情報５４２、構成情報５４３、物理ポート統計５４４、及び仮想ポート統計５４５を含む、メモリ５４３に保存された各種の情報を使用する。プロセッサ５２１は、メモリ５３０に保存されている、ＯＳ５３１、ボリュームマネージャ５５１、ポートマネージャ５５２、統計管理プログラム５５３、表示プログラム５５４、及び情報統合プログラム５５６を含む、各種プログラムを実行してプロセスを遂行する。
【００１４】
００４３    Ｂ．物理ポート情報の生成
【００１５】
００４４    図４はメモリ２００内の物理ポート情報２０１の一例を示す。物理ポート情報は各物理ポートに対するＩＤ及びＷＷＰＮを維持する。このＩＤは、ストレージシステム１００内で固有な内部ＩＤである。本情報はストレージシステム１００の物理ポート８００に関する各構成変更を契機に構成に従って、生成又は更新される。言い換えると、本情報はその時の構成を反映する。
【００１６】
００４５    Ｃ．ボリュームの生成プロセス
【００１７】
００４６    図５はストレージシステム１００でボリューム６１０を生成する為のフローダイアグラムを示す。ステップ１００１にて、管理コンピュータ５２０は、ストレージシステム１００での移行元の構成を参照する。メモリ内のボリューム情報２０３が参照される。例えば、ストレージシステム１００間のデータ移行又はシステム置換の為にボリュームが生成される時に本ステップは必要となる。しかしながら、生成されるボリュームがデータ移行のターゲットボリュームとして使用される、のでなければ本ステップは省略してもよい。
【００１８】
００４７    ステップ１００２にて、管理コンピュータ５２０は、ボリューム生成コマンドを作成してストレージコントローラ１１０に送信する。ステップ１００３にて、ストレージコントローラ１１０は、ボリューム情報２０３を更新して一式以上のボリュームを生成する。この更新プロセス中はホスト５００からのボリュームへのアクセスは禁止される。
【００１９】
００４８    図６はメモリ２００内のボリューム情報２０３の一例を示す。この情報には、各ボリューム毎に、ボリュームＩＤ、サイズ、物理ロケーション（即ち、ディスク６００のＩＤと開始アドレス）、アクセス禁止の有無、ボリュームはアサイン済か否か、ポート情報（即ち、ボリュームは仮想ポート又は物理ポートに繋がれているか及びポートＩＤ）及びＬＵＮ（論理ユニット番号）が含まれる。“アクセス禁止”フラグは、ホストコンピュータ５００からのこのボリュームへのアクセスが禁止されているか否かを示す。ボリュームがどのポートにもアサインされていなければ“アサイン済”フラグは“Ｎｏ”にセットされる。他の場合は“アサイン済”フラグは“Ｙｅｓ”にセットされる。この場合は、ポートのタイプとＩＤ、ＬＵＮが記録される。ＬＵＮはホストコンピュータがボリュームにアクセスする為に使用される識別子で、従って、アサイン済ボリュームのみが本情報を有する。
【００２０】
００４９    Ｄ．仮想ポートの生成プロセス
【００２１】
００５０    図７は仮想ポートを生成する為のフローダイアグラムを示す。ステップ１１０１にて、管理コンピュータ５２０はストレージシステム１００の移行元の構成を参照する。仮想ポート８１０が、ストレージシステム１００間のデータ移行又はシステム置換の為に生成される時には、管理コンピュータ５２０はストレージシステム１００の構成を参照してもよい。しかし、移行元への参照が不要の場合はステップ１１０１は省略してもよい。
【００２２】
００５１    ステップ１１０２にて、管理コンピュータ５２０は、ポート生成コマンドを作成してストレージコントローラ１１０に送信する。生成されるべき仮想ポート８１０のＷＷＰＮ、ＬＵ６１０として仮想ポート８１０にアサインされるべきボリュームとＬＵＮ及び当該仮想ポート８１０が載る物理ポート８００は、ポート生成コマンドのパラメータとして管理コンピュータ５２０が指定できる。ステップ１１０３にて、ストレージコントローラ１１０は、ポート生成コマンドの受信に応じて、仮想ポート情報２０２を更新して、一式以上の仮想ポートを生成する。図８は、メモリ２００に保存された仮想ポート情報２０２の一例を示す。仮想ポート情報２０２（ａ）は、仮想ポートのＩＤ、当該仮想ポートが載る物理ポートのＩＤ、仮想ポートのＷＷＰＮ、仮想ポートにアサイン済のＬＵの数及びＬＵＮを含む。図９は、メモリ２００に保存された仮想ポート情報２０２のもう一つの例を示す。仮想ポート情報２０２（ａ）は各物理ポート毎に纏められているが、この２０２（ｂ）の例では、各仮想ポート毎に情報を纏めている。かくして、各仮想ポートに対する物理ポート数はこの２０２（ｂ）の例に包含されることになる。仮想ポート情報２０２（ｂ）は、各物理ポートにアサインされる仮想ポート数が増大する場合には、テーブル管理の観点で好ましくなる。図８と９に示す情報を使用して、ストレージコントローラ１１０は、物理ポート８００と仮想ポート８１０間の多対多の関係を管理できる。ステップ１１０４にて、ストレージコントローラ１１０は、ポート生成コマンド含まれる情報に従って、仮想ポート情報２０２とボリューム情報２０３を更新して、一式以上のボリュームを仮想ポート８１０にＬＵ６１０としてアサインする。かくして、仮想ポート８１０とＬＵ６１０間の関係がストレージシステム１００内にセットされる。ステップ１１０５にて、ストレージコントローラ１１０は、アサイン済ＬＵ６１０へのホストコンピュータ５００からのアクセスを許可する。
【００２３】
００５２    Ｅ．仮想ポートの移動プロセス
【００２４】
００５３    図１０は仮想ポートを移動させる為のフローダイアグラムを示す。ステップ１２０１にて、管理コンピュータ５２０は、ポート移動コマンドを作成して、ストレージコントローラ１１０に送信する。移動対象の、仮想ポート８１０のＷＷＰＮ又はＩＤ及び一式以上のＬＵ６１０、現在の物理ポート８００及び移動先物理ポート８００を、管理コンピュータがコマンドのパラメータとして指定可能である。ステップ１２０２にて、ストレージコントローラ１１０は移動対象の仮想ポート８１０に載っているＬＵ６１０へのアクセスを禁止する。ステップ１２０３にて、ストレージコントローラ１１０は、仮想ポート情報２０２を更新して、指定された仮想ポート８１０に対応する物理ポートＩＤを変更する。ステップ１２０４にて、ストレージコントローラ１１０は、ホストコンピュータ５００からＬＵへのアクセスを許可する。
【００２５】
００５４    以下に示す如く、仮想ポート８１０とＬＵ６１０の移動の幾つかのパタ−ンが、以上のプロセスを実行することにより達成可能である。図１１と１２は、仮想ポート８１０のロケーション変更の結果としての更新済仮想ポート情報２０２の第一の例を示す。図８と図９で示す状態に比べて、仮想ポート８１０（ＩＤ３）は物理ポート８００（ＩＤ０）から物理ポート８００（ＩＤ１）へ移動している。仮想ポート８１０（ＩＤ３）に結合する全てのＬＵ６１０はターゲット物理ポートに移動済で、仮想ポート８１０（ＩＤ３）との関係が維持されている。かくして、図１１と図１２に示すように、移動後は、ＬＵ６１０は物理ポート８００（ＩＤ１）からアクセス可能である。
【００２６】
００５５    図１３と図１４は、図８と図９で示す状態からのもう一つの移動結果として更新された仮想ポート情報２０２の第二の例を示す。この第二の例では、仮想ポート８１０（ＩＤ０）は物理ポート８００（ＩＤ０）から物理ポート８００（ＩＤ１）に移動して、物理ポート８００（ＩＤ１）上の既存の仮想ポート８１０（ＩＤ０）とマージされている。当該仮想ポート８１０に結合する全てのＬＵ６１０は、搭載する物理ポートを物理ポート８００（ＩＤ１）に更新する。かくして、図１３に示すとおり、物理ポート８００（ＩＤ０）に対する仮想ポート８１０（ＩＤ０）へのエントリは削除されている。物理ポート８００（ＩＤ１）に対する仮想ポート８１０（ＩＤ０）へのエントリは、ＬＵ数を５に増加し、図８において物理ポート８００（ＩＤ０）に結合していた仮想ポート８１０（ＩＤ０）上のＬＵＮ０、１を追加する更新がなされている。従って、図１４においては、ＬＵ数は５に増加しており、図９において物理ポート８００（ＩＤ０）に対する仮想ポート８１０（ＩＤ０）に結合していたＬＵＮ０、１の追加を反映している。
【００２７】
００５６    図１５と図１６は、図８と図９で示す状態からのもう一つの移動結果として、更新された仮想ポート情報２０２の第三の例を示す。このケースでは、管理コンピュータ５２０は、移動の為に仮想ポート８１０（ＩＤ２）上の二式のＬＵ６１０を指定して、ＬＵ６１０（ＬＵＮ２及びＬＵＮ３）を物理ポート８００（ＩＤ０）から物理ポート８００（ＩＤ２）に移動させる。仮想ポート８１０（ＩＤ２）上の他のＬＵ６１０（ＬＵＮ０及びＬＵＮ１）は物理ポート８００（ＩＤ０）に残ったままで、同一の仮想ポートが載る物理ポートの分割が実現される。
【００２８】
００５７    以上に説明した如く、仮想ポート８１０に関するこの種の移動は、管理コンピュータ５２０からストレージコントローラ１１０へのコマンドに於けるパラメータを変更することにより、ただ一つのタイプのコマンドにより実現可能である。しかしながら、上記の移動、マージ、分割等の操作は、各操作ごとの移動コマンド、マージコマンド、分割コマンド等でも実現できる。
【００２９】
００５８    Ｆ．仮想ポートの削除プロセス
【００３０】
００５９    図１７は仮想ポートを削除する為のフローダイアグラムを示す。ステップ１３０１にて、管理コンピュータ５２０はポート削除コマンドを作成してストレージコントローラ１１０に送信する。削除対象の仮想ポート８１０のＷＷＰＮ又はＩＤ、仮想ポート８１０が載る物理ポート８００及び／又は以下に述べる削除様式をコマンドのパラメータとして指定してもよい。ステップ１３０２にて、ストレージコントローラ１１０は削除対象の仮想ポート８１０に載っているＬＵ６１０をアクセス禁止にする。ステップ１３０３にて、ストレージコントローラ１１０は、仮想ポート情報２０２とボリューム情報２０３を更新して、指定ＬＵを仮想ポート８１０から解放する。ステップ１３０４にて、ストレージコントローラ１１０は、受信コマンドに従って、仮想ポート情報２０２を更新して一式以上の仮想ポート８１０を削除する。
【００３１】
００６０    図１８、図１９、及び図２０は仮想ポート８１０（ＩＤ０）の削除結果としての、更新済のボリューム情報２０３、仮想ポート情報２０２（ａ）（ｂ）の第一の例を示す。この例では、物理ポート８００（ＩＤ０）上の仮想ポート８１０（ＩＤ０）はコマンドに従って、図６、図８及び図９に示す状態から削除されている。図１８では、ポートは最早ボリューム（ＩＤ０）にはアサインされてはなく、このボリュームに対する物理／仮想ポート、ポートＩＤ、ＬＵＮ情報は図６に比較して削除されている。図１９は、物理ポート８００（ＩＤ０）に載る仮想ポート８１０（ＩＤ０）に対するエントリが図８に比較して削除されていることを示す。図２０は、仮想ポート８１０（ＩＤ０）が載る物理ポート８００（ＩＤ０）に対するエントリが図９に比較して削除されていることを示す。
【００３２】
００６１    図２１と図２２に示す第二の例は、図８と図９に示される状態に対し指定された仮想ポート８１０が全ての結合する物理ポート８００から削除可能なケースである。この例では、仮想ポート８１０（ＩＤ０）は全ての物理ポート８００から削除される。図２１に示す仮想ポート情報２０２（ａ）は、仮想ポート８１０（ＩＤ０）へのエントリが、図８に比べて削除されていることを物語っている。図２２に示す仮想ポート情報２０２（ｂ）は、仮想ポート８１０（ＩＤ０）へのエントリが、図９に比べて削除されている。
【００３３】
００６２    仮想ポート８１０の削除の為の第一と第二の例は、コマンドに於けるパラメータを変えることによって、単一のコマンドタイプで実現可能である。しかしながら、上記の操作は各操作毎のコマンドでも実現可能である。
【００３４】
００６３    これまでの記述では、ポート生成、移動と削除の為のコマンドは全て管理コンピュータ５２０から送信された。しかしながら、これら命令は同様に、ストレージシステム１００の管理コンソールから来てもよい。
【００３５】
００６４    Ｇ．統計監視／計算プロセス
【００３６】
００６５    データの読み出し及び書き込みプロセス等の物理ポート８００を使用した動作の実行中において、ストレージコントローラ１１０は、物理ポート８００に関する通常の監視値に加えて、各物理ポート８００上の各仮想ポート８１０に対するプロセスと性能に関する多様な値を監視し記録する。かくして、プロセスにおいて、各仮想ポート８１０に対して、幾つかのメトリクスが監視／カウントされクラス分けされる。ネットワーク及びポートに関する統計情報は、性能向上及び負荷バランスの為に、各仮想ポートに対して総合的に監視され、維持され更に分析される。図２３は監視された値を維持するメモリ２００内の物理ポート統計情報２０４の一例を示す。図２３において、物理ポート統計情報２０４は、物理ポートＩＤ、仮想ポートＩＤ、及び秒当たりの受信バイト数、秒当たりの送信バイト数、秒当たりの送信パケット数、秒当たりの受信パケット数、秒当たりの入力パケットエラー数、秒当たりの出力パケットエラー数、パケットに関するキュー長及びサービス品質に関する値を含む。これらの値は、各周期間隔中の、最大値、最小値及び／又は平均値の形で保存可能である。周期間隔は管理コンピュータ５２０でセットしてもよい。ストレージコントローラ１１０は、各ＷＷＰＮに対する各物理ポート８００毎の監視値を合計して、各仮想ポート８１０に対して合計し／計算された値を維持する。
【００３７】
００６６    図２４と図２５は、仮想ポートの統計を計算するフローダイアグラムを示す。図２４は各仮想ポートの合計値を計算するプロセスを示す。計算値は送受信されたバイト数を含む。ステップ１４０１にて、ストレージコントローラ１１０は変数Ｎを統計が必要な仮想ポート８１０に対する、仮想ポート情報２０２に記録されている物理ポート８００の数にセットする。ステップ１４０２にて、ストレージコントローラ１１０は変数Ｓをゼロ（０）に初期化する。ステップ１４０３にて、ストレージコントローラ１１０は変数Ｓを、Ｓと仮想ポート情報２０２に記載されているＮ番目の物理ポート８００上の仮想ポート８１０の統計値との合計値に、更新する。ステップ１４０４にて、ストレージコントローラ１１０は変数Ｎから‘１’を減算する。ステップ１４０５にて、ストレージコントローラ１１０は変数Ｎの値をチェックする。その値がゼロより大きければ、プロセスはステップ１４０３に進む。そうでなければ、プロセスはステップ１４０６に進む。ステップ１４０６にて、ストレージコントローラ１１０は仮想ポート統計情報２０５に変数Ｓの値を記録する。合計値は、各物理及び仮想ポートの監視結果に基づいて計算されるが、仮想ポートはＷＷＰＮを使用して識別される。
【００３８】
００６７    図２５はキュー長又はレスポンスタイム等の平均値を計算する為のプロセスを示す。ステップ１５０１にて、ストレージコントローラ１１０は変数Ｎを統計を必要とする仮想ポート８１０に対する、仮想ポート情報２０２に記録されている物理ポート８００の数にセットする。ステップ１５０２にて、ストレージコントローラ１１０は、変数Ｎの値を変数Ｍにセットする。ステップ１５０３にて、ストレージコントローラ１１０は、変数Ａｖｅをゼロ（０）に初期化する。ステップ１５０４にて、ストレージコントローラ１１０は、変数Ａｖｅを、Ａｖｅと仮想ポート情報２０２に記載されているＮ番目の物理ポート８００上の仮想ポート８１０の統計値との合計に更新する。ステップ１５０５にて、ストレージコントローラ１１０は、変数Ｎから‘１’を減算する。ステップ１５０６にて、ストレージコントローラ１１０は変数Ｎの値をチェックする。その値がゼロより大きければ、プロセスはステップ１５０４に進む。そうでなければ、プロセスはステップ１５０７に進む。ステップ１５０７にて、ストレージコントローラ１１０は、変数Ａｖｅを変数Ｍで割る。ステップ１５０８にて、ストレージコントローラ１１０は、変数Ａｖｅの値を仮想ポート統計情報２０５に記録する。この値は各物理と仮想ポートの監視結果に基づいて計算されるが、仮想ポートはＷＷＰＮを用いて識別される。
【００３９】
００６８    図２６は仮想ポートの統計情報２０５の一例を示す。この情報は、物理ポート統計情報２０４と同じ項目／メトリックスを含み上記で述べた方法で集計／計算された値を維持する。
【００４０】
００６９    以上で述べたプロセスによって、ストレージコントローラ１１０に適用されたＮＰＩＶ技術を採用して生成された仮想ポート８１０と物理ポート８００間の多対多の関係の管理が実現される。更に、各仮想ポート８１０の総合的な統計情報の監視と管理が達成される。ポート構成や統計情報は、ストレージコントローラ１１０の管理コンソール（図３には示されてはいない）によってもユーザに表示することができる。
【００４１】
００７０    Ｈ．管理コンピュータによる統計監視／計算プロセス
【００４２】
００７１    ストレージコントローラ１１０による各仮想ポート８１０の統計情報の管理に加えて、管理コンピュータ５２０が統計情報をストレージコントローラ１１０からＬＡＮ９０２及び／又はＳＡＮ９００を経由して取得して、各仮想ポート８１０の統計情報を管理することができる。図２７は、管理コンピュータ５２０のメモリ５３０に保存された物理ポート統計情報５４４を示す。物理ポート統計情報５４４は、ストレージシステムＩＤ、物理ポートＩＤ、仮想ポートＩＤ、及び、秒当たりの受信バイト数、秒当たりの送信バイト数、秒当たりの送信パケット数、秒当たりの受信パケット数、秒当たりの入力パケットのエラー数、秒当たりの出力パケットのエラー数、パケットに関するキュー長及びサービス品質に関する値等を含む。管理コンピュータは、複数のストレージシステム１００を管理できる為、各ストレージコントローラ１１０に於ける物理ポート統計情報２０４のコンテントに加えて、ストレージシステムＩＤが必要になる。図２８と図２９は管理コンピュータ５２０によって実行される統計計算プロセスの例を示す。これらプロセスは図２４と図２５で示されるプロセスと同様である。これらプロセスによって、管理コンピュータ５２０は又、各ストレージコントローラ１１０の仮想ポート統計情報２０５と同じ項目を持つ仮想ポート統計情報５４５を維持する。図３０は、仮想ポート統計情報５４５の一例を示す。
【００４３】
００７２    管理コンピュータ５２０は又、ＬＡＮ９０２及び／又はＳＡＮ９００を経由して各ストレージシステム１００の物理ポート情報２０１、仮想ポート情報２０２及びボリューム情報２０３を参照（取得）することによって、物理ポート情報５４１、仮想ポート情報５４２及び構成情報５４３を所有する。これら情報は、一式以上のストレージシステム１００の要素（例：物理ポート８００、仮想ポート８１０及びＬＵ（ボリューム）６１０）の構成情報を含む。計算結果は各ストレージコントローラ１１０から管理コンピュータ５２０に送信されるとしても、管理コンピュータが代わって情報を集合できれば、ストレージコントローラ１１０の負荷を低減できる。このことは、ポート数が増大したときに特に効果的である。
【００４４】
００７３    本発明は、仮想ポートがＳＡＮを経由してホストコンピュータからアクセス可能で、複数の仮想ポートをストレージシステム上の一式の物理ポート上に設置可能で更に一式の仮想ポートを複数の物理ポート上に配置可能な、ストレージシステムを提供する。コンピュータからのコマンドに応答して、ストレージシステムは、物理ポートと仮想ポート間の関係及び仮想ポートとボリューム間の関係を、仮想ポートの生成、仮想ポートへのＬＵのアサイン、物理ポート間での仮想ポートの移動及び仮想ポートの削除等のプロセスを実行して管理する。ストレージシステムは又ポートに関する統計情報を維持／計算して、各仮想ポートに対して総合的に表示する。更に、管理コンピュータは、ストレージシステムからの管理情報及び統計情報を統合して各仮想ポートに対して表示する。本発明を述べたが、添付する請求範囲で定義される本発明の精神から逸脱することなく、本発明に付随する多くの改変が当業者には明確になるであろう。
【図１】
0005612334.tif 000002
【図２】
0005612334.tif 000003
【図３】
0005612334.tif 000004
【図４】
0005612334.tif 000005
【図５】
0005612334.tif 000006
【図６】
0005612334.tif 000007
【図７】
0005612334.tif 000008
【図８】
0005612334.tif 000009
【図９】
0005612334.tif 000010
【図１０】
0005612334.tif 000011
【図１１】
0005612334.tif 000012
【図１２】
0005612334.tif 000013
【図１３】
0005612334.tif 000014
【図１４】
0005612334.tif 000015
【図１５】
0005612334.tif 000016
【図１６】
0005612334.tif 000017
【図１７】
0005612334.tif 000018
【図１８】
0005612334.tif 000019
【図１９】
0005612334.tif 000020
【図２０】
0005612334.tif 000021
【図２１】
0005612334.tif 000022
【図２２】
0005612334.tif 000023
【図２３】
0005612334.tif 000024
【図２４】
0005612334.tif 000025
【図２５】
0005612334.tif 000026
【図２６】
0005612334.tif 000027
【図２７】
0005612334.tif 000028
【図２８】
0005612334.tif 000029
【図２９】
0005612334.tif 000030
【図３０】
0005612334.tif 000031