(57)【特許請求の範囲】
【請求項１】
１つまたは複数のストレージデバイスと通信するストレージコントローラと、
前記１つまたは複数のストレージデバイスから構成された１つまたは複数のストレージボリュームであって、前記コントローラが、前記１つまたは複数のボリュームへの入力／出力（Ｉ／Ｏ）オペレーションのアクセスを制御する１つまたは複数のストレージボリュームと、
第１識別子を有する第１物理ポートと、
第２識別子を有する第２物理ポートと、
前記Ｉ／Ｏオペレーションの目標として前記１つまたは複数のボリュームのうちの第１ボリュームへアクセスするために、前記第１物理ポートを通じてアクセスされる第１仮想ポートと、前記１つまたは複数のボリュームのうちの第２ボリュームへアクセスするために、前記第１物理ポートを通じてアクセスされる第２仮想ポートとを含み、
第１コンピュータ上の第１仮想機械が第１Ｉ／Ｏオペレーションを前記第１ボリュームへ向け、前記第１コンピュータ上の第２仮想機械が第２Ｉ／Ｏオペレーションを前記第２ボリュームへ向け、前記第１コンピュータおよび第２コンピュータは、ファイバーチャネル（ＦＣ）ネットワークを通じて前記ストレージシステムと通信し、
前記ストレージシステムが前記第１仮想ポートを前記第２物理ポートへ転送し、それによって前記第１ボリュームが、前記第１仮想機械の前記第２コンピュータへのマイグレーションに続いて、前記第２コンピュータ上の前記第１仮想機械によって、前記第２物理ポートを通じてアクセスされるストレージシステム。
【請求項２】
前記第１仮想機械が前記第２コンピュータへマイグレートされる場合、前記ストレージシステムが、前記第１物理ポート上の第１ロードと前記第２物理ポート上の第２ロードとを測定するように構成されており、
前記ストレージシステムが、所定の量によって、前記第１物理ポート上の前記第１ロードが前記第２物理ポート上の前記第２ロードよりも大きいと判定する場合、前記第１仮想機械が前記第２コンピュータへマイグレートされる請求項１に記載のストレージシステム。
【請求項３】
前記第１および第２コンピュータを前記ＦＣネットワークへ接続するために、前記第１コンピュータが第３物理ポートを含み、前記第２コンピュータが第４物理ポートを含み、
第３仮想ポートが前記第３物理ポートに割り当てられ、前記ＦＣネットワークへアクセスするために、前記第１仮想機械によって使用され、
前記第１仮想機械が前記第２コンピュータへマイグレートされる場合、前記第１コンピュータが、前記第３仮想ポートを前記第２コンピュータ上の前記第４物理ポートへ転送し、それによって前記第１仮想機械が、前記第２コンピュータ上の前記第３仮想ポートと前記ストレージシステム上の第１仮想ポートとを使用して前記第１ボリュームへアクセスする請求項１に記載のストレージシステム。
【請求項４】
複数のストレージデバイスから構成された複数のストレージボリュームを備え、前記ボリュームを目標とするＩ／Ｏオペレーションを制御する、前記複数のストレージデバイスと通信するストレージコントローラを含むストレージシステムであって、
第１識別子を有する第１物理ポートと第２識別子を有する第２物理ポートとを含み、前記第１物理ポートと前記第２物理ポートとを介してファイバーチャネルストレージエリアネットワーク（ＦＣ−ＳＡＮ）と通信し、
前記複数のボリュームのうちの第１ボリュームへアクセスするために前記第１物理ポートを通じてアクセスされる第１仮想ポートと、前記複数のボリュームのうちの第２ボリュームへアクセスするために前記第１物理ポートを通じてアクセスされる第２仮想ポートとを含むストレージシステムと、
第１Ｉ／Ｏオペレーションを複数のストレージボリュームのうちの第１ボリュームへ向ける第１コンピュータ上の第１仮想機械と、第２Ｉ／Ｏオペレーションを前記複数のストレージボリュームのうちの第２ボリュームへ向ける前記第１コンピュータ上の第２仮想機械とであって、前記第１コンピュータと前記第２コンピュータとが前記ＦＣ−ＳＡＮを通じて前記ストレージシステムと通信する、第１仮想機械と第２仮想機械とを備え、
前記ストレージシステムが、前記第１仮想ポートを前記第２物理ポートへ転送し、それによって前記第１ボリュームが、前記第２コンピュータ上で実行中のマイグレーションに続いて、前記第１仮想機械によって前記第２物理ポートを通じてアクセスされる情報システム。
【請求項５】
前記第１仮想機械が前記第２コンピュータへマイグレートされる場合、前記ストレージシステムが、前記第１物理ポート上の第１ロードと前記第２物理ポート上の第２ロードとを測定するように構成されており、
前記ストレージシステムが、所定の量によって前記第１物理ポート上の前記第１ロードが前記第２物理ポート上の前記第２ロードよりも大きいことを判定する場合、前記第１仮想機械が前記第２コンピュータへマイグレードされる請求項４に記載の情報システム。
【請求項６】
前記コンピュータを前記ＦＣ−ＳＡＮへ接続するために、前記第１コンピュータが第３物理ポートを含み、前記第２コンピュータが第４物理ポートを含み、
第３仮想ポートが前記第３物理ポートへ割り当てられ、前記ＦＣ−ＳＡＮへアクセスするために前記第１仮想機械によって使用され、
前記第１仮想機械が前記第２コンピュータへマイグレートされる場合、前記第１コンピュータが前記第３仮想ポートを前記第２コンピュータ上の前記第４物理ポートへ転送し、
それによって前記第１仮想機械が、前記第２コンピュータ上の前記第３仮想ポートと前記ストレージシステム上の前記第１仮想ポートとを使用して、前記第１ボリュームへアクセスする請求項４に記載の情報システム。
【請求項７】
１つまたは複数の第１ストレージデバイスから構成された第１ボリュームを備え、前記第１ボリュームを目標とするＩ／Ｏオペレーションを制御する、前記１つまたは複数の第１ストレージデバイスと通信する第１ストレージコントローラを含む第１ストレージシステムであって、前記第１物理ポートを介して第１ファイバーチャネル（ＦＣ）ネットワークと通信する第１物理ポートを含み、前記第１ボリュームへアクセスするために前記第１物理ポートを通じてアクセスされる第１仮想ポートを含む第１ストレージシステムと、
前記第１ストレージシステムと通信する第２ストレージシステムであって、１つまたは複数の第２ストレージデバイスから構成された第２ボリュームを備えた、前記１つまたは複数の第２ストレージデバイスと通信する第２ストレージコントローラを含み、第２ＦＣネットワークと通信する第２物理ポートを含む第２ストレージシステムとを備え、
ボリュームとしての前記第１ボリュームと前記第２ボリュームとの間で複製ペアが確立されるので、前記第１ストレージシステム上の前記第１仮想ポートを通じて前記第１ボリュームに書き込まれたデータが、前記第２ストレージシステム上の前記第２ボリュームへコピーされ、
前記第１ＦＣネットワークと通信する第１コンピュータ上の仮想機械が前記第２ＦＣネットワークと通信する第２コンピュータへマイグレートされる場合に、前記第１および第２ストレージシステムが複製の方向をスワップするように構成されているので、前記第２ボリュームへ書き込まれたデータが前記第１ボリュームへコピーされ、前記第１仮想ポートが前記第１ストレージシステム上の前記第１物理ポートから前記第２ストレージシステム上の前記第２物理ポートへ転送され、
前記仮想機械が、前記第２コンピュータへのマイグレーションに続いて、前記第２ストレージシステム上の前記第２物理ポートと前記第１仮想ポートとを通じて、前記Ｉ／Ｏオペレーションの目標を前記第２ボリュームへ定める情報システム。
【請求項８】
前記第１コンピュータが、前記第１コンピュータを前記第１ＦＣネットワークに接続するために第３物理ポートを含み、前記第２コンピュータが前記第２コンピュータを前記第２ＦＣネットワークに接続するために第４物理ポートを含み、
第２仮想ポートが前記第３物理ポートに割り当てられ、マイグレーションの前に前記第２ＦＣネットワークへアクセスするために前記仮想機械によって使用され、
前記仮想機械が前記第２コンピュータへマイグレートされる場合、前記第１コンピュータが前記第２仮想ポートを前記第２コンピュータ上の前記第４物理ポートへ転送し、それによって前記仮想機械が、前記第２コンピュータ上の前記第２仮想ポートと前記第２ストレージシステム上の前記第１仮想ポートとを使用して、前記第２ボリュームへアクセスする請求項７に記載の情報システム。
【請求項９】
前記第１コンピュータが、転送されるべき前記第１仮想ポートを識別し、前記第１仮想ポートのためのログアウト要求を前記第１ＦＣネットワークへ送信する前記第１ストレージシステムによって、前記第１ストレージシステム上の前記第１物理ポートから前記第２ストレージシステム上の前記第２物理ポートへ転送され、
前記第１ストレージシステムが、第１仮想ポート識別子を前記第２ストレージシステムへ送信し、
前記第２ストレージシステムが、第１仮想ポート識別子と前記第２物理ポートのための物理ポート識別子とを前記第２ＦＣネットワークへ送信することによって、前記第１仮想ポートを前記第２ＦＣネットワークにログインする請求項７に記載の情報システム。
【請求項１０】
前記第１ストレージシステム、前記第１コンピュータおよび前記第１ＦＣネットワークが局所システムを備え、
前記第２ストレージシステム、前記第２コンピュータおよび前記第２ＦＣネットワークが遠隔システムを備え、
前記第１コンピュータが、ワイドエリアネットワーク（ＷＡＮ）を介して前記第２コンピュータと通信し、
前記仮想機械が、前記ＷＡＮを介して前記局所システムから前記遠隔システムへマイグレートされ、前記Ｉ／Ｏオペレーションを前記第１仮想ポートおよび前記第２ボリュームへ向けることによるマイグレーションに続いて、Ｉ／Ｏオペレーションを再開する請求項７に記載の情報システム。
【発明の詳細な説明】
【技術分野】
【０００１】
[0002]  本発明は一般に、データを記憶するストレージシステム及び情報システムに関する。
【背景技術】
【０００２】
[0004]  近年、一部のデータセンターでサーバによって消費される電力量が重大な問題となっている。この問題に対する１つの可能な解決法は、仮想機械ソフトウェアを使用するサーバコンソリデーションである。仮想機械ソフトウェアは、単一のサーバハードウェア（または物理サーバ）上に複数の仮想サーバ環境（すなわち仮想機械またはＶＭ）を与え、それによって物理的な単一のサーバが複数のオペレーティングシステム（ＯＳ）を実行することを可能にする。さらに仮想機械ソフトウェア上で動作中の仮想機械は、物理サーバ間のロードバランシングのため、サーバのハードウェアの故障に備えたクラスター化のため、およびその他の目的で、別の物理サーバにマイグレート（ｍｉｇｒａｔｅ）されることが可能である。しかしながら仮想機械が現在の物理サーバ（すなわちソースサーバ）から別の物理サーバ（すなわち宛先サーバ）へマイグレートされる場合、仮想機械によってアクセスされるボリュームは、仮想機械が移動された後でも、宛先サーバからアクセス可能でなければならない。したがって仮想機械によって使用される任意のボリュームは、ソースサーバと宛先サーバとの間で共有可能でなければならず、このことは物理サーバとストレージシステムとの間の接続の柔軟性を制限し、セキュリティリスクを高めている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
[0005]  個別の発展では、マルチパスＩ／Ｏ（入力／出力）は、１つの経路の中で１つの構成要素が故障している場合に冗長性を与える目的で、複数の経路がマスストレージデバイスに複数の経路が与えられる技術である。したがって、例えば複数のポート、スイッチまたはその他を与えることなどによって、情報システムに複数の経路が与えられてもよい。例えばマルチパシング技術は、ストレージシステム上のファイバーチャネル（ＦＣ）ポートの故障の場合、またはポートに接続されているリンクの故障の場合にサーバが動作し続けられるようにすることができる。マルチパシング技術は、サーバとストレージとの間に冗長ＦＣリンクを配置することを可能にし、サーバはストレージシステム上のポートの故障の場合、またはポートに接続されているリンクの故障の場合に、いかなる混乱も伴わずに、透過的に動作し続けることができる。しかしながら、従来のマルチパシング技術を利用するためには、サーバに特殊化されたソフトウェアがインストールされなければならず、従来のマルチパシング技術は仮想ポートのフェイルオーバの使用に対処しない。
【０００４】
[0006]  さらに障害回復は現在、大規模な障害に対して情報システムを保護するための重要な条件である。典型的に障害回復は、データを局所ストレージから離れたロケーションにある別のストレージシステムにコピーすることによって達成され、これにはしばしば、ネットワークを介してサーバをクラスター化することが付随する。仮想機械ソフトウェアは典型的に、第１サーバの障害に応じた仮想機械の別のサーバへのマイグレーション（ｍｉｇｒａｔｉｏｎ）を促進する機能（サーバのクラスター化）を有しているが、ストレージは依然としてサーバ間で共有されなければならず、仮想機械はマイグレーションの前に使用されていたストレージボリュームにアクセスすることができなければならないので、仮想機械は障害回復のための条件を満たしていない。
【０００５】
[0007]  関連技術は、その開示が参照により本明細書に組み込まれている米国特許第６，７７９，０８３号Ｂ２、Ｉｔｏ他、「Ｓｅｃｕｒｉｔｙ  ｆｏｒ  Ｌｏｇｉｃａｌ  Ｕｎｉｔ  ｉｎ  Ｓｔｏｒａｇｅ  Ｓｕｂｓｙｓｔｅｍ」を含む。
【課題を解決するための手段】
【０００６】
[0008]  本発明は、ストレージシステムが特殊なソフトウェアをサーバにインストールすることなく、サーバとストレージシステムとの間の経路の冗長性を保証することができるように、ストレージシステム上の仮想ポートを管理するための方法および装置を提供する。本発明はまた、ストレージシステム上の物理ポート間のロードバランシングを提供し、仮想ポートを利用して、転送することによって、仮想機械の遠隔マイグレーションを可能にする。本発明のこれらおよびその他の特徴および利点は、以下の好ましい実施形態の詳細な説明から当業者には明らかとなるであろう。
【０００７】
[0009]  上述の一般的な説明および以下で示される好ましい実施形態の詳細な説明とともに、添付の図面は、現在考えられる本発明の最良の方式の好ましい実施形態の原理を例示し、説明する役割を果たす。
【発明を実施するための最良の形態】
【０００８】
[0038]  以下の本発明の詳細な説明では、本開示の一部を形成しており、また本発明が実行されてもよい特定の実施形態が制限としてではなく、例として示されている添付の図面が参照される。図中、同じ番号は、複数の図面を通して実質的に同種の構成要素を指す。さらに図面、前述の考察および以下の説明は、単に例示的および説明的なものであり、いかなる方法でも、本発明または本出願の範囲を限定することは意図されていない。
【０００９】
[0039]  本発明によるストレージシステムは、ポートのフェイルオーバ、ポート間のロードバランシングおよび仮想機械のマイグレーションに関して上で述べられた問題を解決するために、仮想ポートを作成し、管理する機能を有する。このストレージシステムが物理ポートの故障か、物理ポートに接続されているリンクの故障を検出する場合、ストレージシステムは、物理ポートと仮想ポートとの間の関連を変更するので、ホストは別の物理ポートを介して、仮想ポートを通じてデータにアクセスし続けることができる。また、このストレージシステムは各物理ポート上のロードを監視するように構成されており、ストレージシステムは、仮想ポートと物理ポートとの間の関連を変更するので、物理ポート上のロードはよりバランスをとられる。また遠隔のコピー環境では、遠隔ストレージシステムが遠隔ストレージシステムからのボリュームを引き継ぐ場合、遠隔ストレージシステムはそのボリュームに関連した任意の仮想ポートのアドレスを引き継ぐようにも構成されているので、仮想機械のソフトウェアは、遠隔のコピー環境の１つまたは複数の仮想機械を遠隔のホストコンピュータにマイグレートすることができる。
【００１０】
[0040]  第１実施形態−システム構成
[0041]  図１は、本発明の第１実施形態の情報システムのハードウェアアーキテクチャの例を示す。図１に示されている情報システムで、ストレージシステム１００は、ファイバーチャネル（ＦＣ）ＳＡＮ（ストレージエリアネットワーク）などのネットワーク１４０を介した１つまたは複数のホストコンピュータ１２０との通信のために接続されている。ストレージシステム１００は、１つまたは複数の物理ストレージデバイス１０２と通信するストレージコントローラ１０１を含む。コントローラ１０１はＣＰＵ１０３、メモリ１０４、ＮＶＲＡＭ（不揮発性ランダムアクセスメモリ）１０５、キャッシュメモリ１０６、１つまたは複数のバックエンドインタフェース１０７、複数のフロントエンドインタフェース１０８、１１１、および少なくとも１つのイーサネット（登録商標）またはＬＡＮ（局所エリアネットワーク）インタフェース１１０を含む。これらの構成要素は、内部バス１０９またはその他を介して、お互いに接続されている。ネットワーク１４０がＦＣ  ＳＡＮである場合、フロントエンドインタフェース１０８、１１１は、各々がそれ自体の物理ＷＷＮ（ワールドワイドネーム）を有する物理ポートなどのＦＣインタフェースである。コントローラ１０１は、ＳＡＮ１４０を介しＦＣインタフェース１０８、１１１を通じてホスト１２０と通信することが可能であり、バックエンドインタフェース１０７を通じてストレージデバイス１０２と通信することが可能である。本発明を実現するプログラムのうちの一部は、以下で述べられるように、ＣＰＵ１０３およびメモリ１０４を使用してコントローラ１０１上で動作する。しかしながら、本発明のソフトウェアは、その他のコンピュータ可読媒体で明白に具体化されてもよいということに留意されたい。
【００１１】
[0042]  ストレージデバイス１０２は、好ましい実施形態の中ではハードディスクドライブである。しかしながら、光ディスク、ソリッドステートメモリまたはその他などの別のデータストレージ媒体が、ストレージデバイス１０２として使用されることが可能である。ストレージデバイス１０２は直接接続を介して、または１つもしくは複数のバックエンドネットワーク１１２を介して、コントローラ１０１に接続されている。
【００１２】
[0043]  サービスプロセッサ１６０もまた、ストレージシステム１００に含まれてもよい。サービスプロセッサ１６０は典型的にＣＰＵ１６１、メモリ１６２、ハードディスクドライブ１６３、およびイーサネット（登録商標）またはＬＡＮインタフェース１６５を含む。これらの構成要素は、内部バス１６４を介してお互いに接続されている。サービスプロセッサ１６０を接続するインタフェース１６５は、内部ネットワークまたはＬＡＮ１５０を介してコントローラ１０１上でインタフェース１１０に接続されている。
【００１３】
[0044]  少なくとも１つのホスト１２０は、第１実施形態の情報システムの中で接続されている。ホスト１２０はＣＰＵ１２１、メモリ１２２、およびホストバスアダプタか、またはネットワーク１４０がＦＣ  ＳＡＮである場合には他のＦＣインタフェースなどのネットワークインタフェース１２４を少なくとも備える。これらの構成要素は、内部バス１２５を介してお互いに接続されている。ホスト１２０は、ネットワーク１４０を介しＦＣインタフェース１２４を通じて、ストレージシステム１００に接続されることが可能である。ネットワーク１４０は、ホスト１２０とストレージシステム１００との間でＦＣ−ＳＷ（ファイバーチャネル交換ファブリック）規格に準拠した通信を確立することができるように、スイッチとケーブルから構成されている。別の実施形態で、ネットワーク１４０はイーサネット（登録商標）（ＩＰ−ＳＡＮ）またはその他などの異なる技術を使用してもよい。
【００１４】
[0045]  ソフトウェアモジュール
[0046]  図２に示されているように、ストレージシステム１００のコントローラ１０１でＣＰＵ１０３によって実行される、メモリ１０４の中に保持された２種類のソフトウェアモジュールがある。論理デバイスまたはボリュームマネージャ２０２は、ストレージシステム１００の中のストレージデバイス１０２の利用可能な能力を使用して、１つまたは複数の論理ボリューム２０３を作成する。ボリュームマネージャ２０２はまた、論理ボリューム２０３と物理ストレージデバイス１０２との間のマッピングを管理する。
【００１５】
[0047]  仮想ポートマネージャ２０１は、ストレージシステム１００の管理者からの命令に従って、フロントエンド物理ポート（ＦＣインタフェース１０８、１１１）のために１つまたは複数の仮想ポートを作成する。また仮想ポートマネージャ２０１は、物理ポート１０８、１１１の状態、およびポート１０８、１１１に接続された通信リンクの状態を監視し、必要に応じて物理ポート１０８、１１１と仮想ポートとの間の相関性を変更する。仮想ポートマネージャ２０１は、以下でさらに論じられるように、仮想ポート管理表５００を使用して、ポートおよび状態の情報を管理する。ソフトウェアモジュールは、メモリ１０４、ストレージデバイス１０２またはその他のコンピュータ可読媒体の中で明白に具体化されてもよい。
【００１６】
[0048]  ファイバーチャネルプロトコル
[0049]  ファイバーチャネルは、ホスト１２０とストレージシステム１００との間で使用されるネットワークインタフェースの型の例として、これらの実施形態の中で言及されている。ファイバーチャネルネットワークの中のインタフェースを有するデバイスは「ノード」と呼ばれ、実際のインタフェースに対応している物理端末は「ポート」と呼ばれる。ＦＣネットワークの中のノードは、１つまたは複数のポートを有することが可能である。ファイバーチャネルのシステム全体に同時に関与することができるポートの数は、アドレスフィールドの中のビット数によって制限され、このビット数は最大が２４ビットであり、したがって任意の１つのＦＣネットワークの中で合計２24（１６，７７７，２１６）の可能ポートを使用可能にする。これらの接続を仲介するハードウェアは「ファブリック」と呼ばれる。実際に、送信ポートおよび宛先ポートは、ファブリックを考慮に入れることを必要とせずに、共通ポートに関連した情報を考慮に入れることによって動作する必要があるだけである。
【００１７】
[0050]  ノードおよびポートの各々は、世界中で固有のものであり、所定の規則に従ってＩＥＥＥ（電気電子技術者協会）によって割り当てられるＷＷＮ識別データを記憶する。ＦＣネットワークの中のＷＷＮ識別子は、イーサネット（登録商標）ネットワークの中のＭＡＣアドレスと同様の方法で使用され、ハードウェアの部分に対して指定された固定の識別アドレスである。ＷＷＮアドレスは、それぞれＮ＿Ｐｏｒｔ＿ＮａｍｅとＮｏｄｅ＿Ｎａｍｅである、各々が８バイトのサイズを有する（１）ポートＷＷＮと（２）ノードＷＷＮとの２種類を含む。Ｎ＿Ｐｏｒｔ＿Ｎａｍｅは各ポートに固有の値（ハードウェアアドレス）であり、Ｎｏｄｅ＿Ｎａｍｅは各ノードに固有の値（ハードウェアアドレス）である。これらの識別子の値は世界中で固有のものであるので、それらは主としてＦＣネットワークの中のポートおよびノードを識別することができる。以下で言及される本発明の例の中で、「ＷＷＰＮ」という用語はＮ＿Ｐｏｒｔ＿Ｎａｍｅ（すなわちワールドワイドポートネームまたはポートＷＷＮ）を表す。
【００１８】
[0051]  また以下で説明されるように、ファイバーチャネル規格によって、ポートがそれにさらなるＷＷＰＮを動的に割り当てることが可能になる。この機能は、「Ｎ＿Ｐｏｒｔ  ＩＤ仮想化」または「ＮＰＩＶ」として知られている。さらなるＷＷＰＮは典型的に各デバイスで自動的に判定されるので、それらは世界中で固有のものとなる。ハードウェアアドレスとしてのＷＷＰＮと、動的に作成されたさらなるポートのアドレスとしてのＷＷＰＮとをはっきりさせるために、「物理ＷＷＰＮ」および「物理ポート」という用語がハードウェアアドレスとしてのＷＷＰＮについて使用され、「仮想ＷＷＰＮ」および「仮想ポート」という用語が物理ポート上で動的に割り当てられたさらなるアドレスとしてのＷＷＰＮについて使用される。
【００１９】
[0052]  ファイバーチャネル規格の下で、通信は、「順序集合」と呼ばれる信号レベルの情報によって、および「フレーム」と呼ばれる固定形式を有する論理情報によって実行される。図２５は、フレーム２５０１の典型的な構造を示す。フレーム２５０１は、フレームの開始を表し、「ＳＯＦ」（フレーム開始）２５０２と呼ばれる４バイトの識別データを有し、２４バイトのフレームヘッダ２５０３は、リンクオペレーションおよびフレームの制御を特徴付ける。フレーム２５０１はまた、フレーム２５０１によって転送されるデータ（すなわちデータの内容）であるデータフィールド２５０４、４バイトの周期的な冗長コード（ＣＲＣ）２５０５、およびフレーム終了の通知を表す「ＥＯＦ」（フレーム終了）２５０６と呼ばれる４バイトの識別データを含む。データフィールド２５０４は、０から２，１１２バイトの可変部分である。
【００２０】
[0053]  次に、フレームヘッダ２５０３の内容が説明される。フレームヘッダ２５０３は、フレームヘッダ２５０３中の第１ワードおよび第２ワードの０から２３ビットのエリアに対応するＤ＿ＩＤ２５０８およびＳ＿ＩＤ２５０９を含む。Ｄ＿ＩＤ（宛先ＩＤ）２５０８とＳ＿ＩＤ（ソースＩＤ）２５０９とは、それぞれフレームを受信するポートとフレームを送信するポートとを識別するための３バイトのアドレス識別データであり、送信および受信されるべきすべてのフレームのための有効値を有する。ＦＣ規格のうちの１つであるＦＣ−ＰＨ（ファイバーチャネル物理および信号送信インタフェース）は、初期化プロシージャの間にファブリックがＤ＿ＩＤ２５０８およびＳ＿ＩＤ２５０９を割り当てることを規定する。割り当てられる値は、各ポートのＮ＿Ｐｏｒｔ＿Ｎａｍｅ（ＷＷＰＮ）またはＮｏｄｅ＿Ｎａｍｅによって決まる。
【００２１】
[0054]  物理ポートのためのファブリックログインプロシージャ
[0055]  次に、物理ポートのためのファイバーチャネルプロトコルに基づいて情報を相互に交換するための、送信側の機器のログインプロシージャとネームサーバとが説明される。図３は、送信側３０１（ログインを要求する側であり、本発明ではホスト１２０およびストレージシステム１００のいずれかに対応している）とネームサーバ３０２（本発明ではＳＡＮ１４０内のスイッチに対応している）との間の情報の交換を示す。典型的に、このログインプロシージャは、物理ポートが最初にファブリックに接続されるときに実行される。以下の説明はＦＣ、クラス３のために与えられるプロシージャであるが、ファイバーチャネルのための複数の種類のログインプロシージャが利用可能である。
【００２２】
[0056]  ステップ３０３：送信側３０１は所定のＤ＿ＩＤ（０×ＦＦＦＦＦＥ）、所定のＳ＿ＩＤ（０×００００００）、および送信側のＮ＿Ｐｏｒｔ＿Ｎａｍｅ（物理ＷＷＰＮ）ならびにＮｏｄｅ＿Ｎａｍｅを含むＦＬＯＧＩフレームを送信する。
【００２３】
[0057]  ステップ３０４〜３０５：ネームサーバ３０２はフレームを受信し、ＦＣ＿ＰＨに基づいて、送信側３０１の物理ＷＷＰＮのためのＮ＿Ｐｏｒｔ＿ＩＤを判定する。
【００２４】
[0058]  ステップ３０６：ネームサーバ３０２は、判定されたＮ＿Ｐｏｒｔ＿ＩＤを送信側３０１に返送する。
【００２５】
[0059]  ステップ３０７〜３０８：Ｎ＿Ｐｏｒｔ＿ＩＤを受信した後、送信側３０１はＮ＿Ｐｏｒｔ＿ＩＤをそれ自体のＮ＿Ｐｏｒｔ＿ＩＤであるとみなし、Ｓ＿ＩＤとしてそれ自体のＮ＿Ｐｏｒｔ＿ＩＤを備えたＰＬＯＧＩフレーム、Ｎ＿Ｐｏｒｔ＿Ｎａｍｅ（物理ＷＷＰＮ）およびＮｏｄｅ＿Ｎａｍｅをネームサーバ３０２へ送信する。
【００２６】
[0060]  ステップ３０９〜３１０：ネームサーバは第２フレームを受信し、ネームサーバ３０２は、（本発明ではホスト１２０およびストレージシステム１００の物理および仮想ＷＷＰＮに対応している）ネットワーク内のすべてのアクセス可能な宛先側の（両方とも物理および仮想ＷＷＰＮである）Ｄ＿ＩＤ、Ｎ＿Ｐｏｒｔ＿ＮａｍｅおよびＮｏｄｅ＿Ｎａｍｅのリストを返送する。
【００２７】
[0061]  ステップ３１１：送信側３０１はこのリストを受信し、各宛先側のためのＤ＿ＩＤとＮ＿Ｐｏｒｔ＿Ｎａｍｅとの対応関係を示すリストを維持する。
【００２８】
[0062]  Ｎ＿Ｐｏｒｔ  ＩＤの仮想化と仮想ポートのためのファブリックログインプロシージャ
[0063]  ファイバーチャネルプロトコル（例えばファイバーチャネルデバイスアタッチ２、ＦＣ−ＤＡ２）の一部として、Ｎ＿Ｐｏｒｔ  ＩＤ仮想化（ＮＰＩＶ）が定義される。この特徴は、物理ポートが作成された複数の仮想ポートに物理ポートを通じて機能させることを可能にする。各仮想ポートのための仮想ＷＷＰＮは各物理ポート上で判定され、各仮想ＷＷＰＮのためのさらなるログインプロシージャは、ネットワーク上で各仮想ＷＷＰＮのためのＮ＿Ｐｏｒｔ＿ＩＤを取得するために実行される。したがって、Ｎ＿Ｐｏｒｔが図３で言及されているファブリックログイン（ＦＬＯＧＩ）プロシージャを通じて、その第１Ｎ＿Ｐｏｒｔ＿ＩＤ（物理ＷＷＰＮ）を取得した後、Ｎ＿Ｐｏｒｔは、００  ００  ００ｈｅｘの新たなＷＷＰＮとソースＩＤ（Ｓ＿ＩＤ）とを備えたファブリックディスカバリ要求を送信することによって、さらなる仮想Ｎ＿Ｐｏｒｔ＿ＩＤ（仮想ＷＷＰＮ）を取得することができる。空白のＳ＿ＩＤおよび新たなＰｏｒｔ＿Ｎａｍｅは、新たなＮ＿Ｐｏｒｔ＿ＩＤをＮ＿Ｐｏｒｔに割り当てるために、ネームサーバに信号を送る。新たなＮ＿Ｐｏｒｔ＿ＩＤの背後にあるノード上のアプリケーションまたはオペレーティングシステムは、そのネームサーバ情報を登録して、ちょうどそれがファブリックにログインする新たなＮ＿Ｐｏｒｔであるかのように、その他のログインプロセスのすべてに従わなければならない。ＦＤＩＳＣ要求を受信すると、ネームサーバ（スイッチ）は典型的に次の連続Ｎ＿Ｐｏｒｔ＿ＩＤを割り当てるが、その他のナンバリング方式が使用されてもよい。
【００２９】
[0064]  図４は、送信側４０１（ログインを要求する側であり、本発明ではホスト１２０およびストレージシステム１００に対応している）とネームサーバ４０２（本発明ではＳＡＮ１４０内のスイッチに対応している）との間の情報の交換を示す。図４に示されているプロシージャは、図３で示され、上で説明されたように、物理ポートの物理ＷＷＰＮのためにログインプロシージャが実行された後で、仮想ＷＷＰＮに関連した物理ポートを介して実行される。図４のプロシージャは、図３に示されている物理ＷＷＰＮのためのログインプロシージャに類似している。
【００３０】
[0065]  ステップ４０３：送信側４０１は固定のＤ＿ＩＤ（０×ＦＦＦＦＦＥ）、固定のＳ＿ＩＤ（０×００００００）、および送信側のＮ＿Ｐｏｒｔ＿Ｎａｍｅ（仮想ＷＷＰＮ）ならびにＮｏｄｅ＿Ｎａｍｅを含むＦＤＩＳＣ要求を送信する。ＦＤＩＳＣ要求は仮想ＷＷＰＮのためのＦＬＯＧＩ要求の代わりに使用されるので、ネームサーバ４０２は、送信側４０１から送信されたログイン要求が仮想ＷＷＰＮのためのものであるということを判定することができる。またＦＤＩＳＣ要求を用いて、送信側４０１は、図４に従って事前に実行されたファブリックログインプロシージャを通じて割り当てられたＮ＿Ｐｏｒｔ＿ＩＤである既存のＮ＿Ｐｏｒｔ＿ＩＤを使用するように要求することもできる。
【００３１】
[0066]  ステップ４０４〜４０５：ネームサーバ４０２は要求を受信し、ＦＣ＿ＰＨに基づいて、送信側４０１の仮想ＷＷＰＮのためのＮ＿Ｐｏｒｔ＿ＩＤを判定する。
【００３２】
[0067]  ステップ４０６：ネームサーバ４０２は、判定されたＮ＿Ｐｏｒｔ＿ＩＤを送信側４０１に返送する。
【００３３】
[0068]  ステップ４０７〜４０８：Ｎ＿Ｐｏｒｔ＿ＩＤを受信した後、送信側４０１はＮ＿Ｐｏｒｔ＿ＩＤをそれ自体のＮ＿Ｐｏｒｔ＿ＩＤであるとみなし、Ｓ＿ＩＤとしてそれ自体のＮ＿Ｐｏｒｔ＿ＩＤを備えたＰＬＯＧＩフレーム、Ｎ＿Ｐｏｒｔ＿Ｎａｍｅ（仮想ＷＷＰＮ）およびＮｏｄｅ＿Ｎａｍｅをネームサーバ４０２へ送信する
【００３４】
[0069]  ステップ４０９〜４１０：ネームサーバは第２フレームを受信し、ネームサーバ４０２は、（本発明ではホスト１２０およびストレージシステム１００の物理および仮想ＷＷＰＮに対応している）ネットワーク内のすべてのアクセス可能な宛先側の（両方とも物理および仮想ＷＷＰＮである）Ｄ＿ＩＤ、Ｎ＿Ｐｏｒｔ＿ＮａｍｅおよびＮｏｄｅ＿Ｎａｍｅのリストを返送する。
【００３５】
[0070]  ステップ４１１：送信側４０１はこのリストを受信し、各宛先側のためのＤ＿ＩＤとＮ＿Ｐｏｒｔ＿Ｎａｍｅ（物理ＷＷＰＮと仮想ＷＷＰＮ）との対応関係を示すリストを維持する。
【００３６】
[0071]  図２７は、既存のＮ＿Ｐｏｒｔ＿ＩＤを備えた仮想ポートのためのファブリックログインプロシージャを示す。図４のプロシージャは、第１回目に仮想ＷＷＰＮを用いてファブリックにログインするために使用され、図２７のプロシージャは、同じ仮想ＷＷＰＮと、典型的にはスイッチ上のネームサーバに仮想ポートが別の物理ポートに移動されていることを知らせる目的で、事前に図４のプロシージャを実行することによって仮想ＷＷＰＮに割り当てられたＮ＿Ｐｏｒｔ＿ＩＤとを用いてファブリックにログインするために使用される。ホストコンピュータは目標ポートの（ＷＷＰＮではない）Ｎ＿Ｐｏｒｔ＿ＩＤを目標とした要求を送信するので、目標ポートのＮ＿Ｐｏｒｔ＿ＩＤが変更される場合、ホストコンピュータは目標ポートに再ログイン（ＰＬＯＧＩ）して、目標ポートの新たなＮ＿Ｐｏｒｔ＿ＩＤを取得しなければならない。したがって、図２７のプロシージャを実行することによって、仮想ポートが別の物理ポートに移動された後で、ホストコンピュータが再ログインしなければならないという必要性をなくすことができる。
【００３７】
[0072]  ステップ２７０３：送信側２７０１は、Ｓ＿ＩＤフィールドの中の既存のＮ＿Ｐｏｒｔ＿ＩＤセットとともにＦＤＩＳＣ要求を送信することができる。
【００３８】
[0073]  ステップ２７０４〜ステップ２７０６：ネームサーバ２７０２はＦＤＩＳＣ要求を受信し、その要求に応じてネームサーバ２７０２は、Ｎ＿Ｐｏｒｔ＿ＩＤが、送信側から送信されたＦＤＩＳＣ要求のＳ＿ＩＤフィールドの中の仮想ＷＷＰＮの他に、別の物理または仮想ＷＷＰＮのために使用されているかどうかをチェックする。
【００３９】
[0074]  ステップ２７０７：Ｎ＿Ｐｏｒｔ＿ＩＤがすでに別の物理または仮想ＷＷＰＮのために使用されている場合、ネームサーバ２７０２は送信側２７０１に拒否メッセージを返送する。
【００４０】
[0075]  ステップ２７０８〜ステップ２７０９：送信側２７０１は、新たなＮ＿Ｐｏｒｔ＿ＩＤを取得するために、図４に示されているログインプロシージャを実行する必要がある。図４のプロシージャに続いて新たなＮ＿Ｐｏｒｔ＿ＩＤが受信されると、プロセスは終了する。
【００４１】
[0076]  ステップ２７１０：一方、現在の仮想ＷＷＰＮが別のＷＷＰＮのために使用されていない場合、ネームサーバ２７０２は同じＮ＿Ｐｏｒｔ＿ＩＤを返送し、既存のＮ＿Ｐｏｒｔ＿ＩＤが使用可能であることを送信側２７０１に通知する。
【００４２】
[0077]  ステップ２７１１〜ステップ２７１２：Ｎ＿Ｐｏｒｔ＿ＩＤを受信した後、送信側２７０１はＮ＿Ｐｏｒｔ＿ＩＤをそれ自体のＮ＿Ｐｏｒｔ＿ＩＤであるとみなし、Ｓ＿ＩＤとしてそれ自体のＮ＿Ｐｏｒｔ＿ＩＤを備えたＰＬＯＧＩフレーム、Ｎ＿Ｐｏｒｔ＿Ｎａｍｅ（物理ＷＷＰＮ）およびＮｏｄｅ＿Ｎａｍｅをネームサーバ２７０２へ送信する。
【００４３】
[0078]  ステップ２７１３〜２７１４：ネームサーバは第２フレームを受信し、ネームサーバ４０２は、（本発明ではホスト１２０およびストレージシステム１００の物理および仮想ＷＷＰＮに対応している）ネットワーク内のすべてのアクセス可能な宛先側の（両方とも物理および仮想ＷＷＰＮである）Ｄ＿ＩＤ、Ｎ＿Ｐｏｒｔ＿ＮａｍｅおよびＮｏｄｅ＿Ｎａｍｅのリストを返送する。
【００４４】
[0079]  ステップ２７１５：送信側２７０１はこのリストを受信し、各宛先側のためのＤ＿ＩＤとＮ＿Ｐｏｒｔ＿Ｎａｍｅ（物理ＷＷＰＮと仮想ＷＷＰＮ）との対応関係を示すリストを維持する。
【００４５】
[0080]  ノードログインプロシージャ
[0081]  図２６は、送信側２６０１（ログインを要求する側であり、本発明ではホスト１２０に対応している）と宛先側２６０２（ログインを受信する側であり、本発明ではストレージシステム１００に対応している）との間の情報の交換を示す。このプロシージャは、物理ポートと仮想ポートとの両方に共通のものである。
【００４６】
[0082]  ログインを要求する側（ホストコンピュータ）は、ＰＬＯＧＩ（ポートログイン）フレーム２６０３をログインを受信する側（ストレージシステム）に送信する。このフレームはＮ＿Ｐｏｒｔ＿Ｎａｍｅ（物理ＷＷＰＮまたは仮想ＷＷＰＮ）、Ｎｏｄｅ＿Ｎａｍｅ、Ｓ＿ＩＤ、およびログインを要求する側のその他の情報を含む。宛先の機器は、このフレームの中に含まれた情報を取り出す。ログインを承認するとき、この機器は「ＡＣＣ」２６０４と呼ばれるフレームをログインを要求する側へ送信する。一方、ログインを拒否するために、この機器は「ＬＳ＿ＲＪＴ」２６０５と呼ばれるフレームをログインを要求する側へ送信する。
【００４７】
[0083]  ログインを要求する側によって送信されたＰＬＯＧＩフレームに対するＡＣＣフレームの応答を検出する場合、ログインを要求する側は、ログインが成功し、ここでデータ転送などのＩ／Ｏプロセスを開始することができるということを知る。一方、ＬＳ＿ＲＪＴフレームを受信する場合、ログインを要求する側は、ログインが確立されず、対応するログイン受信側へのＩ／Ｏプロセスが実行されることが不可能であることを知る。前述の説明はクラス３のログインオペレーションについて示されているが、ログイン要求側からログイン受信側へ送信されることが可能な、その他のログインプロセスの情報は、同様にＮ＿Ｐｏｒｔ＿Ｎａｍｅ（物理ＷＷＰＮまたは仮想ＷＷＰＮ）、Ｎｏｄｅ＿ＮａｍｅおよびＳ＿ＩＤを含む。
【００４８】
[0084]  仮想ポート管理表
[0085]  本発明の仮想ポートマネージャ２０１は、図５に示されているように、仮想ポート管理表５００を使用して、物理ポートと仮想ポートとの間の関連を管理する。仮想ポート管理表５００は、ストレージシステムまたは管理者によって定義される固有のＩＤまたはネームであるグループフィールド５０１を有する。同じグループの中の物理ポートと仮想ポートとは、同じファブリックの中になければならない。また、物理ポートの物理ＷＷＰＮ（ハードウェアアドレス）を一覧にする物理ＷＷＰＮフィールド５０２、物理ポートの状態を示す状態フィールド５０６、および物理ポートともに作成され、それに関連した仮想ＷＷＰＮを示す仮想ＷＷＰＮフィールド５０３も含まれている。この仮想ＷＷＰＮは典型的にストレージシステムによって作成されるので、これは世界中で固有のものである。この要素が空白である場合、Ｎ＿Ｐｏｒｔ＿ＩＤ５０４とエクスポートされるボリューム５０５との要素が、物理ＷＷＰＮ自体のためのものであるということを意味する。Ｎ＿Ｐｏｒｔ＿ＩＤ５０４は、各々の物理ＷＷＰＮおよび仮想ＷＷＰＮのためのログインプロシージャを通じて取得されたＮ＿Ｐｏｒｔ＿ＩＤである。エクスポートされるボリューム５０５は、各ＷＷＰＮとともにエクスポートされるボリュームである。
【００４９】
[0086]  図６は、図５の仮想ポート管理表５００の中で示されているポート構成の例示的な概念図である。ＷＷＰＮ＿１  ６００およびＷＷＰＮ＿２  ６０３は、それぞれＦＣインタフェース１０８および１１１のハードウェアアドレスであり、Ｎ＿Ｐｏｒｔ＿ＩＤ＿１  ６０１およびＮ＿Ｐｏｒｔ＿ＩＤ＿２  ６０２は、図３に関して上で説明されたように、それぞれ各物理ポートのためのファブリックログインプロシージャを通じてＷＷＰＮ＿１  ６００およびＷＷＰＮ＿２  ６０３のために取得されたＮ＿Ｐｏｒｔ＿ＩＤである。また、ＷＷＰＮ＿Ｖ１  ６０４およびＷＷＰＮ＿Ｖ２  ６０６のポートアドレスを備えた仮想ポートは、ＷＷＰＮ＿１  ６００を備えた物理ポートとともに作成され、それに関連しており、Ｎ＿Ｐｏｒｔ＿ＩＤ＿Ｖ１  ６０５およびＮ＿Ｐｏｒｔ＿ＩＤ＿Ｖ２  ６０７は、図４または図２７に関して上で説明されたように、それぞれ各仮想ポートのためのファブリックログインプロシージャを通じてＷＷＰＮ＿Ｖ１  ６０４およびＷＷＰＮ＿Ｖ２  ６０６のために取得されたＮ＿Ｐｏｒｔ＿ＩＤである。さらに、ボリュームＶＯＬ＿Ａ６０８、ＶＯＬ＿Ｂ６０９およびＶＯＬ＿Ｃ６１０は、ＷＷＰＮ＿Ｖ１  ６０４を備えた仮想ポートを通じてエクスポートされ、ボリュームＶＯＬ＿Ｄ６１１、ＶＯＬ＿Ｅ６１２およびＶＯＬ＿Ｆ６１３はＷＷＰＭ＿Ｖ２  ６０６を備えた仮想ポートを通じてエクスポートされる。すべてのこれらのアドレスおよびボリュームは、ＧＲＯＵＰ＿１  ６１４という名前のグループに属している。
【００５０】
[0087]  ストレージデバイスへのアクセスの制限
[0088]  図２６に関して上で論じられたように、ノードログインプロシージャのために、送信側２６０１（ログインを要求する側であり、本発明ではホスト１２０に対応している）と宛先側２６０２（ログインを受信する側であり、本発明ではストレージシステム１００に対応している）との間で交換される情報は、物理ＷＷＰＮと仮想ＷＷＰＮとの両方に対して同じものである。したがって、各物理および仮想ポートを通じてエクスポートされるストレージデバイスへのアクセスを制限することは、上で参照により本明細書に組み込まれている米国特許第６，７７９，０８３号Ｂ２で開示されているものと同じ方法によって、実現されることが可能である。
【００５１】
[0089]  仮想ポートの作成
[0090]  ストレージシステムの管理者が物理ポート上に仮想ポートを作成すると、物理ポートの第１グループが作成され、次いでグループの中の物理ポート上に仮想ポートが作成される。グループの使用は、仮想ポートが元々の物理ポートと同じＳＡＮまたはファブリックに属する別の物理ポートにだけ移動されることを確実にする。それとは別に、仮想ポートがグループ以外のものに移動される場合、ホストは、仮想ポートが別の物理ポートに移動された後、仮想ポートに到達することができないかもしれない。したがって、グループの中のすべての物理ポートは、同じＳＡＮまたはファブリックに属していなければならない。図７は、物理ポートのグループを作るためのプロセスを表すフローチャートである。
【００５２】
[0091]  ステップ７００：管理者は新たなグループを作成するか、または既存のグループを選択する。
【００５３】
[0092]  ステップ７０１：管理者は物理ポートを選択し、その物理ポートを選択されたグループに追加する。
【００５４】
[0093]  図８は、仮想ポートを作成するためのプロセスを表しているフローチャートを示す。
【００５５】
[0094]  ステップ８００：管理者は、あらかじめ作成されていたグループを選択する。
【００５６】
[0095]  ステップ８０１：管理者は、グループ内で物理ポートを選択する。
【００５７】
[0096]  ステップ８０２：管理者は物理ポート上に仮想ポートを作成する。仮想ポートのためのＷＷＰＮはストレージシステムか、または管理者によって判定される。各仮想ポートのためのＷＷＰＮは物理ポートのためのＷＷＰＮを含めて、ストレージシステム内で固有のものでなければならない。
【００５８】
[0097]  ボリュームのエクスポーティング
[0098]  図９は、仮想ポートを通じてボリュームをエクスポートするためのプロセスを表しているフローチャートを示す。
【００５９】
[0099]  ステップ９００：管理者は既存のグループを選択する。
【００６０】
[0100]  ステップ９１０：管理者は既存の仮想ポートを選択する。
【００６１】
[0101]  ステップ９２０：管理者は、選択された仮想ポートを通じてエクスポートするためのボリュームを選択する。
【００６２】
[0102]  ポートのフェイルオーバ
[0103]  ストレージシステム１００が物理ポートの故障か、または物理ポートに接続されているリンクの故障を検出する場合、ストレージシステム１００は仮想ポートと物理ポートとの間の関連を変更する。すなわちストレージシステム１００は、仮想ポートをその仮想ポートが元々関連していた物理ポートから別の物理ポートに移動するので、仮想ポートは元々の物理ポートの故障の後であっても、ホストによってアクセスされることが可能である。図１０は、ポートのフエイルオーバのための例示的なプロセスを示す。
【００６３】
[0104]  ステップ１０００：ストレージシステム１００上の仮想ポートマネージャ２０１は、物理ポートの故障か、または物理ポートに接続されているリンクの故障を検出する（状態＝ＬＩＮＫ  ＤＯＷＮ）。
【００６４】
[0105]  ステップ１００１：仮想ポートマネージャ２０１は、故障した物理ポートと同じグループ内で、別の機能している物理ポートを探す。これは、状態が「ＯＫ」である物理ポートを見つけることによって達成される。
【００６５】
[0106]  ステップ１００２：仮想ポートマネージャ２０１は、同じグループの中に別の機能している（状態＝「ＯＫ」）物理ポートが存在するかどうかを判定する。別の機能しているポートが見つけ出される場合、プロセスはステップ１００３へ進む。そうでなければ、プロセスはステップ１００６へスキップする。
【００６６】
[0107]  ステップ１００３：仮想ポートマネージャ２０１は、同じグループ内で動作している物理ポートを選択する。
【００６７】
[0108]  ステップ１００４：仮想ポートマネージャ２０１は、以前に故障した元々の物理ポートに関連していた各仮想ＷＷＰＮのために、仮想ポート管理表５００に記憶された既存のＮ＿Ｐｏｒｔ＿ＩＤを用いて、図２７に関連して上で説明されたファブリックログインプロシージャを実行する。要求は、新たな物理ポートを通じて送信される。
【００６８】
[0109]  ステップ１００５：仮想ポートマネージャ２０１は、すべての仮想ポートのためのファブリックログインプロシージャが成功したかどうかについてチェックを行う。ファブリックログインプロシージャが失敗した仮想ポートがある場合、プロセスはステップ１００１へ戻り、ファブリックログインプロシージャが失敗した仮想ポートのために別の物理ポートを見つけようとする。それとは別に、転送されるすべての仮想ポートのためのファブリックログインプロシージャが成功している場合、プロセスはステップ１００６へ進む。
【００６９】
[0110]  ステップ１００６：仮想ポートマネージャ２０１は、前のステップで行われた物理ポートと仮想ポートとの間の関連の変更に応じて、仮想ポート管理表５００を修正し、プロセスを終了する。
【００７０】
[0111]  図１１は、ハードウェアアドレスＷＷＰＮ＿１（すなわち状態５０６＝「ＬＩＮＫ  ＤＯＷＮ」）を有する物理ポートに障害が起こった後の、図５の仮想ポート管理表５００の例示的な構成を示す。図１０に示されているプロセスの結果、ここで管理表５００は、物理ポートに関連した仮想ポートＷＷＰＮ＿Ｖ１およびＷＷＰＮ＿Ｖ２をＷＷＰＮ＿１からＷＷＰＮ＿２に変更した後であり、したがってホストが同じＷＷＰＮを使用してＷＷＰＮ＿Ｖ１およびＷＷＰＮ＿Ｖ２の下でボリュームにアクセスすることができる構成を表している。この構成は図６Ｂに示されており、ここでＷＷＰＮ＿Ｖ１およびＷＷＰＮ＿Ｖ２が物理ポートＷＷＰＮ＿２に関連していることを示している。
【００７１】
[0112]  第２実施形態―システム構成
[0113]  図１２は、本発明の第２実施形態を実装する情報システムの例を示す。ストレージシステム１２００は、第１実施形態のために図１に関して上で説明されたストレージシステム１００と同じ構成要素を含む。したがって、ここで再びそれらの構成要素が説明される必要はない。
【００７２】
[0114]  ストレージシステム１２００は、第２実施形態の情報システムの中で、少なくとも２つのホストコンピュータ１２２０および１２３０と動作可能に通信する。各ホスト１２２０および１２３０は、少なくともＣＰＵ１２２１、メモリ１２２２、イーサネット（登録商標）インタフェース１２２３およびＦＣインタフェース１２２４を含む。これらの構成要素は、内部バス１２２５を介してお互いに動作可能に接続されている。各ホスト１２２０および１２３０は、ＳＡＮ１４０を介しＦＣインタフェース１２２４を通じて、ストレージシステム１２２０に通信のために動作可能に接続されている。またホスト１２２０および１２３０は、ＬＡＮ１２５０を介しイーサネット（登録商標）インタフェース１２２３を介して、お互いに通信のために動作可能に接続されている。
【００７３】
[0115]  ソフトウェアモジュール
[0116]  図１３に示されているように、ストレージシステム１２００のコントローラ１０１の中には、メモリ１０４のＣＰＵ１０３によって実行されてもよい３種類のソフトウェアモジュールがある。ボリュームマネージャ１３０１は、ストレージシステム１２００の中の１つまたは複数の物理デバイス１０２を使用して、１つまたは複数のボリューム１３０４を作成し、ボリューム１３０４と物理デバイス１０２との間のマッピングを管理する。以下でさらに論じられるように、ポートロードモニタ１３０２は周期的に各物理ポート上のロードを監視し、物理ポートロード表１４００を更新する。仮想ポート１３０３は、ストレージシステム１２００の管理者からの命令に従って、物理ポートの下で１つまたは複数の仮想ポートを作成する。また必要であると判定される場合、仮想ポートマネージャ１３０３は、ポートロードモニタ１３０２からの命令に従って、物理ポートと仮想ポートとの間の関連を変更する。仮想ポートマネージャ１３０３はまた、第１の実施形態で図５および１１に関して説明されたものと同じ仮想ポート管理表５００を使用して、情報を管理する。
【００７４】
[0117]  また、ホスト１２２０および１２３０の中には、メモリ１２２２のＣＰＵ１２２１によって実行される２種類のソフトウェアモジュールがあってもよい。ハイパーバイザ１３１０は、Ｗｉｎｄｏｗｓ（登録商標）、ＬｉｎｕｘなどのＯＳのために複数の仮想サーバ環境（仮想機械ＶＭ）を提供する仮想機械ソフトウェアを表しており、したがって複数のＯＳが単一のサーバハードウェア上で実行されることが可能である。またハイパーバイザ１３１０は、別のサーバの物理ハードウェア上で実行中の第２のハイパーバイザ１３１０と協力して、実行中の仮想機械を別のサーバの物理ハードウェアにマイグレートするための機能を提供する。さらにハイパーバイザ１３１０は、ストレージシステム１２００でＷＷＰＮを目標とするものの下で、ＶＭデータが記憶されたものを管理する。ＶＭ１３１１は、Ｗｉｎｄｏｗｓ（登録商標）、Ｌｉｎｕｘなどのよく知られているオペレーティングシステムが仮想サーバ環境の内部で動作することを可能にするための仮想サーバ環境を提供する。
【００７５】
[0118]  ＶＭ−ＷＷＰＮマッピング表
[0119]  ハイパーバイザ１３１０は、図２８に示されているＶＭ−ＷＷＰＮマッピング表２８００を使用して、ストレージシステム１２００上のＶＭ１３１１と目標ＷＷＰＮとの間の対応関係を管理する。ＶＭ−ＷＷＰＮマッピング表２８００は、ＬＡＮ１２５０を通じてホスト１  １２２０およびホスト２  １２３０上のハイパーバイザ１３１０間で共有される。ＷＭ−ＷＷＰＮマッピング表２８００は、仮想機械のＩＤまたはネームを示すＶＭフィールド２８０１を含む。目標ＷＷＰＮフィールド２８０２は、ＶＭに対応するＶＭのボリュームを記憶するデータがエクスポートされる、ストレージシステム１２００上の対応するＷＷＰＮを示す。
【００７６】
[0120]  物理ポートロード表
[0121]  図１４は、ポートロード表１４００のデータ構造の例を示す。ストレージシステム１２００上のロードモニタ１３０２は周期的に各物リポート上のロードを監視し、物理ポートロード表１４００を更新する。示されている実施形態では、ＩＯＰＳ（秒あたりＩ／Ｏオペレーション）が測定される。これは現在のＩＯＰＳ、ピークのＩＯＰＳ、または特定の期間にわたって平均されたＩＯＰＳであってもよい。さらに、その他のロードまたは性能の測定基準がＩＯＰＳの代わりに、またはＩＯＰＳに加えて使用されてもよい。ポートロード表１４００は、仮想ポート管理表５００の中のグループ５０１と同じ物である、グループ１４０１のためのフィールドを含む。グループフィールド５０１の中の値は、仮想ポート管理表５００が変更される場合に、グループフィールド１４０１にコピーされる。物理ＷＷＰＮフィールド１４０２は物理ポートのＷＷＰＮを示し、ロードフィールド１４０３は、ロードモニタ１３０２によって判定される、対応する物理ポート上の最新のロードを示す。
【００７７】
[0122]  仮想ポート管理表
[0123]  第１実施形態で図５および１１に関して上で説明されたものと同じ仮想ポート管理表５００が、第２実施形態で使用されてもよい。図１５は、ロードバランシングの前の第２実施形態の構成の例示的な概念図である。ストレージシステム１２００上のすべてのポートアドレス、ボリュームおよびそれらの関連は、第１実施形態に関して上で説明され、最初に図５の仮想ポート管理表の中で示されているものと同じである。しかしながら、各々のハイパーバイザ１３１０−１、１３１０−２ならびにＶＭ１３１１−１および１３１１−２もまた、それら自体のために、それら自体の固有のＷＷＰＮを有している。ＷＷＰＮ＿３  １５２５はホスト１  １２２０上のＦＣインタフェース１２２４の物理ポートアドレスであり、ホスト１２２０上のハイパーバイザ１３１０によって使用されるＮ＿Ｐｏｒｔ＿ＩＤ＿３  １５２４を有する。同様にホスト２  １２３０上のＷＷＰＮ＿４  １５２７は、ホスト２  １２３０上のＦＣインタフェース１２２４の物理ポートアドレスであり、Ｎ＿Ｐｏｒｔ＿ＩＤ＿４  １５２６を有する。ＷＷＰＮ＿Ｖ３およびＷＷＰＮ＿Ｖ４  １５２５は、それぞれＶＭ＿１  １５４０およびＶＭ＿２  １５４１によって使用される仮想ポートアドレスであり、Ｎ＿Ｐｏｒｔ＿ＩＤ＿Ｖ３  １５２０およびＮ＿Ｐｏｒｔ＿ＩＤ＿Ｖ４  １５２２は、それぞれＷＷＰＮ＿Ｖ３  １５２１およびＷＷＰＮ＿Ｖ４  １５２３に割り当てられる。ＶＭ＿１  １３１１−１のためのデータは、ストレージシステム１２００上のＷＷＰＮ＿Ｖ１  ６０５を通じてエクスポートされるボリュームＶＯＬ＿Ａ６０８、ＶＯＬ＿Ｂ６０９およびＶＯＬ＿Ｃ６１０に記憶され、Ｎ＿Ｐｏｒｔ＿ＩＤ＿Ｖ１はＷＷＰＮ＿Ｖ１  ６０４に割り当てられる。ＶＭ＿２のためのデータは、ＷＷＰＮ＿Ｖ２  ６０６を通じてエクスポートされるボリュームＶＯＬ＿Ｄ６１１、ＶＯＬ＿Ｅ６１２およびＶＯＬ＿Ｆ６１３に記憶され、Ｎ＿Ｐｏｒｔ＿ＩＤ＿Ｖ２  ６０７はＷＷＰＮ＿Ｖ２  ６０６に割り当てられる。図１５では、ＶＭ＿１  １３１１−１はＷＷＰＮ＿Ｖ１  ６０５を通じてエクスポートされるボリュームＶＯＬ＿Ａ６０８、ＶＯＬ＿Ｂ６０９およびＶＯＬ＿Ｃ６１０を用いてＩ／Ｏオペレーション１５３０を実行し、ＶＭ＿２  １３１１−２はＷＷＰＮ＿Ｖ２  ６０６を通じてエクスポートされるボリュームＶＯＬ＿Ｄ６１１、ＶＯＬ＿Ｅ６１２およびＶＯＬ＿Ｆ６１３を用いてＩ／Ｏオペレーション１５３１を実行する。
【００７８】
[0124]  ポート間のロードバランシング
[0125]  図１６は、図１５の配置の中のポート間のロードバランシングの例示的な概念図である。ハイパーバイザ１３１０−１がそこで動作中のＶＭ（この場合ＶＭ＿２  １３１１−２）をマイグレートする場合、ハイパーバイザ１３１０−１はＶＭを一時停止し（結果としてＶＭからのＩ／Ｏオペレーション１５３１は「Ｘ」１６００によって示されているように、一時停止されることになる）、ハイパーバイザ１３０１−１は一時停止されたＶＭのデータが記憶されている仮想ＷＷＰＮをストレージシステム１２００に通知する。次いでストレージシステム１２００は、ストレージシステム１２００の中の各物理ポート上のロードをチェックする。ロードのバランスがとられることが可能な場合、ストレージシステム１２００は、矢印１６０１によって示されているように、通知を受けた仮想ＷＷＰＮと物理ＷＷＰＮとの間の関連を切り換える。ストレージシステム１２００がロードバランシングプロセスを完了した後、ハイパーバイザ１３１０は、矢印１６０２によって示されているようにＶＭをマイグレートし、ＶＭの処理を再開する。結果として、ＶＭ＿２  １３１１−２からのＩ／Ｏは、矢印１６０３によって示されているように、ホスト２  １２３０から再開されることになる。
【００７９】
[0126]  図１７は、ロードバランシングを実行するために仮想ポートの物理ポートを切り換えるためのプロセスを表すフローチャートである。
【００８０】
[0127]  ステップ１７００：ホスト１２２０上のハイパーバイザ１３１０−１は、ホスト２  １２３０へマイグレートされるべきＶＭのオペレーションを一時停止する（この場合図１５および１６のＶＭ＿２  １３１１−２がホスト２  １２３０へマイグレートされるべきものである。）。
【００８１】
[0128]  ステップ１７０１：ハイパーバイザ１３１０−１は、Ｉ／Ｏが一時停止される仮想ポートＷＷＰＮ（ＷＷＰＮ＿Ｖ１  ６０５）をストレージシステム１２００に通知する。
【００８２】
[0129]  ステップ１７０１〜１７０３：ストレージシステム１２００上の仮想ポートマネージャ１３０３は通知を受信し、どの物理ポートが、Ｉ／Ｏが一時停止されている仮想ポートＷＷＰＮ（この例ではＷＷＰＮ＿１  ６００）と相関するのかを判定する。これは仮想ポート管理表５００を参照することによって、達成されてもよい。仮想ポートマネージャ１３０３は次いで物理ポートロード表１４００を参照し、この物理ポート上のロードを同じグループの中の別の物理ポート上のロードと比較する。
【００８３】
[0130]  ステップ１７０４：仮想ポートマネージャ１３０３は、通知がハイパーバイザ１３０１−１から受信された仮想ポートＷＷＰＮに対応する物理ポート上のものよりもロードが少ない別の物理ポートがグループの中にあるかどうかを判定するためのチェックを行う。ロードバランシングを開始するために、所定の量の閾値が特定されることが可能である。上述のような物理ポートがある場合、プロセスはステップ１７０５へ進む。そうでなければ、プロセスはステップ１７０８へ進む。
【００８４】
[0131]  ステップ１７０５：仮想ポートマネージャ１３０３は、ロードが最も少ない物理ポートを選択する。
【００８５】
[0132]  ステップ１７０６：仮想ポートマネージャ１３０３は、ハイパーバイザ１３０１−１から通知が受信された仮想ＷＷＰＮのために、（仮想ポート管理表５００に記憶された）既存のＮ＿Ｐｏｒｔ＿ＩＤを使用して、図２７の中で言及されるプロシージャに従ってファブリックログインプロシージャを実行する。要求は、ステップ１７０５で選択された物理ポート（すなわちロードが最も少ない物理ポート）を通じて送信される。
【００８６】
[0133]  ステップ１７０７：仮想ポートマネージャ１３０３は、ステップ１７０５および１７０６で行われた物理ポートと仮想ポートとの間の関連の変更に応じて、仮想ポート管理表５００を修正する。
【００８７】
[0134]  ステップ１７０８：仮想ポートマネージャ１３０３は、ロードバランシングの完了をハイパーバイザ１３１０−１に通知する。
【００８８】
[0135]  ステップ１７０９〜１７１０：ハイパーバイザ１３１０−１は通知を受信し、ステップ１７００で一時停止されたＶＭ（ＶＭ＿２  １３１１−２）をホスト２  １２３０へマイグレートする。このＶＭのマイグレーションはまた、ホスト１  １２２０の物理ポートＷＷＰＮ＿３  １５２５からホスト２  １２３０の物理ポートＷＷＰＮ＿４  １５２７への仮想ポートＷＷＰＮ＿Ｖ４  １５２３の転送も含むことが可能である。これを達成するために、ホスト１  １２２０は転送されるべき仮想ポートを識別し、次いで仮想ポート（この場合ＷＷＰＮ＿Ｖ４  １５２３）は図２７で言及されているプロシージャを使用して転送される。次いでＶＭ＿２  １３１１−２がホスト２  １２３０へマイグレートされ、ＶＭ＿２はホスト２の仮想ポートＷＷＰＮ＿Ｖ４  １５２６およびストレージシステム１２００の仮想ポートＷＷＰＮ＿Ｖ２＿６０６を使用して、Ｉ／Ｏオペレーションを実行し続けてもよい。この仮想ポートの連続性によって、仮想ポートは本質的に仮想機械および仮想機械によって使用されるボリュームに割り当てられることが可能となり、したがって、仮想機械のマイグレーションおよび物理ポートのロードバランシングを簡略化する。
【００８９】
[0136]  図１８は、ＶＭ＿２がホスト２  １２３０へマイグレートされた後の、図５の仮想ポート管理表５００の例を示す。図１７に示されているプロセスの結果、ストレージシステムは仮想ポートＷＷＰＮ＿Ｖ２のために、関連した物理ポートをＷＷＰＮ＿１からＷＷＰＮ＿２に変更するので、物理ポートＷＷＰＮ＿１およびＷＷＰＮ＿２上のロードはよりバランスをとられる。さらに上で言及されたロードバランシングプロシージャは、仮想機械が１つのホストコンピュータから別のホストコンピュータへマイグレートされる場合に、ストレージシステム中で実行されるものとして説明されている。基本的に、ストレージシステムは、ホストからストレージシステムに対してＩ／Ｏを一時停止するためにホストを必要とし、これは物理ポート上のロードのバランスをとるための時間をストレージシステムに与える。したがって、ホスト上のハイパーバイザはＶＭマイグレーションのときにストレージシステムに対するＩ／Ｏオペレーションを一時停止する必要があり、ストレージシステムはその機会を利用することができるので、ストレージシステムは第２実施形態でのＶＭマイグレーションに際して、物理ポート間のロードバランシングを実行する。したがってロードバランシングは、Ｉ／Ｏがストレージシステムに対して一時停止されている別の機会に実行されることが可能である。代替の変形例として、ストレージシステム１２００のポートロードモニタ１３０２は、伝えられた場合にポートロードモニタ１３０２がホストまたはシステムの管理者に通知を送信するようにし、ある構成の中でロードバランシングを実行するためにＩ／Ｏオペレーションを一時停止するためのトリガであってもよい、ポートロードのための特定された閾値を含むことが可能であり、またその後、ＶＭマイグレーションを実行するかどうかについての判定が行われてもよい。
【００９０】
[0137]  さらに、ロードバランシングは図６Ａ〜６Ｂで言及されている第１実施形態の場合にも適用されることが可能であることに留意されたい。例えば、ポートロードモニタ１３０２が、例えば特定の所定の閾値を超える場合などに、第１物理ポートＷＷＰＮ＿１  ６００上のロードが実質的にＷＷＰＮ＿２  ６０２上のロードよりも大きいことを示す場合、仮想ポートＷＷＰＮ＿Ｖ１  ６０４またはＷＷＰＮ＿Ｖ２  ６０６のうちの１つは上で言及されたプロセスを使用して、ＷＷＰＮ＿２  ６０３などのストレージシステム中の別の物理ポートに転送されることが可能であるので、それぞれ仮想ポートＷＷＰＮ＿Ｖ１  ６０４またはＷＷＰＮ＿Ｖ２  ６０６を通じてアクセスされるボリューム６０８〜６１０または６１１〜６１３は、その後第２物理ポートＷＷＰＮ＿２  ６０３を通じてアクセスされる。本開示より、その他の変形例もまたは、当業者には明らかであろう。
【００９１】
[0138]  第３実施形態−システム構成
[0139]  図１９は、本発明の第３実施形態を実装する情報システムの例を示す。この実施形態で、局所ストレージシステム１９００は、遠隔ストレージシステム１９０１との通信のために、動作可能に接続されている。局所ストレージシステム１９００および遠隔ストレージシステム１９０１は、図１の中で先に説明されたストレージシステム１００と同じハードウェア構成要素を含むことが可能である。しかしながら、局所ストレージシステム１９００は、遠隔コピーリンク１９０２を通じて、ＦＣインタフェースのうちの１つを介して遠隔ストレージシステム１９０１に接続されてもよい。遠隔コピーリンク１９０２は典型的に、ＷＡＮ（ワイドエリアネットワーク）と、エクステンダなどのファイバーチャネル−インターネットプロトコル（ＦＣ−ＩＰ）コンバータとから構成されている。
【００９２】
[0140]  第３実施形態のシステムには少なくとも２つのホスト１９０３および１９０４が存在しているが、より多くのホストが各ロケーションに存在してもよい。局所ホストコンピュータ１９０３は、局所ＳＡＮ１９０５を介して局所ストレージシステム１９００と通信する。遠隔ホストコンピュータ１９０４は、遠隔ＳＡＮ１９０６を介して遠隔ストレージシステム１９０１と通信する。各ホスト１９０３および１９０４は、第２実施形態に関して上で説明された図２のホスト１２２０と同じ構成要素を含む。また局所ホスト１９０３と遠隔ホスト１９０４とは、ＷＡＮ１９０７を介しイーサネット（登録商標）インタフェースを通じて、通信のために互いに接続されている。局所ＳＡＮ１９０５と遠隔ＳＡＮ１９０６とは、この実施形態では分離されている。したがって、局所ホスト１９０３と局所ストレージシステム１９００とは同じファブリックの中にあるが、それら自体のファブリックの中にある遠隔ホスト１９０４と遠隔ストレージシステム１９０１とは異なったファブリックの中にある。
【００９３】
[0141]  ソフトウェアモジュール
[0142]  図２０に示されているように、局所ストレージシステム１９００および遠隔ストレージシステム１９０１の各々のメモリの中には、３つのソフトウェアモジュールが存在する。ボリュームマネージャ２０００は、各ストレージシステム１９００および１９０１の１つまたは複数の物理デバイスを使用して、１つまたは複数のボリューム２００３を作成し、ボリューム２００３と、各ストレージシステム１９００および１９０１の物理デバイスとの間のマッピングを管理する。遠隔コピーマネージャ２００１は、それぞれのストレージシステム１９００、１９０１の管理者から受信された命令に従って、遠隔コピーグループを作成する。遠隔コピーマネージャ２００１は、遠隔コピー管理表２１００を使用して遠隔コピーグループを管理する。仮想ポートマネージャ２００２は、局所ストレージシステム１９００および遠隔ストレージシステム１９０１のそれぞれの管理者からの命令に従って、物理ポート下で１つまたは複数の仮想ポートを作成する。また仮想ポートマネージャ２００２は、遠隔コピーマネージャから受信された命令に従って、仮想ポートをアクティブ化または非アクティブ化する。
【００９４】
[0143]  さらに、局所ホスト１９０３および遠隔ホスト１９０４のメモリの中には、２種類のソフトウェアモジュールが存在する。ハイパーバイザ２００８は、図１３の第２実施形態に関して上で説明されたハイパーバイザ１３１０と同じものである。ＶＭ２００９は、図１３の第２実施形態に関して上で説明されたＶＭ１３１１と同じものである。
【００９５】
[0144]  ＶＭ−ＷＷＰＮマッピング表
[0145]  ハイパーバイザ２００８は、第２実施形態で図２８に関して上で説明されたもののような同じ共有の表２８００を使用して、局所ストレージシステム１９００上のＶＭ２００９と目標ＷＷＰＮとの間の対応性を管理する。表２８００は、ＷＡＮ１９０７を通じて局所ホスト１９０３および遠隔ホスト１９０４上のハイパーバイザ２００８の間で共有される。
【００９６】
[0146]  遠隔コピー管理表
[0147]  仮想ポートマネージャ２００２は、図２１に示されているように、遠隔コピー管理表２１００を使用して物理ポートと仮想ポートとボリュームとの間の関連を管理する。遠隔コピー管理表２１００は、遠隔コピーリンク２００３を通じて局所ストレージシステム１９００と遠隔ストレージシステム１９０１との間で共有され、ストレージシステムか、または管理者によって定義されるグループの固有のＩＤまたはネームを示すグループフィールド２１０１を含む。また、どのストレージシステムのためにどのボリュームが現在アクティブであるのかを示すアクティブボリュームフィールド２１０７も含まれる。このフィールド２１０６の「局所」という項目は、局所ストレージシステム１９００のボリュームがアクティブであることを示し、「遠隔」という項目は、遠隔ストレージシステム１９０１がアクティブであることを示す。遠隔コピー管理表２１００はまた、グループのために作成された仮想ＷＷＰＮを示す仮想ＷＷＰＮフィールド２１０２も含む。ＷＷＰＮはストレージシステムか、または管理者によって定義される。遠隔コピー管理表２１００はまた、局所ストレージシステム１９００上の仮想ＷＷＰＮの下でボリュームにアクセスするために使用される局所ストレージシステム１９００上の物理ポートの物理ＷＷＰＮ（ハードウェアアドレス）を示す局所物理ＷＷＰＮフィールド２１０３と、遠隔ストレージシステム１９０１によってボリュームが引き継がれた後、仮想ＷＷＰＮの下でボリュームにアクセスするために使用されることになる遠隔ストレージシステム１９０１上の物理ポートの物理ＷＷＰＮ（ハードウェアアドレス）を示す遠隔物理ＷＷＰＮフィールド２１０４と、仮想ＷＷＰＮを通じてエクスポートされる局所ストレージシステム１９００上のボリュームを示す局所ボリュームフィールド２１０５と、遠隔コピーの複製（すなわちミラーリング）を受信するために局所ストレージシステム１９００上の局所ボリュームと対にされる遠隔ストレージシステム１９０１上のボリュームを示す遠隔ボリュームフィールド２１０６とを含む。したがって局所ボリュームと遠隔ボリュームとの間で複製ペアが形成される場合、局所ストレージシステム１９００の局所ボリュームの中のデータは、遠隔ストレージシステム１９０１の遠隔ボリュームに継続的にコピーされる。また、これらのボリュームは、遠隔ストレージシステム１９０１によってボリュームの管理が引き継がれた後、遠隔ストレージシステム１９０１上の仮想ＷＷＰＮを通じてエクスポートされることになる。
【００９７】
[0148]  図２２は、図２１の遠隔コピー管理表２１００の中で示されている構成の例示的な概念図である。図２２では、ＷＷＰＮ＿１  ２２００とＷＷＰＮ＿２  ２２０１とは、それぞれ局所ストレージシステム１９００と遠隔ストレージシステム１９０１の中のＦＣインタフェース１０８のハードウェアアドレスである。ＦＣインタフェース１１１（図２２には不図示）は、ストレージシステム１９００と１９０１との間の通信リンク１９０２のために使用されてもよい。ＷＷＰＮ＿Ｖ１  ２２０２およびＷＷＰＮ＿Ｖ２  ２２０３は、物理ＷＷＰＮ＿１  ２２００上で作成された仮想ＷＷＰＮである。またＷＷＰＮ＿３  ２２２１およびＷＷＰＮ＿４  ２２２２は、それぞれ局所ホスト１９０３および遠隔ホスト１９０４上のＦＣインタフェース１２２４の物理ハードウェアアドレスである。仮想ＷＷＰＮであるＷＷＰＮ＿Ｖ３  ２２２３およびＷＷＰＮ＿Ｖ４  ２２２４は局所ホスト１９０３上のＷＷＰＮ＿３  ２２２１で作成され、それぞれＶＭ＿１  ２００９−１およびＶＭ＿２  ２００９−２によって使用される。ＶＭ＿１  ２００９−１のデータは、Ｉ／Ｏオペレーション２２４１によって局所ストレージシステム１９００上のＷＷＰＮ＿Ｖ１  ２２０２を通じてエクスポートされるボリュームＶＯＬ＿Ａ２２０４およびＶＯＬ＿Ｂ２２０５に記憶され、ＶＭ＿２  ２２２６のデータは、Ｉ／Ｏオペレーション２２４２によって局所ストレージシステム１９００上のＷＷＰＮ＿Ｖ２  ２２０３を通じてエクスポートされるボリュームＶＯＬ＿Ｃ  ２２０６に記憶される。局所ストレージシステム１９００のＧＲＯＵＰ＿１  ２２１０の中のボリュームは遠隔ストレージシステム１９０１のＧＲＯＵＰ＿１  ２２１２へミラーリングされ、ＶＯＬ＿Ａ２２０４はＶＯＬ＿Ｄ２２０７と複製ペアを形成し、ＶＯＬ＿Ｂ２２０５はＶＯＬ＿Ｅ２２０８と複製ペアを形成するので、矢印２２４４によって示されているように、第１ボリュームとしてＶＯＬ＿Ａ２２０４およびＶＯＬ＿Ｂ２２０５に書き込まれたデータは、それぞれ第２ボリュームとしてＶＯＬ＿Ｄ２２０７およびＶＯＬ＿Ｅ２２０８へ継続的にコピーされる。同様に、局所ストレージシステム１９００のＧＲＯＵＰ＿２  ２２１１の中のボリュームは遠隔ストレージシステム１９０１のＧＲＯＵＰ＿２  ２２１３の中のボリュームへミラーリングされ、ＶＯＬ＿Ｃ２２０６はＶＯＬ＿Ｆ２２０９と複製ペアを形成するので、矢印２２４３によって示されているように、第１ボリュームとしてＶＯＬ＿Ｃ２２０６に書き込まれたデータは、第２ボリュームとしてＶＯＬ＿Ｆ２２０９へ継続的にコピーされる。
【００９８】
[0149]  仮想ポートの遠隔ストレージシステムへの転送
[0150]  図２３は、仮想ポートを局所ストレージシステムから遠隔ストレージシステムへ引き継ぐためのプロセスの例示的な概念図である。ハイパーバイザ２００８−１がＶＭ（例えば図２３のＶＭ＿２）を遠隔ホスト１９０４へマイグレートする場合、ハイパーバイザ２００８−１はＶＭ＿２の処理を一時停止し（結果としてＶＭ＿２からのＩ／Ｏ２２４２は「Ｘ」２３００によって示されているように、一時停止される）、ＶＭのデータを記憶しているボリュームがエクスポートされる局所ストレージシステム上の仮想ＷＷＰＮの局所ストレージシステム１９００へ通知を与える。次いで、ローカルストレージシステム１９００は、矢印２３０１によって示されているように、影響を受けた複製ペアの方向をスワップして、任意の必要な同期化を実行するので、遠隔ストレージシステム１９０１の第２ボリュームが第１ボリュームとなり、遠隔ストレージシステムの第１ボリュームが複製ペアの中の第２ボリュームとなる。局所ストレージシステム１９００はまた、ＷＷＰＮ＿Ｖ２のためのファブリックログアウトプロシージャも実行する。次いで遠隔ストレージシステム１９０１は、矢印２３０２によって示されているように、仮想ポートＷＷＰＮ＿Ｖ２  ２２０３を物理ポートＷＷＰＮ＿２  ２２０１に切り換えるために、ＷＷＰＮ＿Ｖ２  ２２０３のために図２７に関して上で説明されたプロシージャを使用して、ファブリックログインプロシージャを実行する。局所ストレージシステム１９００および遠隔ストレージシステム１９０１でそれらのプロセスが完了した後、ハイパーバイザ２００８−１は矢印２３０４によって示されているように、ＶＭ＿２  ２２０９−２を遠隔ホスト１９０４へマイグレートし、Ｉ／Ｏオペレーションは矢印２３０５によって示されているように、ＶＭ＿２  ２２０９−２から第１ボリュームとしてのＶＯＬ＿Ｆ２２０９に対して再開される。
【００９９】
[0151]  図２４は、仮想ポートを介して遠隔ストレージシステムへ転送を行うためのプロセスを表すフローチャートである。
【０１００】
[0152]  ステップ２４００：局所ホスト１９０３上のハイパーバイザ２００８は、遠隔ホスト１９０４へマイグレートされるＶＭ（図２２〜２３の例ではＶＭ＿２  ２００９−２）を一時停止する。
【０１０１】
[0153]  ステップ２４０１：ハイパーバイザ２００８は、ステップ２４００で一時停止されたＶＭによってアクセスされたものであり、現在は遠隔ストレージシステム１９０１へ転送されなければならない仮想ＷＷＰＮを局所ストレージシステム１９００に通知する。
【０１０２】
[0154]  ステップ２４０２〜２４０３：局所ストレージシステム１９００上の仮想ポートマネージャ２００２は通知を受信して、ハイパーバイザ２００８によって特定される仮想ＷＷＰＮが入るグループを識別し、グループの中のすべてのボリュームを一覧にする。
【０１０３】
[0155]  ステップ２４０４：局所ストレージシステム１９００上の遠隔コピーマネージャ２００１は局所ボリュームと遠隔ボリュームとの間の複製の方向を変更する（すなわち、第２ボリュームであったボリュームが第１ボリュームとなり、またその逆のことも生じるように、遠隔コピーのペアをスワップする）。
【０１０４】
[0156]  ステップ２４０５：仮想ポートマネージャ２００２は、局所ＳＡＮ１９０５のファブリックから各々の特定された仮想ポートをログアウトするために、グループの中の各仮想ポートのためにＬＯＧＯ（ログアウト）要求を送信する。ファブリックログアウト（ＬＯＧＯ）は、特定のＮ＿Ｐｏｒｔ＿ＩＤがもはや局所ファブリックの中で使用されていないことをＦＣスイッチ上のネームサーバに通知するために、ホストまたはストレージシステムによって使用される。この場合、仮想ポートは異なるファブリックにマイグレートされるべきものなので、仮想ポートのログアウトが実行されなければならない。
【０１０５】
[0157]  ステップ２４０６：局所ストレージシステム１９００上の仮想ポートマネージャ２００２は、遠隔の複製ペアのスワッピングの完了、およびグループの中の各仮想ポートのためのローカルファブリックからのログアウトを遠隔ストレージシステム１９０１に通知する。
【０１０６】
[0158]  ステップ２４０７〜２４０８：遠隔ストレージシステム１９０１上の仮想ポートマネージャ２００２は、グループの中の各仮想ポートのために、図４に関して上で説明されたようにファブリックログインプロシージャを実行する。Ｎ＿Ｐｏｒｔ＿ＩＤは特定のファブリック（ＳＡＮ）内で唯一の固有のものであり、したがって既存のＮ＿Ｐｏｒｔ＿ＩＤが遠隔ストレージ１９０１へ転送されることが試みられる場合、それが遠隔ＳＡＮ１９０６の中で再利用されることが可能であるという保証はないので、図４のファブリックログインプロシージャは、図２７の同プロシージャの代わりに使用される。したがって、遠隔ＳＡＮの中の既存のＮ＿Ｐｏｒｔ＿ＩＤの固有性が保証されない限り、既存のＮ＿Ｐｏｒｔ＿ＩＤを引き継ぐことを試みても意味がない。
【０１０７】
[0159]  ステップ２４０９：遠隔ストレージシステム１９０１上の仮想ポートマネージャ２００２は、ファブリックログインの完了を遠隔ストレージシステム１９００に通知する。
【０１０８】
[0160]  ステップ２４１０〜２４１１：局所ストレージシステム１９００上の仮想ポートマネージャ２００２は、仮想ポートのためのログインの完了の通知を受信し、仮想ポートの転送の完了をハイパーバイザ２００８に通知する。
【０１０９】
[0161]  ステップ２４１２〜２４１３：ハイパーバイザ２００８は、ステップ２４００で一時中止されたＶＭ＿２  ２００９−２を遠隔ホスト１９０４へマイグレートするので、ＶＭからのＩ／Ｏオペレーションは以前と同じ仮想ポートに対して再開される。このＶＭのマイグレーションは、局所ホスト１９０３の物理ポートＷＷＰＮ＿３  ２２２１から遠隔ホスト１９０４の物理ポートＷＷＰＮ＿４  ２２２２への物理ポートＷＷＰＮ＿Ｖ４  ２２４４の転送を含むことも可能である。これを達成するために、ローカルホスト１９０３は、転送されるべき仮想ポートのためのローカルファブリックにログアウト要求を送信し、次いで図２７で言及されているプロシージャを使用して、仮想ポートＷＷＰＮ＿Ｖ４  ２２２４が転送される。次いで、ＶＭ＿２  ２００９−２は遠隔１９０４へマイグレートされ、ＶＭ＿２は遠隔ホスト１９０４の仮想ポートＷＷＰＮ＿Ｖ４  ２２２４および遠隔ストレージシステム１９０１の仮想ポートＷＷＰＮ＿Ｖ２  ２２０３を使用して、Ｉ／Ｏオペレーションを実行し続けてもよい。この連続性によって、仮想ポートは本質的に仮想機械および仮想機械によって使用されるボリュームに割り当てられることが可能となり、それによって、局所ホストから遠隔ホストへの仮想機械のマイグレーションを簡略化する。したがって以上のプロセスが、仮想機械上で使用するオペレーティングシステムまたはその他のソフトウェアの、第１局所ホストから第２遠隔ホストへのマイグレーションを可能にするということが理解されるであろう。
【０１１０】
[0162]  本発明はストレージシステム、ストレージエリアネットワーク（ＳＡＮ）、および特にはストレージシステム上の仮想ポートを管理するための、それらの管理ソフトウェアのために使用される。本発明によるストレージシステムは、物理ポート上に仮想ポートを作成して、管理するための機能を有する。ストレージシステムはまた、物理ポート、または物理ポートに接続されているリンクで障害が生じた場合に、仮想ポートと物理ポートとの間の関連を変更または転送することができるので、ホストは別の物理ポートを通じて、仮想ポート下のボリュームにアクセスすることができる。本発明のストレージシステムはまた、物理ポート上の相対ロードを考慮することによって、仮想ポートと物理ポートとの間の関連を変更することができる。さらに本発明のストレージシステムは、仮想ポートを、仮想ポートを引き継ぐことになる遠隔ストレージシステムへ転送することができるので、遠隔ロケーションにマイグレートされる仮想機械は、局所ストレージシステムで使用されていたものと同じアドレスを使用して、遠隔ストレージシステム上のそれらのボリュームへアクセスすることができる。
【０１１１】
[0163]  したがって本発明は、ストレージシステム上での仮想ポートの作成および管理を可能にするストレージシステムを提供するということが理解されるであろう。さらに、本明細書の中では特定の実施形態が示され、説明されているが、同じ目的を達成するように計算された任意の配置が、開示されている特定の実施形態の代わりとなるということが当業者には理解されよう。本開示は、本発明の任意およびすべての改作を包含することが意図されており、上の説明は限定的ではなく、例示的な方法で述べられたものであるということを理解されたい。したがって本発明の範囲は、添付の特許請求の範囲とともに、前述の特許請求の範囲が権利を与えられる等価物のすべての範囲を参照して、適切に判定されるべきである。
【図面の簡単な説明】
【０１１２】
【図１】[0010]本発明の第１実施形態のシステムハードウェアアーキテクチャの例を示す図である。
【図２】[0011]図１の実施形態の例示的なソフトウェアモジュール構成を示す図である。
【図３】[0012]物理ポートのための例示的なファブリックログインプロシージャを示す図である。
【図４】[0013]仮想ポートのための例示的なファブリックログインプロシージャを示す図である。
【図５】[0014]仮想ポート管理表の例示的なデータ構造を示す図である。
【図６Ａ】[0015]第１実施形態の例示的な概念図である。
【図６Ｂ】[0015]第１実施形態の例示的な概念図である。
【図７】[0016]物理ポートをグループ化するための例示的プロセスを示す図である。
【図８】[0017]仮想ポートを作成するための例示的なプロセスを示す図である。
【図９】[0018]仮想ポートを通じてボリュームをエクスポートするための例示的なプロセスを示す図である。
【図１０】[0019]ポートのフェイルオーバのための例示的なプロセスを示す図である。
【図１１】[0020]仮想ポート管理表の例示的なデータ構造を示す図である。
【図１２】[0021]本発明の第２実施形態のシステムハードウェアアーキテクチャの例を示す図である。
【図１３】[0022]図１２の実施形態の例示的なソフトウェアモジュール構成を示す図である。
【図１４】[0023]物理ポートロード表の例示的なデータ構造を示す図である。
【図１５】[0024]マイグレーション前の第２実施形態の例示的な概念図である。
【図１６】[0025]マイグレーション後の第２実施形態の例示的な概念図である。
【図１７】[0026]ロードバランシングのためにポートのロードを切り換えるための例示的なプロセスを示す図である。
【図１８】[0027]ロードバランシング後の仮想ポート管理表の例示的なデータ構造を示す図である。
【図１９】[0028]本発明の第３実施形態のシステムハードウェアアーキテクチャの例を示す図である。
【図２０】[0029]図１９の実施形態の例示的なソフトウェアモジュール構成を示す図である。
【図２１】[0030]遠隔コピー管理表の例示的なデータ構造を示す図である。
【図２２】[0031]マイグレーション前の第３実施形態の例示的な概念図である。
【図２３】[0032]マイグレーション後の第３実施形態の例示的な概念図である。
【図２４】[0033]遠隔ストレージシステムへの仮想ポートの引継ぎのための例示的なプロセスを示す図である。
【図２５】[0034]フレームヘッダの例示的なデータ構造を示す図である。
【図２６】[0035]例示的なノードログインプロシージャを示す図である。
【図２７】[0036]既存のＮ＿Ｐｏｒｔ＿ＩＤを備えた仮想ポートのためのファブリックログインプロシージャの例示的なプロセスフローを示す図である。
【図２８】[0037]ＶＭ＿ＷＷＰＶマッピング表の例示的なデータ構造を示す図である。
【図１】
0005255858.tif 000002
【図２】
0005255858.tif 000003
【図３】
0005255858.tif 000004
【図４】
0005255858.tif 000005
【図５】
0005255858.tif 000006
【図６Ａ】
0005255858.tif 000007
【図６Ｂ】
0005255858.tif 000008
【図７】
0005255858.tif 000009
【図８】
0005255858.tif 000010
【図９】
0005255858.tif 000011
【図１０】
0005255858.tif 000012
【図１１】
0005255858.tif 000013
【図１２】
0005255858.tif 000014
【図１３】
0005255858.tif 000015
【図１４】
0005255858.tif 000016
【図１５】
0005255858.tif 000017
【図１６】
0005255858.tif 000018
【図１７】
0005255858.tif 000019
【図１８】
0005255858.tif 000020
【図１９】
0005255858.tif 000021
【図２０】
0005255858.tif 000022
【図２１】
0005255858.tif 000023
【図２２】
0005255858.tif 000024
【図２３】
0005255858.tif 000025
【図２４】
0005255858.tif 000026
【図２５】
0005255858.tif 000027
【図２６】
0005255858.tif 000028
【図２７】
0005255858.tif 000029
【図２８】
0005255858.tif 000030