(57)【要約】【課題】仮想ストレージをスイッチ間で移動する場合に、仮想ポートの名前が変更されない方法を提供する。【解決手段】仮想ポートのネーム情報とアドレス情報を管理するネームサーバの、これらの情報を含んだテーブルに、ネーム情報の生成元や貸出先の情報を付加し、複数のスイッチ間やリプレースされたスイッチへネーム情報の貸し借りを行うことで、仮想ポートのネーム情報を維持及び管理する。また、仮想ポートのネーム情報とアドレス情報を管理するネームサーバ間または代表のネームサーバで、共通に利用できるネーム情報を予めプールしておき、そこから仮想ポートのネーム情報を借りることにより、仮想ポートのネーム情報を維持及び管理する。【選択図】  図１
2005010872.tif 000002
【特許請求の範囲】
【請求項１】
第一のスイッチと、前記第一のスイッチに接続される第一のストレージ装置と、第二のスイッチと、前記第二のスイッチに接続される第二のストレージ装置とから構成され、前記第一のスイッチと前記第二のスイッチが接続される情報処理システムにおいて、
前記第一のスイッチは、前記第一のストレージ装置と前記第二のスイッチに接続するための複数のポートと、前記第一のスイッチを制御するＣＰＵと、第一のプログラムや情報を格納するメモリを備え、
前記第一のプログラムは、物理的には存在しない仮想ストレージを前記第二のスイッチから前記第一のスイッチに移動したとき、前記仮想ストレージの仮想ポートを設定する部分と、前記仮想ストレージと前記第一のストレージ装置とを対応付ける部分と、前記第二のスイッチに、前記第二のスイッチに前記仮想ストレージがあったときの仮想ポートのポート名の借り入れ要求を送信する部分と、前記第二のスイッチから前記ポート名を受信する部分と、前記第一のスイッチに移動した前記仮想ストレージの仮想ポートに前記受信したポート名を設定する部分を備える、情報処理システム。
【請求項２】
前記メモリは、前記ポート名を、前記第一のストレージ装置の論理ユニット番号であるＬＵＮと前記ポート名の貸し出し元を示す貸出元情報に対応付けて格納する、請求項１記載の情報処理システム。
【請求項３】
前記第二のスイッチは、前記第二のストレージ装置と前記第一のスイッチに接続するための複数のポートと、前記第二のスイッチを制御するＣＰＵと、第二のプログラムや情報を格納するメモリを備え、
前記第二のプログラムは、前記第一のスイッチから、前記ポート名の借り入れ要求を受信する部分と、前記借り入れ要求に対応するポート名を前記第一のスイッチに送信する部分を備える、請求項１記載の情報処理システム。
【請求項４】
お互いに接続される複数のスイッチから構成される情報処理システムにおいて、
第一のスイッチは、他のスイッチと接続するための複数のポートと、前記第一のスイッチを制御するＣＰＵと、第一のプログラムや情報を格納するメモリを備え、
前記メモリは、前記複数のスイッチが共有して使用するポート名を格納する共通領域を備える、情報処理システム。
【請求項５】
前記第一のスイッチは、第一のストレージ装置に接続され、
前記第一のプログラムは、前記共通領域から前記ポート名を取得する部分と、物理的には存在しない仮想ストレージの仮想ポートを設定する部分と、前記仮想ストレージと前記第一のストレージ装置とを対応付ける部分と、前記仮想ポートに前記取得したポート名を設定する部分を備える、請求項４記載の情報処理システム。
【請求項６】
第二のスイッチは、第二のストレージ装置に接続され、
前記第一のスイッチと接続するためのポートと、前記第ニのスイッチを制御するＣＰＵと、第二のプログラムや情報を格納するメモリを備え、
前記第二のプログラムは、物理的には存在しない仮想ストレージの仮想ポートを設定する部分と、前記仮想ストレージと前記第二のストレージ装置とを対応付ける部分と、前記第一のスイッチに、前記共通領域に格納された前記仮想ポートのポート名の借り入れ要求を送信する部分と、前記第二のスイッチから前記ポート名を受信する部分と、前記仮想ポートに前記受信したポート名を設定する部分を備える、請求項４記載の情報処理システム。
【請求項７】
第一のストレージ装置と第二のスイッチに接続される第一のスイッチにおいて、
前記第一のスイッチは、前記第一のストレージ装置と前記第二のスイッチに接続するための複数のポートと、前記第一のスイッチを制御するＣＰＵと、第一のプログラムや情報を格納するメモリを備え、
前記第一のプログラムは、物理的には存在しない仮想ストレージを前記第二のスイッチから前記第一のスイッチに移動したとき、前記仮想ストレージの仮想ポートを設定する部分と、前記仮想ストレージと前記第一のストレージ装置とを対応付ける部分と、前記第二のスイッチに、前記第二のスイッチに前記仮想ストレージがあったときの仮想ポートのポート名の借り入れ要求を送信する部分と、前記第二のスイッチから前記ポート名を受信する部分と、前記第一のスイッチに移動した前記仮想ストレージの仮想ポートに前記受信したポート名を設定する部分を備える、第一のスイッチ。
【請求項８】
前記メモリは、前記ポート名を、前記第一のストレージ装置の論理ユニット番号であるＬＵＮと前記ポート名の貸し出し元を示す貸出元情報に対応付けて格納する、請求項７記載の第一のスイッチ。
【請求項９】
第二のスイッチに接続される第一のスイッチにおいて、
前記第一のスイッチは、前記第二のスイッチと接続するための複数のポートと、前記第一のスイッチを制御するＣＰＵと、プログラムや情報を格納するメモリを備え、
前記メモリは、前記第一と第二のスイッチが共有して使用するポート名を格納する共通領域を備える、第一のスイッチ。
【請求項１０】
前記第一のスイッチは、第一のストレージ装置に接続され、
前記第一のプログラムは、前記共通領域から前記ポート名を取得する部分と、物理的には存在しない仮想ストレージの仮想ポートを設定する部分と、前記仮想ストレージと前記第一のストレージ装置とを対応付ける部分と、前記仮想ポートに前記取得したポート名を設定する部分を備える、請求項９記載の第一のスイッチ。
【請求項１１】
第二のストレージ装置と第一のスイッチに接続される第二のスイッチにおいて、
前記第二のスイッチは、前記第二のストレージ装置と前記第一のスイッチに接続するための複数のポートと、前記第二のスイッチを制御するＣＰＵと、プログラムや情報を格納するメモリを備え、
前記プログラムは、前記第一のスイッチから、ポート名の借り入れ要求を受信する部分と、前記借り入れ要求に対応するポート名を前記第一のスイッチに送信する部分を備える、第二のスイッチ。
【請求項１２】
前記メモリは、前記第一のスイッチと前記第二のスイッチが共有して使用するポート名を格納する共通領域を備える、請求項１１記載の第二のスイッチ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）におけるスイッチベースの仮想化（バーチャリゼーション）技術に関し、仮想ストレージを提供するスイッチのポートに付与される名前の管理方法に関する。
【０００２】
【従来の技術】
ＦＣ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ）−ＳＡＮ環境や、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）にＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）コマンドをカプセル化したｉＳＣＳＩ（ｉｎｔｅｒｎｅｔ  Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）を使用するＩＰ−ＳＡＮ環境では、サーバやストレージのような装置はノードとして扱われる。ＳＡＮでノードを識別するためには、ＦＣ−ＳＡＮではポートＩＤという２４ビットのアドレス情報と、ＷＷＮ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅ）という６４ビットのネーム情報を、各ノードがポート単位に持つ。また、ＩＰ−ＳＡＮでは、ＩＰアドレスというＩＰｖ４では３２ビット、ＩＰｖ６では１２８ビットのアドレス情報、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスという４８ビットのアドレス情報、そしてｉＳＣＳＩネームという２５５バイトのネーム情報を、各ノードがポート単位に持つ。
【０００３】
ネーム情報は、ノードのハードウェアに固定的に割り当てられた情報をベースに生成しているため、変更できない。ネーム情報とアドレス情報等の関係は、ＦＣ−ＳＡＮではＳＮＳ（Ｓｉｍｐｌｅ  Ｎａｍｅ  Ｓｅｒｖｅｒ）、ＩＰ−ＳＡＮではｉＳＮＳ（Ｉｎｔｅｒｎｅｔ  Ｓｔｏｒａｇｅ  Ｎａｍｅ  Ｓｅｒｖｉｃｅ）などのプログラムが実行されることにより管理され、情報提供が行われる。ＳＡＮに接続されたノードは、アドレス情報を取得後または設定後に、これらのプログラムを有する装置が保持するテーブルに自らのネーム情報とアドレス情報を登録する（例えば、非特許文献１、２参照）。
【０００４】
ＳＡＮ環境でストレージ仮想化機能を提供するスイッチにおいては、ポート単位で仮想ストレージのボリュームやＬＵ（Ｌｏｇｉｃａｌ  Ｕｎｉｔ）を提供する（例えば、非特許文献３参照）。以下、仮想ストレージのボリュームやＬＵを提供するポートを仮想ポートと称する。
【０００５】
【非特許文献１】
トム・クラーク著「ＳＡＮ  実践的Ｆｉｂｒｅ  Ｃｈａｎｎｅｌストレージエリアネットワークの実装」ピアソン・エデュケーション、２０００年１２月２５日、ｐ．４０−４２、７６−８３
【非特許文献２】
Ｍｉｋｅ  Ｆｒａｓｅ、”Ｔｒｏｕｂｌｅｓｈｏｏｔｉｎｇ  Ｓｔｏｒａｇｅ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［２００３年１月１０日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｃｉｓｃｏ．ｃｏｍ／ｎｅｔｗｏｒｋｅｒｓ／ｎｗ０２／ｐｏｓｔ／ｐｒｅｓｅｎｔａｔｉｏｎｓ／ｄｏｃｓ／ＯＰＴ−３５０．ｐｄｆ＞
【非特許文献３】
茂木龍太著、「ストレージの仮想化でＳＡＮの機能強化と一括管理を実現」日経Ｗｉｎｄｏｗｓプロ、２００２年８月（Ｎｏ．６５）、ｐ．１３−１５
【０００６】
【発明が解決しようとする課題】
スイッチベースのストレージ仮想化により、ストレージ装置の物理的な構成に依存することなく、ネットワークに接続された複数のベンダのストレージ装置における、記憶領域の割当てや再配置を行うことができる。ここで、ストレージ装置とは、複数の記憶装置と、複数の記憶装置を制御する記憶制御装置を含む装置とする。しかし、従来技術では、仮想ポートを同じネーム情報で継続利用する際、スイッチ内の利用しか考慮されていない。今後は、複数のスイッチ間における仮想ストレージの移動や再構成、さらに仮想ストレージを提供するスイッチのリプレース等により、仮想ポートのネーム情報が変更されてしまう可能性がある。高可用性を要求するサーバでは、仮想ストレージのネーム情報の変更により業務処理が中断されてしまうことは許されない。
【０００７】
本発明の目的は、以上のような事態を防ぐための仮想ポートのネーム情報を維持及び管理する方法を提供することにある。
【０００８】
【課題を解決するための手段】
上記課題を解決するために、スイッチは、仮想ポートのネーム情報とアドレス情報を管理するための情報を含んだテーブルに、ネーム情報の生成元や貸出先の情報を付加し、複数のスイッチ間やリプレースされたスイッチへネーム情報の貸し借りを行う。
【０００９】
また、仮想ポートのネーム情報とアドレス情報を管理するためのネームサーバプログラムを有するスイッチ間または代表のネームサーバプログラムを有するスイッチで、共通に利用できるネーム情報を予めプールしておき、そこから仮想ポートのネーム情報を借りる。
【００１０】
【発明の実施の形態】
本発明の第一の実施形態を図１から図１３を用いて説明する。第一の実施形態では、ＳＡＮにおいて仮想ポートのネーム情報の維持及び管理を、複数のスイッチ間でネーム情報の貸し借りによって行う場合について説明する。
【００１１】
図１は、複数のスイッチで構成されるＳＡＮの構成例を示す図である。スイッチには、ＦＣスイッチやＩＰスイッチがある。ＳＡＮ１００は、複数のスイッチ１０１Ａ、１０１Ｂ、１０１Ｃにより構成される（以下、スイッチ一般を指すときには、スイッチ１０１と称す）。スイッチ１０１Ｃには、サーバ装置（以下、サーバと略す）１０２が接続される。サーバの例としては、ＵＮＩＸ（登録商標）サーバ、ＰＣサーバ、メインフレームなどがある。図１では、スイッチ１０１Ａにはストレージ装置１０３Ａ、１０３Ｂ、１０３Ｃが、スイッチ１０１Ｂには１０３Ｄが、それぞれ接続されている（以下、ストレージ装置一般を指すときには、ストレージ装置１０３と称す）。尚、ストレージ装置には、エントリクラス、ミッドレンジクラス、ハイエンドクラス等の種類がある。
【００１２】
ストレージ装置１０３は、スイッチ１０１やサーバ１０２と接続するためのポート１０４があり、その配下に記憶装置１０５が複数台接続されている。スイッチ１０１で仮想ストレージを利用するような場合には、仮想ポート１１０とその配下に仮想ストレージ１１１が用意される。図１では、仮想ポート１１０Ａの仮想ストレージ１１１Ａは、ストレージ装置１０３Ａの記憶装置１０５Ａの論理ユニットとストレージ装置１０３Ｂの記憶装置１０５Ｂの論理ユニットに対応している例を示しており、その他については以下の実施形態で説明する。尚、サーバ１０２とストレージ装置１０３とスイッチ１０１の各々の間は、ＨＡ（Ｈｉｇｈ  Ａｖａｉｌａｂｉｌｉｔｙ）で冗長構成としてもよい。すなわち、図１では、各構成要素を単線で結んでいるが、複数線で結ぶ構成としてもよい。
【００１３】
図２は、図１で示したスイッチ１０１（ここではＦＣスイッチ）の構成例を示す図である。スイッチ１０１は、その他のスイッチ１０１、サーバ１０２、及びストレージ装置１０３等を接続するためのファイバチャネルの物理層とデータリンク層の制御を行う複数の接続インタフェース２０１と、送受信するパケットのデータリンク層から上位のヘッダまたは情報部分の情報を元に宛先となる接続インタフェースの決定や必要時にはパケットの内容の変換を行う複数のルーティング制御部２０２と、スイッチ１０１の装置管理や経路制御プロトコルの計算を行うスイッチ管理部２０４と、複数のルーティング制御部２０２やスイッチ管理部２０４を接続するクロスバースイッチ２０３で構成され、ポート１０４を有するストレージ装置１０３に接続されている。
【００１４】
接続インタフェース２０１は、ポート２０８を有する。
【００１５】
ルーティング制御部２０２は、パケットのヘッダ検索を行う検索エンジン２０２Ｂ、検索エンジン２０２Ｂが検索するためのルーティング情報等を格納するメモリ２０２Ｃ、検索エンジン２０２Ｂの検索結果によりパケットを宛先となるルーティング制御部２０２に転送したり仮想化するときにパケット内の一部の情報を書き換える転送エンジン２０２Ａ、ルーティング制御部２０２全体を制御するＣＰＵ２０２Ｄ、プログラムやデータを格納するメインメモリ２０２Ｅを有する。
【００１６】
スイッチ管理部２０４は、スイッチ管理部２０４全体を制御するＣＰＵ２０４Ｂ、プログラムやデータを格納するメインメモリ２０４Ｃ、管理用インタフェース２０４Ｄ、クロスバースイッチ２０３に接続されるルーティング制御部２０２等と通信を行うためのスイッチインタフェース制御部２０４Ａを有する。管理用インタフェース２０４Ｄは、管理端末２０７（例えば、ダム端末やコンソール端末等）、または、普通のＰＣ（不図示）がシリアルケーブルまたはイーサネット（登録商標）ケーブル等で接続されている。
【００１７】
ルーティング制御部２０２のメインメモリ２０２Ｅに格納されるプログラム及びそれぞれのプログラムを実行する際に用いられるテーブル（ソフトウェアやテーブルは丸で囲んで示している）としては、オペレーティングシステム（以下、ＯＳと略す）２０６Ａ、スイッチ管理部２０４と通信するための通信プログラム２０６Ｂ、後述の経路制御プログラム２０５Ｃ１を実行することにより生成されるルーティングテーブル２０５Ｃ２のコピーであるルーティングテーブル２０６Ｃ等がある。
【００１８】
同様に、スイッチ管理部２０４のメインメモリ２０４Ｃには、ＯＳ２０５Ａ、スイッチ管理プログラム２０５Ｂ１及びその構成定義やＭＩＢ（Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）２０５Ｂ２、ＦＳＰＦ（Ｆａｂｒｉｃ  Ｓｈｏｒｔｅｓｔ  Ｐａｔｈ  Ｆｉｒｓｔ）のような経路制御プログラム２０５Ｃ１及びそのルーティングテーブル２０５Ｃ２、スイッチ１０１に接続されるノード装置の名前を管理するためのＳＮＳのようなネームサーバプログラム２０５Ｄ１及びそのネーム管理テーブル２０５Ｄ２、ＦＣのネットワーク（ファブリック）に接続されるノード装置にポートＩＤを付与するためのログインサーバプログラム２０５Ｅ、接続されるストレージ装置１０３の論理ユニットにより仮想ストレージを構成するためのボリューム管理プログラム２０５Ｆ１及びそのボリューム管理テーブル２０５Ｆ２等がある。
【００１９】
尚、図２で示したＦＣスイッチは、イーサネット（登録商標）を使用するイーサスイッチでもよい。ＦＣスイッチとの違いは、接続インタフェース２０１はイーサネット（登録商標）の物理層等の制御を行うこと、経路制御プログラム２０５Ｃ１においてはＲＩＰ（Ｒｏｕｔｉｎｇ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）やＯＳＰＦ（Ｏｐｅｎ  Ｓｈｏｒｔｅｓｔ  Ｐａｔｈ  Ｆｉｒｓｔ）が扱われること、ネームサーバプログラム２０５Ｄ１はｉＳＮＳで扱われること、２０５Ｅに対応するプログラムが不要であること、２０６にはＩＰパケットにオプション情報があった場合にハードウェアだけでは処理できない処理を行うためのハード処理不可パケットプログラムが必要であること等が挙げられる。
【００２０】
図３は、図１で示したストレージ装置１０３（ここではＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ（Ｉｎｄｅｐｅｎｄｅｎｔ）  Ｄｉｓｋｓ）装置）の構成例を示す図である。
【００２１】
ストレージ装置１０３は、スイッチ１０１やサーバ１０２等を接続するための複数のポート１０４を有する複数のチャネルアダプタ３０１、複数の記憶装置３０４にアクセスするためのディスクアダプタ３０３、複数のチャネルアダプタ３０１と複数のディスクアダプタ３０３間を接続するキャッシュメモリスイッチ３０２、ストレージ装置の装置管理やボリューム管理を行うストレージ管理部３０５、ストレージ装置間をスイッチ１０１を介して接続するためのストレージ装置間接続制御部３０６等で構成される。
【００２２】
ストレージ管理部３０５は、ストレージ管理部３０５全体を制御するＣＰＵ３０５Ｂ、プログラムやデータを格納するメインメモリ３０５Ｃ、管理用インタフェース３０５Ｄ、チャネルアダプタ３０１等のモジュールを制御するためのモジュールインタフェース制御部３０５Ａを有する。
【００２３】
ストレージ管理部３０５のメインメモリ３０５Ｃに格納される代表的プログラム及びそれぞれのプログラムを実行する際に用いられるテーブルとしては、ＯＳ３０６Ａ、ストレージ構成管理プログラム３０６Ｂ１及びその構成管理テーブル３０６Ｂ２、ストレージ装置１０３内の論理ユニットの管理や仮想ストレージを構成するためのボリューム管理プログラム３０６Ｃ１及びそのボリューム管理テーブル３０６Ｃ２等がある。
【００２４】
以下、スイッチ１０１としては図２で示したＦＣスイッチを用いて説明する。イーサスイッチの場合については同様な説明となるため省略する。
【００２５】
図４は、ＳＡＮ１００に接続されるサーバ１０２やストレージ装置１０３がファイバチャネルのネットワークであるＦＣファブリックへ接続される場合のログイン手順の概要を示す図である。
【００２６】
ＩＰネットワークでは、静的にＩＰアドレスを設定する場合と、ＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）によって動的にＩＰアドレスを設定する場合があるが、ファイバチャネルでは、動的にポートＩＤというアドレスを設定する場合のみである。サーバ１０２やストレージ装置１０３は、それぞれ、最初にファブリック・ログイン（ＦＬＯＧＩ）の要求４０４Ａ、４０４Ｂをスイッチ１０１に送信し（宛先となるポートＩＤは０ｘＦＦＦＦＦＥ）、スイッチ１０１は、ログインサーバプログラム２０５Ｅを実行することにより、要求のあったサーバ１０２やストレージ装置１０３に対して、ポートＩＤを割り当てるＡｃｃｅｐｔ４０５Ａ、４０５Ｂを送信する。次にポート・ログイン（ＰＬＯＧＩ）の要求４０６Ａ、４０６Ｂをスイッチ１０１に送信し（宛先となるポートＩＤは０ｘＦＦＦＦＦＣ）、スイッチ１０１は、ネームサーバプログラム２０５Ｄ１を実行することにより、ポートＩＤ、ポートタイプ、ポート名、サポートするサービス・クラス等をネーム管理テーブル２０５Ｄ２に登録し、要求のあったサーバ１０２やストレージ装置１０３に対して、登録完了のＡｃｃｅｐｔ４０７Ａ、４０７Ｂを送信する。その後は、例えばサーバ１０２がストレージ装置１０３を利用するためにポート・ログインを行い、ファイバチャネルのデータリンク層の通信を確立する。
【００２７】
図５は、図４で示したログイン手順において、スイッチ１０１のネームサーバプログラム２０５Ｄ１が実行されることにより生成されるネーム管理テーブル２０５Ｄ２の構成例を示す図である。
【００２８】
ポート毎のエントリ５１０の情報としては、図４の説明で示したように、２４ビットのポートＩＤ５０２、ポートタイプ５０３、６４ビットのポート名であるＷＷＰＮ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｐｏｒｔ  Ｎａｍｅ）５０４の他に、ストレージ装置１０３からのポート・ログインの要求に対しては、ストレージ装置１０３に内蔵されている論理ユニットの番号であるＬＵＮ（Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｕｍｂｅｒ）５０６、ＬＵＮの名前である６４ビットのＬＵＮ  ＷＷＮ５０７、ＷＷＰＮ５０４とＬＵＮ５０６とのマッピングを表すＭＡＰ情報５０５、スイッチ毎のノード名であるＷＷＮＮ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｎｏｄｅ  Ｎａｍｅ）５０１を有する。また、これらの情報が格納されている一行を、以下、エントリ（５１０）と称する。
【００２９】
図５の例では、サーバ１０２との接続（ポートタイプ５０３はＦ＿ｐｏｒｔ）で４エントリ、他のスイッチ１０１との接続（ポートタイプ５０３はＥ＿ｐｏｒｔ）で４エントリが使用されている。「実」という頭文字は、以下の説明で仮想ポートが登場した場合との区別のために付与している。以下、ポートＩＤ５０２、ＷＷＰＮ５０４、ＬＵＮ  ＷＷＮ５０７の値は１６進数で表示する。尚、ＷＷＰＮ５０４には、スイッチ１０１が持つものと、サーバ１０２、ストレージ装置１０３が持つものがあるが、以下で示す１６進数の値は、それらの装置の区別ができるような値の一例にはしていない。
【００３０】
図６は、図１で示したスイッチ１０１Ａのネームサーバプログラム２０５Ｄ１が実行されることにより生成されるネーム管理テーブル２０５Ｄ２の構成例を示す図である。図６の例では、ストレージ装置１０３Ａ、１０３Ｂ、１０３Ｃとの接続（サーバ１０２と同様、ポートタイプ５０３はＦ＿ｐｏｒｔ）で７エントリ、スイッチ１０１Ｂ、１０１Ｃとの接続で４エントリが使用されている。ＷＷＰＮ５０４とＬＵＮ５０６のＭＡＰ情報５０５は、説明を分かりやすくするために矢印で示している。
【００３１】
まず、図１で示した仮想ストレージ１１１Ａと仮想ポート１１０Ａは、エントリ６１０Ｅのようになり（ポートタイプ５０３は仮想Ｆ＿ｐｏｒｔ）、点線で示したＭＡＰ情報５０５により、エントリ６１０Ｂと６１０Ｄの論理ユニットを使用した仮想ストレージとなる。
【００３２】
図１における記憶装置１０５Ａと１０５Ｂの論理ユニットに対応していた仮想ストレージ１１１Ａを、矢印１２０のようにストレージ装置１０３Ｃの記憶装置１０５Ｃの論理ユニットに移動させると、ＭＡＰ情報５０５は、点線で示したマッピングから太線で示すマッピングに変わる（エントリ６１０Ｈに対応した仮想ストレージとなる）。すなわち、スイッチ１０１内での仮想ストレージの移動は、ＭＡＰ情報５０５の変更のみで、ポートＩＤ６０２やＷＷＰＮ６０４は変化しない。
【００３３】
次に、図２との対応で説明する。例えば、図６のエントリ６１０Ａに対応するストレージ装置のＬＵＮが、図２におけるストレージ装置のポート１０４Ａに対応しているとする。この場合、ホストは、スイッチのポート２０８Ａ（このポートＩＤは、エントリ６１０ＩのポートＩＤ５０２に対応する「０２Ａ１００」）を経由して、スイッチのポート２０８Ｃ（このポートＩＤは、エントリ６１０ＡのポートＩＤ５０２に対応する「０２０１００」）から、ストレージ装置のポート１０４Ａにアクセスする。
【００３４】
次に、図２におけるポート２０８Ｂが図６の６１０Ｅに対応しているとする。このとき、ホストは、ポート２０８Ｂから仮想ポート（このポートＩＤは、エントリ６１０ＥのポートＩＤ５０２に対応する「０２Ｂ１００」）へアクセスすることになる。エントリ６１０ＥのＭＡＰ情報５０５はエントリ６１０Ｂおよびエントリ６１０ＤのＬＵＮを指し示しているため、アクセスする番地によっては、スイッチのポート２０８Ｃから、ストレージ装置のポート１０４Ａへアクセスするか、スイッチのポート２０８Ｄ（このポートＩＤは、エントリ６１０ＤのポートＩＤ５０２に対応する「０２０２００」）から、ストレージ装置のポート１０４Ｂにアクセスするかのいずれかとなる。尚、図２のポート１０４は、図３のポート１０４に対応する。以上は、従来技術で実施されていることである。
【００３５】
次に、図７から図１０を用いて、図１における記憶装置１０５Ｃの論理ユニットに対応していた仮想ストレージ１１１Ａを、矢印１２１に示すように、ストレージ装置１０３Ｄの記憶装置１０５Ｄの論理ユニットに移動させるために、従来技術で実施すると発生する問題を示す。以下の実施形態では、スイッチ１０１Ａが仮想ストレージの移動元、スイッチ１０１Ｂが仮想ストレージの移動先として説明する。
【００３６】
図７は、仮想ストレージ１１１Ａが移動する前の、スイッチ１０１Ｂのネーム管理テーブル２０５Ｄ２の構成例を示す図である。図７の例では、ストレージ装置１０３Ｄとの接続で６エントリ、スイッチ１０１Ａ、１０１Ｃとの接続で４エントリが使用されている。
【００３７】
図８、図９は、仮想ストレージ１１１Ａが移動した後の、それぞれ、スイッチ１０１Ａ、スイッチ１０１Ｂのネーム管理テーブル２０５Ｄ２の構成例を示す図である。
【００３８】
図１０は、スイッチ１０１Ｂにおける仮想ポートの作成から更新までの処理フローを示す図である。以下、図７から図９を用いて、図１０の処理フローについて説明する。尚、仮想ストレージの移動は、管理端末２０７から、スイッチ管理部２０４の管理用Ｉ／Ｆ２０４Ｄを介して、ＣＰＵ２０４Ｂに指示を出すことにより行う。
【００３９】
仮想ストレージ１１１Ａを移動するために、スイッチ管理部２０４のＣＰＵ２０４Ｂは、エントリ９１０Ｇ上に、ポートＩＤを生成し（ステップ１００１）、ポートタイプを仮想Ｆ＿ｐｏｒｔに設定し（ステップ１００２）、ＷＷＰＮ生成し（ステップ１００３）、仮想ストレージの移動先となる論理ユニットがあるか否かを確認する（ステップ１００４）。論理ユニットがない場合には、処理を終了する。移動先となる論理ユニット（エントリ７１０Ｆ）がある場合、エントリ９１０Ｇ、９１０Ｆに示すように、ＣＰＵ２０４Ｂは、ＭＡＰ情報６０５を設定し（ステップ１００５）、ＬＵＮ  ＷＷＮ６０６をエントリ９１０Ｇ上に生成し（ステップ１００６）、記憶装置１０５Ｃから記憶装置１０５Ｄへとデータ移行処理を行う（ステップ１００７）。データ移行処理の詳細は本実施形態では示さないが、オンライン中のリードやライトのＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）が発生している最中にも対応できるものとする（特願２０００−１５２６７２、特願２０００−６３２８９参照）。
【００４０】
データ移行処理の完了後、ＣＰＵ２０４Ｂは、仮想ストレージ１１１Ａを使用していたサーバ１０２等に、ポートＩＤとＷＷＰＮが変更されたことを通知する（ステップ１００８）。この通知フレームとしては、ファイバチャネルのＳＮＳでの状態変更通知であるＲＳＣＮ（Ｒｅｍｏｔｅ  Ｓｔａｔｅ  Ｃｈａｎｇｅ  Ｎｏｔｉｆｉｃａｔｉｏｎ）フレームを利用する（ｉＳＣＳＩではｉＳＮＳのＳＣＮ（Ｓｔａｔｅ  Ｃｈａｎｇｅ  Ｎｏｔｉｆｉｃａｔｉｏｎ））。エントリ７１０Ｅが移動元のポートＩＤとＷＷＰＮ、エントリ９１０Ｇが移動先のポートＩＤとＷＷＰＮとなっているので、従来技術ではＷＷＰＮの変更が起こってしまい、サーバ１０２で使用していた仮想ポート１１０ＡのＷＷＰＮを変更しない限りは、移動後の仮想ストレージ１１１Ｂを利用できない。ＷＷＰＮの変更には一旦サーバ１０２上のアプリケーションを停止する等の業務の一旦停止が必要となる場合もある。サーバ１０２で仮想ストレージ１１１Ｂの利用ができるようになった後は、ＣＰＵ２０４Ｂは、仮想ストレージ１１１Ａに関連していたネーム管理テーブル上の情報（図８では、エントリ８１０Ｅ）の削除や、ストレージ装置１０３の論理ユニット内のデータを削除する等の処理を行う（ステップ１００９）。
【００４１】
次に、図１１から図１３を用いて、仮想ストレージを移動してもサーバからの仮想ポートを変更しなくてもよい方法について説明する。
【００４２】
図１１と図１２は、図８、図９との比較対照として、それぞれ、スイッチ１０１Ａとスイッチ１０１Ｂが生成するネーム管理テーブル２０５Ｄ２に対して、さらにＷＷＰＮ５０４の貸し出し先や貸し出し元のポートＩＤ５０２を示す貸出先／元１１０１という情報を付加した構成例を示す図である。
【００４３】
図１３は、スイッチ１０１Ｂにおける仮想ポートの生成から更新と、スイッチ１０１Ａとのやりとりについての処理フローの例を示す図である。以下、図１１と図１２を用いて、図１３の処理フローについて説明する。
【００４４】
図１３のステップ１３０１からステップ１３０７は、図１０のステップ１００１からステップ１００７に対応している。ただし、ステップ１３０３は、後のステップでＷＷＰＮの変更があるため、仮のＷＷＰＮ生成となっている。記憶装置１０５Ｃから記憶装置１０５Ｄへとデータ移行処理を行った後（ステップ１３０７）、ＣＰＵ２０４Ｂは、スイッチ１０１Ａに対してＷＷＰＮの借り入れ要求を送信し（ステップ１３０８）、ＷＷＰＮの借り入れができる場合は、スイッチ１０１Ａから借り入れるＷＷＰＮを取得し（ステップ１３０９）、仮のＷＷＰＮを借り入れたＷＷＰＮに変更し、エントリ１２１０Ｇの貸出先／元１１０１に移動元の仮想ストレージのポートＩＤを設定する（ステップ１３１０）。そして、ＣＰＵ２０４Ｂは、仮想ストレージ１１１Ａを使用していたサーバ１０２等に、ポートＩＤが変更されたことを通知する（ステップ１３１１）。
【００４５】
本発明では、エントリ１２１０ＧのＷＷＰＮは、仮想ストレージの移動元のＷＷＰＮと同じであるので、サーバ１０２で使用していた仮想ストレージ１１１Ａは、実体は仮想ストレージ１１１Ｂと変更されていても、ポートＩＤの変更のみで継続して使用できる。
【００４６】
一方、スイッチ１０１ＡのＣＰＵ２０４Ｂは、ＷＷＰＮの借り入れ要求を受信すると、該当するＷＷＰＮを貸し出し中とし、エントリ１１１０Ｅの貸出先／元１１０１に移動先の仮想ストレージ１１１ＢのポートＩＤを設定し（ステップ１３１２）、スイッチ１０１Ｂに貸し出すＷＷＰＮとポートＩＤをスイッチ１０１Ｂに送信する（ステップ１３１３）。サーバ１０２で仮想ストレージ１１１Ｂの利用ができるようになった後は、スイッチ１０１ＡのＣＰＵ２０４Ｂは、仮想ストレージ１１１Ａに関連するネーム管理テーブル上の情報の削除や、ストレージ装置１０３の論理ユニット内のデータを削除する等の処理を行う（ステップ１３１４）。
【００４７】
次に本発明の第二の実施形態を図１４から図１８を用いて説明する。第二の実施形態では、ＳＡＮにおいて仮想ポートのネーム情報の維持及び管理を、複数のスイッチ同士や代表のスイッチで、共通に利用できる仮想ポート用のネーム情報を予めプールしておき、そこからネーム情報を借りることによって行う場合について説明する。以下の説明では、共通に利用できるＷＷＰＮを持つスイッチをスイッチ１０１Ａとして説明するが、どのスイッチが持ってもよく、本発明を限定するものではない。尚、貸出先／元１１０１は、貸出先と貸出元の項目に分離してもよいし、その他のテーブルフォーマットでもよい。
【００４８】
図１４は、スイッチ１０１Ａで仮想ストレージが共通に利用できるＷＷＰＮを利用している時のネーム管理テーブル２０５Ｄ２の構成例を示す図である。ここでは、共通に利用できる仮想ポート用のＷＷＰＮを予め登録している。エントリ１４２０が共通に利用できるＷＷＰＮのエントリであり、説明を分かりやすくするために、ポートＩＤ５０２を一定の範囲（図１４では、０２Ｃ１００から０２ＥＦ００）としている。
【００４９】
図１５は、仮想ストレージの移動前と移動後の、スイッチ１０１Ａのネーム管理テーブル２０５Ｄ２の構成例を示す図である。
【００５０】
図１６は、仮想ストレージの生成時と更新時の、スイッチ１０１Ｂのネーム管理テーブル２０５Ｄ２の構成例を示す図である。
【００５１】
図１７は、スイッチにおける仮想ポートを生成する処理フローの例を示す図である。
【００５２】
図１８は、スイッチ１０１Ａにおける仮想ポートの生成から更新と、１０１Ｂのスイッチとのやりとりについての処理フローの例を示す図である。以下、図１５と図１６を用いて、図１７と図１８の処理フローについて説明する。
【００５３】
図１７のステップ１７０１からステップ１７０６は、図１３のステップ１３０１からステップ１３０６に対応している。ただし、ステップ１７０１とステップ１７０３は、共通に利用できる領域（ここでは、エントリ１４２０Ａ）からポートＩＤとＷＷＰＮを取得する処理になっている。ＣＰＵ２０４Ｂは、ポートＩＤとＷＷＰＮ取得後は、エントリ１４１０Ｅの貸出先／元１１０１に、取得したポートＩＤを設定する（ステップ１７０３）。
【００５４】
図１８のステップ１８０１からステップ１８１１は、図１３のステップ１３０１からステップ１３１１に対応している。図１３との違いは、ＷＷＰＮの取得先が共通に利用できるＷＷＰＮを持つスイッチに変わったことである（ステップ１８０８〜ステップ１８１０）。
【００５５】
一方、スイッチ１０１ＡのＣＰＵ２０４Ｂは、ＷＷＰＮの借り入れ要求を受信すると、該当するＷＷＰＮを共通に利用する領域（図１５では、エントリ１５２０Ａ）に返却することによって削除し、エントリ１５１０Ｅの貸出先／元１１０１に移動先の仮想ストレージのポートＩＤも、スイッチ１０１Ｂに貸し出すことによって削除する（ステップ１８１２）。そして、ＣＰＵ２０４Ｂは、スイッチ１０１Ａのエントリ１５２０Ａの貸出先／元１１０１にＷＷＰＮの借り入れ要求のあったスイッチ１０１ＢのポートＩＤを設定し、スイッチ１０１Ｂに貸し出すＷＷＰＮとポートＩＤをスイッチ１０１Ｂに送信する（ステップ１８１４）。サーバ１０２で仮想ストレージ１１１Ｂの利用ができるようになった後は、ＣＰＵ２０４Ｂは、仮想ストレージ１１１Ａに関連していたネーム管理テーブル上の情報の削除や、ストレージ装置１０３の論理ユニット内のデータを削除する等の処理を行う（ステップ１８１５）。
【００５６】
次に本発明の第三の実施形態を図１９と図２０を用いて説明する。ここでは、図２のスイッチの構成が、図４で示したストレージ装置の構成に含まれるような例を示す。
【００５７】
図１９は、スイッチ機能を内蔵するＲＡＩＤ装置のようなストレージ装置の構成例を示す図である。ストレージ装置１９０１は、スイッチ１０１、サーバ１０２、ストレージ装置１０３を接続するための、ファイバチャネルの物理層とデータリンク層の制御を行う複数の接続インタフェース１９０２Ａ、イーサネット（登録商標）の物理層とデータリンク層の制御を行う複数の接続インタフェース１９０２Ｂ、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）のようなファイルベースでストレージにアクセスするための複数の接続インタフェース１９０２Ｃ、図２と同様の複数のルーティング制御部１９０３、複数の記憶装置３０４にアクセスするための複数のディスクアダプタ１９０６、ディスクアダプタ１９０６毎にキャッシュメモリの制御を行う複数のキャッシュアダプタ１９０５、ストレージ装置の装置管理やボリューム管理、及びスイッチの経路制御処理等を行うストレージ管理部３０５、ストレージ装置間を接続するためのストレージ装置間接続制御部３０６等で構成される。ストレージ管理部３０５の構成は、図３で説明した内容と同様である。
【００５８】
ストレージ管理部の代表的プログラム及びテーブルは、図２のスイッチ管理部での代表的プログラム及びテーブル２０５等と、図３で示したストレージ管理部での代表的プログラム及びテーブル３０６が統合された構成となる。ルーティング制御部の代表的なプログラム及びテーブルとしては、図２のルーティング制御部での代表的なプログラム及びテーブル２０６等が統合された構成となる。
【００５９】
図２０は、図１で示したスイッチ１０１Ｂとストレージ装置１０３Ｄが、図１９で示したスイッチ機能を内蔵したストレージ装置１９０１に置き換えた場合のＳＡＮ及び仮想ポートの構成例を示す。
【００６０】
図２０の仮想ストレージ１１１Ａをストレージ装置１９０１の仮想ストレージ２０１１Ａへと移動する（矢印２０２１）場合の説明については、第一及び第二の実施形態での説明により容易に類推できるため、説明は省略する。
【００６１】
尚、記憶装置１０５は磁気媒体を使うことが多いが、光学的媒体などの他の媒体を利用する装置であってもよい。また、本発明で説明したプログラムは、ＣＤ−ＲＯＭ等の記憶媒体から移してもよいし、ネットワーク経由で他の装置からダウンロードしてもよい。
【００６２】
【発明の効果】
本発明によれば、複数のスイッチ間で仮想ストレージの移動や再構成、スイッチのリプレース等により、仮想ポートのネーム情報を維持及び管理することができる。高可用性が要求されるサーバが仮想ストレージを利用して業務処理を行っている場合に中断なく、仮想ストレージの移動等ができる。
【図面の簡単な説明】
【図１】ＳＡＮ及び仮想ポートの構成例を示す図。
【図２】ＦＣスイッチの構成例を示す図。
【図３】ストレージ装置の構成例を示す図。
【図４】ＦＣファブリックへのログイン手順の概要を示す図。
【図５】スイッチ１０１で生成するネーム管理テーブルの構成例を示す図。
【図６】スイッチ１０１Ａで生成するネーム管理テーブルの構成例を示す図。
【図７】スイッチ１０１Ｂで生成するネーム管理テーブルの構成例を示す図。
【図８】スイッチ１０１Ａで生成するネーム管理テーブルの構成例を示す図。
【図９】スイッチ１０１Ｂで生成するネーム管理テーブルの構成例を示す図。
【図１０】スイッチ１０１Ｂにおける仮想ポートの更新処理フローの例を示す図。
【図１１】スイッチ１０１Ａで生成するネーム管理テーブルの構成例を示す図。
【図１２】スイッチ１０１Ｂで生成するネーム管理テーブルの構成例を示す図。
【図１３】仮想ポートの移動先スイッチでの更新処理フローの例を示す図。
【図１４】スイッチ１０１Ａで生成するネーム管理テーブルの構成例を示す図。
【図１５】スイッチ１０１Ａで生成するネーム管理テーブルの構成例を示す図。
【図１６】スイッチ１０１Ｂで生成するネーム管理テーブルの構成例を示す図。
【図１７】スイッチにおける仮想ポートの生成処理フローの例を示す図。
【図１８】スイッチ１０１Ｂでの更新処理フローの例を示す図。
【図１９】スイッチ機能を内蔵するストレージ装置の構成例を示す図。
【図２０】スイッチ機能を内蔵するストレージ装置を含むＳＡＮの構成例を示す図。
【符号の説明】
１００…ＳＡＮ、１０１…スイッチ、１０２…サーバ、１０３…ストレージ装置、１１０…仮想ポート、１１１…仮想ストレージ、２０５…ネームサーバ、２５０Ｄ２…ネーム管理テーブル、１９０１…スイッチ機能内装ストレージ装置
【図１】
2005010872.tif 000003
【図２】
2005010872.tif 000004
【図３】
2005010872.tif 000005
【図４】
2005010872.tif 000006
【図５】
2005010872.tif 000007
【図６】
2005010872.tif 000008
【図７】
2005010872.tif 000009
【図８】
2005010872.tif 000010
【図９】
2005010872.tif 000011
【図１０】
2005010872.tif 000012
【図１１】
2005010872.tif 000013
【図１２】
2005010872.tif 000014
【図１３】
2005010872.tif 000015
【図１４】
2005010872.tif 000016
【図１５】
2005010872.tif 000017
【図１６】
2005010872.tif 000018
【図１７】
2005010872.tif 000019
【図１８】
2005010872.tif 000020
【図１９】
2005010872.tif 000021
【図２０】
2005010872.tif 000022