(57)【要約】【課題】仮想化装置間で論理ボリュームが移行すると、移行先の論理ボリュームにアクセスするために、ホスト計算機の設定を変更する必要があった。【解決手段】ホスト計算機と、一つ以上のストレージ装置と、複数の仮想化装置と、を備える計算機システムの制御方法において、第１仮想化装置は、第１メモリを備え、前記ホスト計算機がアクセス要求を発行する第１論理ボリュームを管理し、第２仮想化装置は、第２メモリを備え、前記ホスト計算機がアクセス要求を発行する第２論理ボリュームを管理し、前記制御方法は、前記第１論理ボリュームと対応付けられていた前記ストレージ装置上の第１実記憶領域を、前記第２論理ボリュームと対応付け、前記第１論理ボリュームを前記計算機システム内で一意に識別する第１識別情報を前記第２メモリに格納する。【選択図】図２
2007122432.tif 000002
【特許請求の範囲】
【請求項１】
ホスト計算機と、一つ以上のストレージ装置と、複数の仮想化装置と、を備える計算機システムの制御方法において、
前記ホスト計算機は、ネットワークを介して前記複数の仮想化装置と接続され、
前記複数の仮想化装置は、前記ネットワークを介して前記一つ以上のストレージ装置と接続され、
第１仮想化装置は、
第１メモリを備え、
前記ホスト計算機がアクセス要求を発行する第１論理ボリュームを管理し、
第２仮想化装置は、
第２メモリを備え、
前記ホスト計算機がアクセス要求を発行する第２論理ボリュームを管理し、
前記制御方法は、
前記第１論理ボリュームと対応付けられていた前記ストレージ装置上の第１実記憶領域を、前記第２論理ボリュームと対応付け、
前記第１論理ボリュームを前記計算機システム内で一意に識別する第１識別情報を前記第２メモリに格納することを特徴とする制御方法。
【請求項２】
前記制御方法は、さらに、前記第２仮想化装置が前記ホスト計算機から前記第２論理ボリュームの識別情報の取得要求を受信した後、前記第１識別情報を、前記第２仮想化装置から前記ホスト計算機に送信することを特徴とする請求項１に記載の制御方法。
【請求項３】
前記第１識別情報は、前記第１仮想化装置を前記計算機システム内で一意に識別する第１装置識別子と、前記第１論理ボリュームを前記第１仮想化装置内で一意に識別する第１ボリューム番号と、を含み、
前記制御方法は、さらに、
前記第１識別情報を前記第１仮想化装置から前記第２仮想化装置に送信し、
前記第１装置識別子を、前記第１ボリューム番号と関連付けて前記第１メモリに格納し、
前記第１仮想化装置から送信された前記第１識別情報を前記第２メモリに格納することを特徴とする請求項１に記載の制御方法。
【請求項４】
前記制御方法は、さらに、
前記第１ボリューム番号を前記第２仮想化装置から前記第１仮想化装置に送信し、
前記第２メモリから前記第１識別情報を削除し、
前記第１仮想化装置が前記第１ボリューム番号を受信した後、互いに関連付けて格納された前記第１ボリューム番号及び前記第１装置識別子を前記第１メモリから削除することを特徴とする請求項３に記載の制御方法。
【請求項５】
前記制御方法は、さらに、前記第２仮想化装置が前記ホスト計算機から前記第２論理ボリュームの識別情報の取得要求を受信した後、前記第１識別情報と、前記第２論理ボリュームを前記計算機システム内で一意に識別する第２識別情報と、を前記第２仮想化装置から前記ホスト計算機に送信することを特徴とする請求項１に記載の制御方法。
【請求項６】
前記制御方法は、さらに、前記第１論理ボリュームを前記計算機システム内で一意に識別する第１ボリューム番号と、前記第２論理ボリュームを前記計算機システム内で一意に識別する第２ボリューム番号を生成し、
前記第１識別情報は、前記第１ボリューム番号を含むことを特徴とする請求項１に記載の制御方法。
【請求項７】
ホスト計算機とネットワークを介して接続される仮想化装置において、
前記仮想化装置は、一つ以上のストレージ装置及び一つ以上の他の仮想化装置と前記ネットワークを介して接続され、
前記仮想化装置は、
前記ネットワークに接続されるインターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
前記ホスト計算機がアクセス要求を発行する論理ボリュームを管理し、
前記プロセッサは、
前記他の仮想化装置が管理する他の論理ボリュームと対応付けられていた前記ストレージ装置上の第１実記憶領域を、前記論理ボリュームと対応付け、
前記他の論理ボリュームを前記計算機システム内で一意に識別する第１識別情報を前記メモリに格納することを特徴とする仮想化装置。
【請求項８】
前記プロセッサは、
前記インターフェースを介して、前記ホスト計算機から前記論理ボリュームの識別情報の取得要求を受信し、
前記インターフェースを介して、前記ホスト計算機に前記第１識別情報を送信することを特徴とする請求項７に記載の仮想化装置。
【請求項９】
前記プロセッサは、
前記インターフェースを介して、前記他の仮想化装置から前記第１識別情報を受信し、
前記第１識別情報を前記メモリに格納することを特徴とする請求項７に記載の仮想化装置。
【請求項１０】
第１識別情報は、前記他の仮想化装置を前記計算機システム内で一意に識別する第１装置識別子と、前記他の論理ボリュームを前記他の仮想化装置内で一意に識別する第１ボリューム番号と、を含み、
前記プロセッサは、
前記インターフェースを介して、前記第１ボリューム番号を前記他の仮想化装置に送信し、
前記メモリから前記第１識別情報を削除することを特徴とする請求項９に記載の仮想化装置。
【請求項１１】
第２識別情報は、前記仮想化装置を前記計算機システム内で一意に識別する第２装置識別子と、前記論理ボリュームを前記仮想化装置内で一意に識別する第２ボリューム番号と、を含み、
前記プロセッサは、
前記インターフェースを介して、前記第２識別情報を前記他の仮想化装置に送信し、
前記第２装置識別子を、前記第２ボリューム番号と関連付けて前記メモリに格納することを特徴とする請求項７に記載の仮想化装置。
【請求項１２】
前記プロセッサは、
前記インターフェースを介して前記他の仮想化装置から前記第２ボリューム番号を受信すると、互いに関連付けて格納された前記第２ボリューム番号及び前記第２装置識別子を前記メモリから削除することを特徴とする請求項１１に記載の仮想化装置。
【請求項１３】
前記仮想化装置は、
前記インターフェースを介して、前記ホスト計算機から前記論理ボリュームの識別情報の取得要求を受信し、
前記インターフェースを介して、前記第１識別情報及び前記第２識別情報を前記ホスト計算機に送信することを特徴とする請求項７に記載の仮想化装置。
【請求項１４】
ホスト計算機と、一つ以上のストレージ装置と、複数の仮想化装置と、を備える計算機システムにおいて、
前記ホスト計算機は、ネットワークを介して前記複数の仮想化装置と接続され、
前記複数の仮想化装置は、前記ネットワークを介して前記一つ以上のストレージ装置と接続され、
第１仮想化装置は、
前記ネットワークに接続される第１インターフェースと、前記インターフェースに接続される第１プロセッサと、前記第１プロセッサに接続される第１メモリと、を備え、
前記ホスト計算機がアクセス要求を発行する第１論理ボリュームを管理し、
第２仮想化装置は、
前記ネットワークに接続される第２インターフェースと、前記インターフェースに接続される第２プロセッサと、前記第２プロセッサに接続される第２メモリと、を備え、
前記ホスト計算機がアクセス要求を発行する第２論理ボリュームを管理し、
前記第２プロセッサは、
前記第１論理ボリュームと対応付けられていた前記ストレージ装置上の第１実記憶領域を、前記第２論理ボリュームと対応付け、
前記第１論理ボリュームを前記計算機システム内で一意に識別する第１識別情報を前記第２メモリに格納することを特徴とする計算機システム。
【請求項１５】
前記第２プロセッサは、
前記第２インターフェースを介して、前記ホスト計算機から前記第２論理ボリュームの識別情報の取得要求を受信し、
前記第２インターフェースを介して、前記ホスト計算機に前記第１識別情報を送信することを特徴とする請求項１４に記載の計算機システム。
【請求項１６】
前記第１識別情報は、前記第１仮想化装置を前記計算機システム内で一意に識別する第１装置識別子と、前記第１論理ボリュームを前記第１仮想化装置内で一意に識別する第１ボリューム番号と、を含み、
前記第１プロセッサは、
前記第１インターフェースを介して、前記第１識別情報を前記第２仮想化装置に送信し、
前記第１装置識別子を、前記第１ボリューム番号と関連付けて前記第１メモリに格納し、
前記第２プロセッサは、
前記第２インターフェースを介して、前記第１仮想化装置から前記第１識別情報を受信し、
前記第１識別情報を前記第２メモリに格納することを特徴とする請求項１４に記載の計算機システム。
【請求項１７】
前記第２プロセッサは、
前記第２インターフェースを介して、前記第１ボリューム番号を前記第１仮想化装置に送信し、
前記第２メモリから前記第１識別情報を削除し、
前記第１プロセッサは、
前記第１インターフェースを介して前記第２仮想化装置から前記第１ボリューム番号を受信すると、互いに関連付けて格納された前記第１ボリューム番号及び前記第１装置識別子を前記第１メモリから削除することを特徴とする請求項１６に記載の計算機システム。
【請求項１８】
前記第２プロセッサは、
前記第２インターフェースを介して、前記ホスト計算機から前記第２論理ボリュームの識別情報の取得要求を受信し、
前記第２インターフェースを介して、前記第１識別情報と、前記第２論理ボリュームを前記計算機システム内で一意に識別する第２識別情報と、を前記ホスト計算機に送信することを特徴とする請求項１４に記載の計算機システム。
【請求項１９】
前記計算機システムは、管理サーバをさらに備え、
前記管理サーバは、前記第１論理ボリュームを前記計算機システム内で一意に識別する第１ボリューム番号と、前記第２論理ボリュームを前記計算機システム内で一意に識別する第２ボリューム番号と、を生成し、
前記第１識別情報は、前記第１ボリューム番号を含むことを特徴とする請求項１４に記載の計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願明細書で開示される技術は、一つ以上のストレージシステムを含む計算機システムに関し、特に、記憶領域を仮想化する仮想化環境におけるボリュームの移行に関する。
【背景技術】
【０００２】
ストレージエリアネットワーク（ＳＡＮ）を介してホスト計算機とストレージ装置とが接続された計算機システムにおいて、ストレージ装置上の記憶領域を仮想的なボリュームとして使用する技術が知られている。例えば、特許文献１に開示された技術によれば、計算機システムは、仮想的なボリュームを提供する仮想化装置（仮想化スイッチ１１）を含む。仮想化装置は、ストレージ装置上の一つ以上の実領域を仮想的なボリューム（仮想ボリューム１００）と対応付ける。ホストは、仮想的なボリュームに対して入出力要求を発行する。仮想化装置は、その入出力要求を、仮想的なボリュームに対応する実領域に対する入出力要求に変換して転送する。
【特許文献１】特開２００５−１１５５０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
計算機システムが複数の仮想化装置を備える場合、一つの仮想化装置が管理する仮想的なボリュームを、他の仮想化装置に移行する場合がある。ボリュームの移行は、移行元の仮想的なボリュームと、それに対応する実領域との対応関係を解除し、その実領域を移行先の仮想的なボリュームと対応させることによって実行される。このように、移行先の仮想的なボリュームには、移行元の仮想的なボリュームに対応付けられていた実領域が対応付けられる。しかし、ホストはこれらのボリュームを別のボリュームであると認識する。このため、システム管理者は、これらのボリュームを同一のボリュームと認識するように、ホストの設定を変更する必要があった。
【課題を解決するための手段】
【０００４】
本願で開示する代表的な発明は、ホスト計算機と、一つ以上のストレージ装置と、複数の仮想化装置と、を備える計算機システムの制御方法において、前記ホスト計算機は、ネットワークを介して前記複数の仮想化装置と接続され、前記複数の仮想化装置は、前記ネットワークを介して前記一つ以上のストレージ装置と接続され、第１仮想化装置は、第１メモリを備え、前記ホスト計算機がアクセス要求を発行する第１論理ボリュームを管理し、第２仮想化装置は、第２メモリを備え、前記ホスト計算機がアクセス要求を発行する第２論理ボリュームを管理し、前記制御方法は、前記第１論理ボリュームと対応付けられていた前記ストレージ装置上の第１実記憶領域を、前記第２論理ボリュームと対応付け、前記第１論理ボリュームを前記計算機システム内で一意に識別する第１識別情報を前記第２メモリに格納することを特徴とする。
【発明の効果】
【０００５】
本発明の一形態によれば、仮想化装置間で仮想的なボリュームが移行したとき、システム管理者がホストの設定を変更しなくても、ホストは、移行先のボリューム上のファイルにアクセスすることができる。
【発明を実施するための最良の形態】
【０００６】
以下、本発明の実施の形態を、図面を参照して説明する。
【０００７】
図１は、本発明の第１の実施の形態の計算機システムの構成を示すブロック図である。
【０００８】
本実施の形態の計算機システムは、仮想化装置１３Ａ、仮想化装置１３Ｂ、ホスト計算機１２、管理サーバ１６、管理コンソール１４及び一つ以上のストレージ装置１３３を備える。
【０００９】
ローカルエリアネットワーク（ＬＡＮ）１５は、管理サーバ１６、ホスト計算機１２、仮想化装置１３Ａ及び仮想化装置１３Ｂを相互に接続し、これらが相互に通信するために使用される通信路である。
【００１０】
ストレージエリアネットワーク（ＳＡＮ）１７は、ホスト計算機１２、仮想化装置１３Ａ、仮想化装置１３Ｂ及び各ストレージ装置１３３を相互に接続し、これらがデータを送受信するために使用される通信路である。本実施の形態のＳＡＮ１７上では、例えば、ファイバーチャネル（ＦＣ）プロトコルによる通信が実行される。
【００１１】
ホスト計算機１２、仮想化装置１３Ａ及び仮想化装置１３Ｂは、ストレージエリアネットワーク（ＳＡＮ）１７を介して接続さる。さらに、仮想化装置１３Ａ、仮想化装置１３Ｂ及び各ストレージ装置１３３は、ＳＡＮ１７を介して接続される。
【００１２】
仮想化装置１３Ａは、ストレージ装置１３３内の記憶領域を仮想化した論理ボリューム１３１（図２参照）としてホスト計算機１２に提供する装置である。論理ボリューム１３１については、後で図２を参照して説明する。
【００１３】
仮想化装置１３Ａは、制御装置１３２及びＳＡＮインターフェース（ＳＡＮ＿Ｉ／Ｆ）１７２を備える。
【００１４】
制御装置１３２は、ＣＰＵ１３４、メモリ１３５、ネットワークインターフェースカード（ＮＩＣ）１５１及びＳＡＮインターフェース１７２を備える。
【００１５】
ＣＰＵ１３４は、メモリ１３５に格納されたプログラムを実行するプロセッサである。
【００１６】
メモリ１３５は、例えば半導体メモリであり、ＣＰＵ１３４によって実行される各種のプログラム及びそれらのプログラムが参照するテーブルを格納する。本実施の形態のメモリ１３５は、少なくとも、Inquiry応答プログラム１３６、ボリューム管理プログラム１３７及びボリューム管理テーブル１３８を格納する。
【００１７】
Inquiry応答プログラム１３６は、仮想化装置１３Ａがホスト計算機１２からInquiry要求（ＳＣＳＩのINQUIRYコマンド、オペレーションコード12h）を受信したとき、Inquiry情報を作成し、そのInquiry情報をホスト計算機１２に送信するプログラムである。Inquiry情報とは具体的にはＳＣＳＩのINQUIRYコマンドの応答情報である。好ましくは、ＳＣＳＩ−１規格で定められているStandard INQUIRY dataの一部、またはＳＣＳＩ−２規格で定められているVital product data parameters、特にPage code 80h (Unit serial number page)またはPage code C0h - FFhのベンダスペシフィックのテーブルである。
【００１８】
Inquiry要求は、ホスト計算機１２が仮想化装置１３Ａの論理ボリューム１３１に関する情報（Inquiry情報）を取得するために仮想化装置１３Ａに送信する要求である。
【００１９】
Inquiry情報は、論理ボリューム１３１に関する情報を含む。具体的には、Inquiry情報は、論理ボリューム１３１を計算機システム内で一意に識別する識別情報として、仮想化装置１３Ａの製造番号及び論理ボリューム１３１の論理ボリューム番号を含む。ホスト計算機１２は、Inquiry情報を参照して、各論理ボリューム１３１を識別する。Inquiry情報については、後で詳細に説明する（図４Ａ及び図４Ｂ参照）。
【００２０】
ボリューム管理プログラム１３７は、管理サーバ１６等からの指示に従って、論理ボリューム１３１の生成、削除、名前変更及び移行等を実行するプログラムである。
【００２１】
ボリューム管理テーブル１３８は、論理ボリューム１３１を管理するテーブルである。ボリューム管理テーブル１３８には、仮想化装置１３Ａがホスト計算機１２に提供する論理ボリューム１３１に関する情報が登録される。
【００２２】
これらのプログラム及びテーブルについては、後で詳細に説明する。
【００２３】
ＮＩＣ１５１は、ＬＡＮ１５に接続され、管理サーバ１６等と通信するインターフェースである。
【００２４】
ＳＡＮインターフェース１７２は、ＳＡＮ１７に接続され、ホスト計算機１２、仮想化装置１３Ｂ及びストレージ装置１３３と通信するインターフェースである。具体的には、ＳＡＮインターフェース１７２は、ファイバーチャネル（ＦＣ）のホストバスアダプタ（ＨＢＡ）である。ただし、本実施の形態のホスト計算機１２、仮想化装置１３Ａ及びストレージ装置１３３の間の接続には、ＦＣ以外のプロトコル（例えば、ＳＣＳＩ、ｉＳＣＳＩ又はＩｎｆｉｎｉＢａｎｄ等）を使用してもよい。その場合、ＳＡＮインターフェース１７２は、これらのプロトコルに対応するアダプタであってもよい。
【００２５】
仮想化装置１３Ｂの構成は、仮想化装置１３Ａと同じである。このため、仮想化装置１３Ｂの構成については、説明を省略する。以下の説明において、仮想化装置１３Ａ及び１３Ｂを特に区別する必要がない場合、これらを総称して、仮想化装置１３と記載する。
【００２６】
ホスト計算機１２は、仮想化装置１３が提供する論理ボリューム１３１のデータ（すなわち、ストレージ装置１３３の記憶領域に格納されたデータ）を使用する計算機である。ホスト計算機１２は、ＣＰＵ１２１、メモリ１２２、ＮＩＣ１５１及びＳＡＮインターフェース１７２を備える。
【００２７】
ＣＰＵ１２１は、メモリ１２２に格納されたプログラムを実行するプロセッサである。
【００２８】
メモリ１２２は、例えば半導体メモリであり、ＣＰＵ１２１によって実行される各種のプログラム及びそれらのプログラムが参照するテーブルを格納する。本実施の形態のメモリ１２２は、少なくとも、アプリケーションプログラム（ＡＰ）１２３、ファイルシステム（ＦＳ）１２４、パス管理プログラム１２５、マウントテーブル１２６及び仮想デバイス管理テーブル１２７を格納する。
【００２９】
ＡＰ１２３は、仮想デバイス（図示省略）上のファイルを使用して業務を実行するプログラム（例えば、データベース管理プログラム等）である。仮想デバイスとは、ＦＳ１２４が認識する仮想的なデバイスである。一つの仮想デバイスは、後述するパス管理プログラム１２５によって、一つの論理ボリューム１３１と対応付けられる。
【００３０】
ＦＳ１２４は、仮想デバイス上の領域と、ＡＰ１２３が読み出し又は書き込みするファイルとを対応付けるプログラムである。
【００３１】
パス管理プログラム１２５は、仮想デバイスと論理ボリューム１３１とを対応付けるプログラムである。
【００３２】
マウントテーブル１２６は、仮想デバイスと、その仮想デバイスに格納されるファイルの名前との対応を管理するテーブルである。具体的には、マウントテーブル１２６には、仮想デバイス名と、その仮想デバイス上のファイルに与えられるファイル名の先頭文字列とが登録される。マウントテーブル１２６は、ＦＳ１２４によって参照される。
【００３３】
仮想デバイス管理テーブル１２７は、仮想デバイスと論理ボリューム１３１との対応を管理するテーブルである。具体的には、仮想デバイス管理テーブル１２７には、仮想化装置１３の製造番号及び論理ボリューム名と、それらに対応する仮想デバイス名とが登録される。仮想デバイス管理テーブル１２７は、パス管理プログラム１２５によって参照及び更新される。
【００３４】
パス管理プログラム１２５、マウントテーブル１２６及び仮想デバイス管理テーブル１２７については、後で詳細に説明する。
【００３５】
管理サーバ１６は、仮想化装置１３の設定の確認及び変更をする計算機である。
【００３６】
本実施の形態の管理サーバ１６は、ＣＰＵ１６１、メモリ１６２及びＮＩＣ１５１を備える。
【００３７】
ＣＰＵ１６１は、メモリ１６２に格納されたプログラムを実行するプロセッサである。
【００３８】
メモリ１６２は、例えば半導体メモリであり、ＣＰＵ１６１によって実行される各種のプログラム等を格納する。本実施の形態のメモリ１６２には、少なくとも、仮想化装置１３に、論理ボリューム１３１の作成、削除及び移行の要求（図７Ａ参照）を発行するプログラムが格納される（図示省略）。
【００３９】
管理コンソール１４は、システム管理者が管理サーバを操作するために使用する入出力端末である。
【００４０】
ストレージ装置１３３は、ＳＡＮ１７を介して仮想化装置１３に接続される。各ストレージ装置１３３は、少なくとも一つの独立した装置として扱うことができる。各ストレージ装置１３３は、一つのディスクドライブであってもよいし、複数のディスクドライブを含むディスクアレイ装置であってもよい。各ストレージ装置１３３は、一つ以上の実ボリューム１３９（後述）を含む。実ボリューム１３９には、ＡＰ１２３が使用するファイルのデータが格納される。
【００４１】
図２は、本発明の第１の実施の形態の概要の説明図である。
【００４２】
図２を参照して、本発明の概要を説明する。図２において、図１に示すハードウエア構成は、図示を省略する。
【００４３】
図２において、各仮想化装置１３は、装置識別子によって識別される。装置識別子は、例えば、仮想化装置１３の製造番号である。図２の例において、仮想化装置１３Ａの製造番号は「Ｕ１」、仮想化装置１３Ｂの製造番号は「Ｕ２」である。以下の本実施の形態では、製造番号を装置識別子として使用するが、各仮想化装置１３を一意に識別するものであれば、製造番号以外の識別子を使用してもよい。
【００４４】
なお、説明の便宜上、製造番号として「Ｕ１」「Ｕ２」等の文字列を使用するが、実際の製造番号は、任意の文字及び数字の列であってもよい。また、製造番号には、各仮想化装置の機種を特定する情報（機種情報）が含まれてもよい。
【００４５】
図２の例において、仮想化装置１３Ａには、当初、二つの論理ボリューム１３１が設定されている。論理ボリューム１３１とは、一つ以上の実ボリューム１３９（後述）と対応する仮想的な記憶領域である。仮想化装置１３は、一つ以上の論理ボリューム１３１をホスト計算機１２に対して提供することができる。
【００４６】
各論理ボリューム１３１は、ボリューム番号（識別子）によって識別される。仮想化装置１３Ａの二つの論理ボリューム１３１のボリューム番号は、それぞれ、「ＶＯＬ−Ａ」及び「ＶＯＬ−Ｂ」である。以下、ボリューム番号が「ＶＯＬ−Ａ」である論理ボリューム１３１を、単に「ＶＯＬ−Ａ」と記載する。他の論理ボリューム１３１についても同様である。
【００４７】
各仮想化装置１３は、各仮想化装置１３内で一意のボリューム番号を各論理ボリューム１３１に与える。仮想化装置の製造番号及びボリューム番号の組み合わせは、各論理ボリューム１３１を計算機システム内で一意に識別する識別情報として使用される。
【００４８】
ＶＯＬ−Ａ及びＶＯＬ−Ｂは、それぞれ、所定の一つ以上の実ボリューム１３９と対応する。実ボリューム１３９とは、ストレージ装置１３３上の記憶領域からなり、データが実際に格納されるボリュームである。
【００４９】
ホスト計算機１２は、論理ボリューム１３１にアクセス要求を発行する。要求されたアクセスは、実際には、その論理ボリューム１３１に対応する実ボリューム１３９を対象として実行される。
【００５０】
例えば、ホスト計算機１２がＶＯＬ−Ａに対するデータの書き込み要求を発行した場合、そのデータは、実際にはＶＯＬ−Ａに対応する実ボリューム１３９に格納される。このとき、ホスト計算機１２からは、データが仮想化装置１３ＡのＶＯＬ−Ａに格納されているように見える。以下の説明において、ＶＯＬ−Ａに対応する実ボリューム１３９にデータが格納されることを、単に「ＶＯＬ−Ａにデータが格納される」と記載する。ＶＯＬ−Ｂ、ＶＯＬ−Ｃについても同様である。
【００５１】
なお、以下の説明では、全ての論理ボリューム１３１が実ボリューム１３９と対応することを仮定しているが、実ボリューム１３９自体が論理ボリューム１３１として認識されてもよい。
【００５２】
図２の例において、ＶＯＬ−Ｂは、仮想化装置１３ＢのＶＯＬ−Ｃに移行する。具体的には、ＶＯＬ−Ｂと、ＶＯＬ−Ｂに対応する実ボリューム１３９との対応関係が解除される。そして、その実ボリューム１３９が、ＶＯＬ−Ｃと新たに対応付けられる。結局、ＶＯＬ−Ｃに対応する実ボリューム１３９は、ＶＯＬ−Ｂに対応していた実ボリューム１３９と同じものである。このため、ＶＯＬ−ＢがＶＯＬ−Ｃに移行しても、データは移動しない。しかし、ホスト計算機１２からは、ＶＯＬ−Ｂに格納されていたデータがＶＯＬ−Ｃに移動したように見える。
【００５３】
このような論理ボリューム１３１の移行は、例えば、仮想化装置１３のアクセス負荷を分散するために実行される。例えば、ホスト計算機１２がＶＯＬ−Ａ及びＶＯＬ−Ｂに対して大量のアクセス要求を発行し、一方、仮想化装置１３Ｂの論理ボリューム１３１にはわずかのアクセス要求しか発行しない場合がある。このような場合、ＶＯＬ−Ｂを仮想化装置１３Ｂに移行することによって、仮想化装置１３Ａのアクセス負荷の一部が仮想化装置１３Ｂに分散される。その結果、計算機システム全体のデータ処理性能が改善される。
【００５４】
ＶＯＬ−ＢからＶＯＬ−Ｃへの移行が完了すると、ＶＯＬ−Ｂに対するアクセスは禁止される。この時点で、ＶＯＬ−Ｃには、かつてＶＯＬ−Ｂに格納されていたものと全く同じデータが格納されている。ＡＰ１２３が使用するファイルがＶＯＬ−Ｂに格納されていた場合、ＡＰ１２３がそのファイルにアクセスするためのアクセス要求は、ＶＯＬ−Ｃに発行される必要がある。従来、このようなアクセス要求の発行先を変更するために、ＦＳ１２４が参照するマウントテーブル１２６を、システム管理者が手動で更新する必要があった。
【００５５】
具体的には、ホスト計算機１２がＶＯＬ−Ｃに対するInquiry要求を発行すると、従来の仮想化装置１３Ｂは、仮想化装置１３Ｂの製造番号「Ｕ２」とＶＯＬ−Ｃのボリューム名「ＶＯＬ−Ｃ」からなるInquiry情報を応答した。このため、ＶＯＬ−ＢとＶＯＬ−Ｃが同じ実ボリューム１３９と対応しているにも関らず、ホスト計算機１２のパス管理プログラム１２５は、ＶＯＬ−ＣをＶＯＬ−Ｂとは異なる論理ボリューム１３１であると認識し、ＶＯＬ−Ｂとは異なる仮想デバイス名をＶＯＬ−Ｃに割り当てた。このため、システム管理者は、ＶＯＬ−Ｂの仮想デバイス名（図２の例では、「/dev/dsk/vol0002」）と、ファイル名（図２の例では、「/home2」）との対応関係を解除し、ＶＯＬ−Ｃの仮想デバイス名（例えば、「/dev/dsk/vol0003」）とファイル名「/home2」とを新たに対応させるように、マウントテーブル１２６を更新する必要があった。
【００５６】
本発明の第１の実施の形態によれば、移行先のＶＯＬ−Ｃは、移行元の仮想化装置１３Ａの製造番号「Ｕ１」及び移行元の論理ボリューム１３１のボリューム名「ＶＯＬ−Ｂ」を引き継ぐ（図３Ａ及び図３Ｂ参照）。そして、仮想化装置１３Ｂは、ホスト計算機１２からのInquiry要求に対して、引き継いだ「Ｕ１」及び「ＶＯＬ−Ｂ」を応答する。このため、パス管理プログラム１２５は、ＶＯＬ−ＣをＶＯＬ−Ｂと同じ論理ボリューム１３１であると認識し、ＶＯＬ−Ｂと同じ仮想デバイス名をＶＯＬ−Ｃに割り当てる。その結果、システム管理者がマウントテーブル１２６を更新せずに、ＡＰ１２３がＶＯＬ−Ｃに格納されたファイルを使用することができる。
【００５７】
なお、本実施の形態を実施するためには、各論理ボリューム１３１に関するInquiry情報が、計算機システム内で一意である必要がある。このため、仮想化装置１３Ｂが仮想化装置１３Ａから「Ｕ１」及び「ＶＯＬ−Ｂ」を引き継いだ後、仮想化装置１３Ａは、新たに作成した論理ボリューム１３１にボリューム名「ＶＯＬ−Ｂ」を与えることができない。
【００５８】
以下、本実施の形態の各テーブル及び各プログラムについて、詳細に説明する。
【００５９】
図３Ａは、本発明の第１の実施の形態の移行元の仮想化装置１３Ａのボリューム管理テーブル１３８の説明図である。
【００６０】
このボリューム管理テーブル１３８は、仮想化装置１３Ａに格納されている論理ボリューム１３１を管理するテーブルである。図３Ａの例は、ＶＯＬ−ＢからＶＯＬ−Ｃへの移行が完了した後のボリューム管理テーブル１３８を示す。
【００６１】
ボリューム管理テーブル１３８は、仮想化装置内ボリューム番号３０１、作成元仮想化装置の製造番号３０２及び作成時のボリューム番号３０３を含む。これらのうち、作成元仮想化装置の製造番号３０２及び作成時のボリューム番号３０３は、従来のボリューム管理テーブルには含まれておらず、本発明の実施の形態において追加されたものである。
【００６２】
仮想化装置内ボリューム番号３０１は、仮想化装置１３Ａに格納されている論理ボリューム１３１の論理ボリューム番号である。
【００６３】
仮想化装置１３Ａには、当初、ＶＯＬ−Ａ及びＶＯＬ−Ｂの二つの論理ボリューム１３１が格納されている（図２参照）。この時点で、仮想化装置内ボリューム番号３０１として「ＶＯＬ−Ａ」及び「ＶＯＬ−Ｂ」が登録されている。その後、ＶＯＬ−ＢがＶＯＬ−Ｃに移行し、仮想化装置１３ＡからＶＯＬ−Ｂが削除される。
【００６４】
従来は、ＶＯＬ−Ｂの削除に伴って、仮想化装置内ボリューム番号３０１から「ＶＯＬ−Ｂ」が削除された。しかし、本実施の形態では、仮想化装置内ボリューム番号３０１から「ＶＯＬ−Ｂ」が削除されない。これは、仮想化装置１３Ａが新たに作成した論理ボリューム１３１にボリューム番号「ＶＯＬ−Ｂ」を与えることを防ぐためである。「Ｕ１」及び「ＶＯＬ−Ｂ」は移行先のＶＯＬ−Ｃに引き継がれて使用されるので、仮想化装置１３Ａが新たに作成した論理ボリューム１３１にボリューム番号「ＶＯＬ−Ｂ」を与えると、Inquiry情報が計算機システム内で一意でなくなるためである。
【００６５】
作成元仮想化装置の製造番号３０２には、論理ボリューム１３１が一つの仮想化装置１３から別の仮想化装置１３に移行した場合、移行元の仮想化装置１３の製造番号が登録される。この移行元の仮想化装置１３の製造番号は、移行した論理ボリューム１３１のボリューム番号と関連付けて登録される。
【００６６】
図２の例において、仮想化装置１３ＡのＶＯＬ−Ａ及びＶＯＬ−Ｂは、いずれも仮想化装置１３Ａによって作成されたものである。この場合、当初、ＶＯＬ−Ａ及びＶＯＬ−Ｂの作成元仮想化装置の製造番号３０２は、いずれも空欄（「−」）である。その後、ＶＯＬ−ＢがＶＯＬ−Ｃに移行し、仮想化装置１３ＡからＶＯＬ−Ｂが削除される。このとき、ＶＯＬ−Ｂの作成元仮想化装置の製造番号３０２として、仮想化装置１３Ａの製造番号「Ｕ１」が登録される。
【００６７】
作成時のボリューム番号３０３には、論理ボリューム１３１が他の仮想化装置１３の論理ボリューム１３１の移行先である場合、移行元の論理ボリューム番号が格納される。
【００６８】
図２の例において、ＶＯＬ−Ａ及びＶＯＬ−Ｂは、いずれも、他の仮想化装置１３の論理ボリューム１３１の移行先でない。このため、ＶＯＬ−Ａ及びＶＯＬ−Ｂの作成時のボリューム番号３０３は、いずれも空欄（「−」）である。
【００６９】
図３Ｂは、本発明の第１の実施の形態の移行先の仮想化装置１３Ｂのボリューム管理テーブル１３８の説明図である。
【００７０】
このボリューム管理テーブル１３８は、仮想化装置１３Ｂに格納されている論理ボリューム１３１を管理するテーブルである。図３Ｂの例は、ＶＯＬ−ＢからＶＯＬ−Ｃへの移行が完了した後のボリューム管理テーブル１３８を示す。図３Ｂにおいて、図３Ａと同様の部分については、説明を省略する。
【００７１】
仮想化装置１３Ｂには、ＶＯＬ−Ｃが格納されている（図２参照）。このため、仮想化装置内ボリューム番号３０１として「ＶＯＬ−Ｃ」が登録される。
【００７２】
ＶＯＬ−Ｃは、仮想化装置１３ＢのＶＯＬ−Ｂの移行先として作成された論理ボリュームである。このため、ＶＯＬ−Ｃの作成元仮想化装置の製造番号３０２として、移行元の仮想化装置１３Ａの製造番号「Ｕ１」が登録される。さらに、ＶＯＬ−Ｃの作成時のボリューム番号３０３として、移行元の論理ボリューム１３１のボリューム番号「ＶＯＬ−Ｂ」が登録される。
【００７３】
図４Ａは、本発明の第１の実施の形態のInquiry情報の例の説明図である。
【００７４】
図４Ａは、図２のホスト計算機１２が仮想化装置１３ＡのＶＯＬ−Ａを対象としたInquiry要求を発行したときに仮想化装置１３Ａが応答するInquiry情報４００を示す。
【００７５】
Inquiry情報４００は、Inquiry応答プログラム１３６によって作成される。Inquiry応答プログラム１３６が実行する処理の手順については、後で詳細に説明する（図８参照）。
【００７６】
本実施の形態のInquiry情報４００は、装置識別子（製造番号）４０１及びボリューム番号４０２を含む。
【００７７】
仮想化装置１３Ａのボリューム管理テーブル１３８において、ＶＯＬ−Ａの作成元仮想化装置の製造番号３０２は、空欄である（図３Ａ参照）。この場合、装置識別子４０１には、ＶＯＬ−Ａを管理する仮想化装置１３Ａの製造番号「Ｕ１」が登録され、ボリューム番号４０２には、仮想化装置１３ＡがＶＯＬ−Ａに与えたボリューム番号「ＶＯＬ−Ａ」が登録される。
【００７８】
図４Ｂは、本発明の第１の実施の形態のInquiry情報の別の例の説明図である。
【００７９】
図４Ｂは、図２のホスト計算機１２が仮想化装置１３ＢのＶＯＬ−Ｃを対象としたInquiry要求を発行したときに仮想化装置１３Ｂが応答するInquiry情報４００を示す。図４Ｂにおいて、図４Ａと同様の部分については、説明を省略する。
【００８０】
図２に示すように、ＶＯＬ−Ｃは、仮想化装置１３Ｂによって管理されている。従来のInquiry応答プログラム１３６は、装置識別子４０１及びボリューム番号４０２として、それぞれ、ＶＯＬ−Ｃを管理する仮想化装置１３Ｂの製造番号「Ｕ２」及び仮想化装置１３ＢがＶＯＬ−Ｃに与えたボリューム番号「ＶＯＬ−Ｃ」を登録する。しかし、本実施の形態のInquiry応答プログラム１３６は、移行元から引き継いだ製造番号及びボリューム番号を登録して、ホスト計算機１２に応答する。
【００８１】
具体的には、仮想化装置１３Ｂのボリューム管理テーブル１３８において、ＶＯＬ−Ｃの作成元仮想化装置の製造番号３０２及び作成時のボリューム番号３０３には、それぞれ、「Ｕ１」及び「ＶＯＬ−Ｂ」が格納されている（図３Ｂ参照）。すなわち、ＶＯＬ−Ｃは、仮想化装置１３ＢのＶＯＬ−Ｂの移行先として作成された論理ボリューム１３１である。そして、「Ｕ１」及び「ＶＯＬ−Ｂ」は、仮想化装置１３Ｂが移行元の仮想化装置１３Ａから引き継いだものである。この場合、装置識別子４０１及びボリューム番号４０２には、それぞれ、「Ｕ１」及び「ＶＯＬ−Ｂ」が登録される。
【００８２】
図５は、本発明の第１の実施の形態の仮想デバイス管理テーブル１２７の説明図である。
【００８３】
図５は、図２に示すホスト計算機１２の仮想デバイス管理テーブル１２７を示す。
【００８４】
仮想デバイス管理テーブル１２７は、パス管理プログラム１２５によって参照及び更新される。パス管理プログラム１２５が実行する処理の手順については、後で詳細に説明する（図９参照）。
【００８５】
仮想デバイス管理テーブル１２７は、装置識別子（製造番号）５０１、ボリューム番号５０２、仮想デバイス名５０３及びＳＡＮ上の識別子５０４を含む。
【００８６】
装置識別子５０１及びボリューム番号５０２には、ホスト計算機１２がInquiry要求を発行して取得したInquiry情報の値が登録される。ホスト計算機１２は、仮想化装置１３Ａから、製造番号「Ｕ１」及びボリューム名「ＶＯＬ−Ａ」を取得する（図４Ａ参照）。このため、仮想デバイス管理テーブル１２７の第１のエントリ（行）には、装置識別子５０１として「Ｕ１」、ボリューム番号５０２として「ＶＯＬ−Ａ」が登録される。一方、ホスト計算機１２は、仮想化装置１３Ｂから、製造番号「Ｕ１」及びボリューム名「ＶＯＬ−Ｂ」を取得する（図４Ｂ参照）。このため、仮想デバイス管理テーブル１２７の第２のエントリには、装置識別子５０１として「Ｕ１」、ボリューム番号５０２として「ＶＯＬ−Ｂ」が登録される。
【００８７】
仮想デバイス名５０３は、論理ボリューム１３１を仮想デバイスとしてホスト計算機１２に認識させるために使用される名前である。図５の例では、ＶＯＬ−Ａに対応する仮想デバイス名５０３として「/dev/dsk/vol0001」が登録され、ＶＯＬ−Ｂに対応する仮想デバイス名５０３として「/dev/dsk/vol0002」が登録される。
【００８８】
ＳＡＮ上の識別子５０４は、各論理ボリューム１３１をＳＡＮ１７上で識別するために使用される識別子である。図５の例では、ＶＯＬ−Ａに対応するＳＡＮ上の識別子５０４として「0x90abcdef」が登録され、ＶＯＬ−Ｂに対応するＳＡＮ上の識別子５０４として「0x12345678」が登録される。
【００８９】
図６は、本発明の第１の実施の形態のマウントテーブル１２６の説明図である。
【００９０】
図６は、図２に示すホスト計算機１２のマウントテーブル１２６を示す。
【００９１】
マウントテーブル１２６は、ＦＳ１２４によって参照される。ＦＳ１２４が実行する処理の手順については、後で詳細に説明する（図１０参照）。
【００９２】
マウントテーブル１２６は、仮想デバイス名６０１及びファイル名の先頭文字列６０２を含む。
【００９３】
図５に示すように、ホスト計算機１２は、二つの仮想デバイスを認識する。このため、マウントテーブル１２６の仮想デバイス名６０１には、これら二つの仮想デバイスの名前「/dev/dsk/vol0001」及び「/dev/dsk/vol0002」が登録される。
【００９４】
ファイル名の先頭文字列６０２は、各仮想デバイス上にあるファイルに与えられるファイル名の先頭の文字列である。図６の例では、仮想デバイス名「/dev/dsk/vol0001」に対応するファイル名の先頭文字列６０２として「home1」が登録され、仮想デバイス名「/dev/dsk/vol0002」に対応するファイル名の先頭文字列６０２として「home2」が登録される。この場合、例えば、仮想デバイス名６０１が「/dev/dsk/vol0002」である仮想デバイス上のファイルに、「/home2/testuser/file1.txt」というファイル名が与えられる。その仮想デバイス上の他のファイルにも、同様にして、「/home2/」で始まるファイル名が与えられる。
【００９５】
一方、仮想デバイス名６０１が「/dev/dsk/vol0001」である仮想デバイス上のファイルには、「/home1/」で始まるファイル名が与えられる。
【００９６】
次に、本実施の形態の各プログラムが実行する処理について、フローチャートを参照して説明する。以下の説明において各プログラムが実行する処理は、実際には、各プログラムを実行するＣＰＵ１２１等によって実行される。具体的には、ＦＳ１２４及びパス管理プログラム１２５の処理は、ホスト計算機１２のＣＰＵ１２１によって実行される。一方、Inquiry応答プログラム１３６及びボリューム管理プログラム１３７の処理は、仮想化装置１３のＣＰＵ１３４によって実行される。
【００９７】
また、以下の説明において、Inquiry要求及びInquiry情報４００は、ＳＡＮインターフェース１７２及びＳＡＮ１７を経由して、ホスト計算機１２及び仮想化装置１３の間で送受信される。論理ボリューム１３１の識別情報は、ＳＡＮインターフェース１７２及びＳＡＮ１７を経由して、仮想化装置１３の間で送受信される。あるいは、論理ボリューム１３１の識別情報は、ＮＩＣ１５１及びＬＡＮ１５を経由して、仮想化装置１３の間で送受信されてもよい。
【００９８】
図７Ａから図７Ｅは、本発明の第１の実施の形態のボリューム管理プログラム１３７の処理を示すフローチャートである。
【００９９】
本実施の形態のボリューム管理プログラム１３７は、管理サーバ１６からボリューム作成要求、ボリューム削除要求又はボリューム移行要求を受信したとき、これらの要求に従って処理を実行する。さらに、本実施の形態のボリューム管理プログラム１３７は、別の仮想化装置１３からボリューム移行要求を受信したとき、その要求に従って処理を実行する。以下、これらの処理について説明する。
【０１００】
ボリューム管理プログラム１３７は、実行が開始されると、イベントを待つ（図７Ａのステップ７０１）。
【０１０１】
ボリューム管理プログラム１３７は、いずれかの要求を受信してイベントが発生すると、受信した要求が管理サーバ１６から発行されたボリューム作成要求であるか否かを判定する（ステップ７０２）。
【０１０２】
ステップ７０２において、受信した要求が管理サーバ１６から発行されたボリューム作成要求であると判定された場合、ボリューム管理プログラム１３７は、要求された論理ボリューム１３１の作成を実行する（図７Ｂのステップ７０６）。具体的には、作成を要求された論理ボリューム１３１に対応する実ボリューム１３９をストレージ装置１３３上に確保し、その実ボリューム１３９と論理ボリューム１３１とを対応付ける。なお、論理ボリュームと対応する実ボリューム１３９上の領域は、一つ以上の実ボリューム１３９全体であっても良いし、実ボリューム１３９の部分領域又はその部分領域の集合であっても良い。
【０１０３】
次に、ボリューム管理プログラム１３７は、作成した論理ボリューム１３１にボリューム管理テーブル１３８のエントリ（行）を割り当てる（ステップ７０７）。このとき、仮想化装置内ボリューム番号３０１には、作成された論理ボリューム１３１に新たに与えられたボリューム番号が登録される。一方、この時点で、作成された論理ボリューム１３１に対応する作成元仮想化装置の製造番号３０２及び作成時のボリューム番号３０３は空である。
【０１０４】
例えば、仮想化装置１３Ａのボリューム管理プログラム１３７は、ＶＯＬ−Ａを作成する要求を受信した場合、ＶＯＬ−Ａに対応する実ボリューム１３９を確保し、その実ボリューム１３９をＶＯＬ−Ａと対応付ける（ステップ７０６）。そして、ＶＯＬ−Ａにボリューム管理テーブル１３８の一つのエントリを割り当てる（ステップ７０７）。このとき、ＶＯＬ−Ａに対応する作成元仮想化装置の製造番号３０２及び作成時のボリューム番号３０３は空である（図３Ａ参照）。
【０１０５】
ボリューム管理プログラム１３７は、ステップ７０７を実行した後、ステップ７０１に戻る。
【０１０６】
一方、ステップ７０２において、受信した要求が管理サーバ１６から発行されたボリューム作成要求でないと判定された場合、ボリューム管理プログラム１３７は、受信した要求が管理サーバ１６から発行されたボリューム削除要求であるか否かを判定する（ステップ７０３）。
【０１０７】
ステップ７０３において、受信した要求が管理サーバ１６から発行されたボリューム削除要求であると判定された場合、ボリューム管理プログラム１３７は、ボリューム管理テーブル１３８から、削除を要求された論理ボリューム１３１に対応するエントリを削除する（図７Ｃのステップ７０８）。
【０１０８】
次に、ボリューム管理プログラム１３７は、要求された論理ボリューム１３１の削除を実行する（ステップ７０９）。具体的には、削除を要求された論理ボリューム１３１と実ボリューム１３９との対応を解除する。
【０１０９】
ボリューム管理プログラム１３７は、ステップ７０９を実行した後、ステップ７０１に戻る。
【０１１０】
一方、ステップ７０３において、受信した要求が管理サーバ１６から発行されたボリューム削除要求でないと判定された場合、ボリューム管理プログラム１３７は、受信した要求が管理サーバ１６から発行されたボリューム移行要求であるか否かを判定する（ステップ７０４）。ここで、管理サーバ１６から発行されたボリューム移行要求とは、論理ボリューム１３１を、他の仮想化装置１３の論理ボリューム１３１に移行させる要求である。
【０１１１】
ステップ７０４において、受信した要求が管理サーバ１６から発行されたボリューム移行要求であると判定された場合、ボリューム管理プログラム１３７は、ボリューム管理テーブル１３８を参照し、これから移行する論理ボリューム１３１に対応する仮想化装置内ボリューム番号３０１を取得する（図７Ｄのステップ７１０）。
【０１１２】
次に、ボリューム管理プログラム１３７は、論理ボリューム１３１の構成情報、自仮想化装置の製造番号、及び、ステップ７１０において取得した仮想化装置内ボリューム番号３０１を、移行先の仮想化装置１３に送信する（ステップ７１１）。ここで、論理ボリューム１３１の構成情報は、これから移行する論理ボリューム１３１と、その論理ボリューム１３１に書き込まれたデータが実際に格納される実ボリューム１３９との対応関係を示す情報を含む。また、自仮想化装置の製造番号とは、移行元の仮想化装置１３（すなわち、ステップ７１１において情報の送信元となる仮想化装置１３）の製造番号である。これらの情報は、ボリューム移行要求として、移行先の仮想化装置１３に送信される。
【０１１３】
次に、ボリューム管理プログラム１３７は、移行先の仮想化装置１３からの応答を待つ（ステップ７１２）。この応答は、後述する図７Ｅのステップ７１８において送信されるものである。この応答が送信されたことは、論理ボリューム１３１の移行が終了したことを意味する。
【０１１４】
ボリューム管理プログラム１３７は、移行先の仮想化装置１３からの応答を受信すると、移行した論理ボリューム１３１に対応するボリューム管理テーブル１３８の作成元仮想化装置の製造番号３０２に、自仮想化装置の製造番号を登録する（ステップ７１３）。ここで、移行した論理ボリューム１３１とは、ステップ７１０における「これから移行する論理ボリューム１３１」と同じものである。
【０１１５】
次に、ボリューム管理プログラム１３７は、移行した論理ボリュームに対するアクセスを禁止する（ステップ７１４）。
【０１１６】
ボリューム管理プログラム１３７は、ステップ７１４を実行した後、ステップ７０１に戻る。
【０１１７】
ここで、図７Ｄの処理の例として、仮想化装置１３Ａのボリューム管理プログラム１３７が、ＶＯＬ−Ｂを仮想化装置１３Ｂに移行させる要求を管理サーバ１６から受信した場合（ステップ７０４）について説明する。
【０１１８】
この場合、ステップ７１０において、ボリューム管理プログラム１３７は、ボリューム管理テーブル１３８を参照して、「ＶＯＬ−Ｂ」を取得する（図３Ａ参照）。
【０１１９】
次に、ステップ７１１において、ボリューム管理プログラム１３７は、ＶＯＬ−Ｂの構成情報、仮想化装置１３Ａの製造番号「Ｕ１」、及び、ステップ７１０において取得した「ＶＯＬ−Ｂ」を、仮想化装置１３Ｂに送信する。
【０１２０】
ボリューム管理プログラム１３７は、ステップ７１２において応答を受信した後、ステップ７１３において、ボリューム管理テーブル１３８の「ＶＯＬ−Ｂ」に対応する作成元仮想化装置の製造番号３０２に、仮想化装置１３Ａの製造番号「Ｕ１」を登録する（図３Ａ参照）。
【０１２１】
次に、ボリューム管理プログラム１３７は、ＶＯＬ−Ｂに対するアクセスを禁止して（ステップ７１４）、ステップ７０１に戻る。
【０１２２】
一方、ステップ７０４において、受信した要求が管理サーバ１６から発行されたボリューム移行要求でないと判定された場合、ボリューム管理プログラム１３７は、受信した要求が他の仮想化装置１３から発行されたボリューム移行要求であるか否かを判定する（ステップ７０５）。ここで、他の仮想化装置１３から発行されたボリューム移行要求とは、他の仮想化装置１３の論理ボリューム１３１を、自仮想化装置１３（すなわち、その要求を受信した仮想化装置１３）の論理ボリューム１３１に移行させる要求である。この要求は、具体的には、図７Ｄのステップ７１１において送信されたボリューム移行要求である。
【０１２３】
ステップ７０５において、受信した要求が他の仮想化装置１３から発行されたボリューム移行要求であると判定された場合、ボリューム管理プログラム１３７は、論理ボリューム１３１の構成情報、移行元の仮想化装置１３の製造番号、及び、仮想化装置内ボリューム番号３０１を受信する（ステップ７１５）。これらの情報は、図７Ｄのステップ７１１において送信されたものである。
【０１２４】
次に、ボリューム管理プログラム１３７は、新たな論理ボリューム１３１を構成する（ステップ７１６）。具体的には、ステップ７１５において受信した論理ボリューム１３１の構成情報を参照して、移行元の論理ボリューム１３１と対応する実ボリューム１３９と、新たに作成した論理ボリューム１３１とを対応させる。
【０１２５】
次に、ボリューム管理プログラム１３７は、新たに構成された論理ボリューム１３１に、ボリューム管理テーブル１３８の一つのエントリを割り当てる（ステップ７１７）。このとき、そのエントリの仮想化装置内ボリューム番号３０１には、新たに構成された論理ボリュームに与えられたボリューム番号が格納される。一方、そのエントリの作成元仮想化装置の製造番号３０２には、ステップ７１５で受信した移行元の仮想化装置１３の製造番号が格納される。さらに、そのエントリの作成時のボリューム番号３０３には、ステップ７１５で受信した仮想化装置内ボリューム番号３０１が格納される。
【０１２６】
次に、ボリューム管理プログラム１３７は、移行元の仮想化装置１３に、ボリューム移行応答を返送する（ステップ７１８）。この応答は、論理ボリューム１３１の移行が終了したことを通知するものである。
【０１２７】
ボリューム管理プログラム１３７は、ステップ７１８を実行した後、ステップ７０１に戻る。
【０１２８】
ここで、図７Ｅの処理の例として、仮想化装置１３Ｂのボリューム管理プログラム１３７が、仮想化装置１３ＡのＶＯＬ−Ｂを仮想化装置１３Ｂに移行させる要求を、仮想化装置１３Ａから受信した場合（ステップ７０５）について説明する。
【０１２９】
この場合、ステップ７１５において、仮想化装置１３Ｂのボリューム管理プログラム１３７は、ＶＯＬ−Ｂの構成情報、移行元の仮想化装置１３Ａの製造番号「Ｕ１」、及び、仮想化装置内ボリューム番号「ＶＯＬ−Ｂ」を受信する。
【０１３０】
次に、ステップ７１６において、ボリューム管理プログラム１３７は、新たな論理ボリュームとしてＶＯＬ−Ｃを構成する。ＶＯＬ−Ｃは、ＶＯＬ−Ｂが対応していた実ボリューム１３９と対応付けられる。
【０１３１】
次に、ステップ７１７において、ＶＯＬ−Ｃにボリューム管理テーブル１３８の一つのエントリが割り当てられる。このエントリの仮想化装置内ボリューム番号３０１には「ＶＯＬ−Ｃ」、作成元仮想化装置の製造番号３０２には「Ｕ１」、作成時のボリューム番号３０３には「ＶＯＬ−Ｂ」が格納される（図３Ｂ参照）。
【０１３２】
次に、ボリューム管理プログラム１３７は、移行元の仮想化装置１３Ａにボリューム移行応答を送信して（ステップ７１８）、ステップ７０１に戻る。
【０１３３】
図８は、本発明の第１の実施の形態のInquiry応答プログラム１３６の処理を示すフローチャートである。
【０１３４】
仮想化装置１３がいずれかの論理ボリューム１３１に対するInquiry要求をホスト計算機１２から受信すると、Inquiry応答プログラム１３６の処理が開始される（ステップ８０１）。
【０１３５】
次に、Inquiry応答プログラム１３６は、ボリューム管理テーブル１３８を参照する（ステップ８０２）。具体的には、ボリューム管理テーブル１３８において、Inquiry要求の対象の論理ボリューム１３１に対応するエントリを参照する。
【０１３６】
次に、Inquiry応答プログラム１３６は、ステップ８０２において参照したエントリの作成元仮想化装置の製造番号３０２が空であるか否かを判定する（ステップ８０３）。
【０１３７】
ステップ８０３において、作成元仮想化装置の製造番号３０２が空であると判定された場合、そのエントリに対応する論理ボリューム１３１は、他の仮想化装置１３の論理ボリューム１３１からの移行先ではなく、かつ、他の仮想化装置１３の論理ボリューム１３１への移行元でもない。この場合、Inquiry応答プログラム１３６は、自仮想化装置（すなわち、そのInquiry応答プログラム１３６を含む仮想化装置１３）の製造番号を装置識別子４０１とし、自仮想化装置がその論理ボリュームに与えたボリューム番号をボリューム番号４０２としたInquiry情報４００を作成する（ステップ８０４）。
【０１３８】
一方、ステップ８０３において、作成元仮想化装置の製造番号３０２が空でないと判定された場合、そのエントリに対応する論理ボリューム１３１は、他の仮想化装置１３の論理ボリューム１３１からの移行先であるか、又は、他の仮想化装置１３の論理ボリューム１３１への移行元である。この場合、Inquiry応答プログラム１３６は、ステップ８０２において参照したエントリの作成元仮想化装置の製造番号３０２が自仮想化装置の製造番号であるか否かを判定する（ステップ８０５）。
【０１３９】
ステップ８０５において、作成元仮想化装置の製造番号３０２が自仮想化装置の製造番号でないと判定された場合、そのエントリに対応する論理ボリューム１３１は、他の仮想化装置１３の論理ボリューム１３１からの移行先である。この場合、Inquiry応答プログラム１３６は、移行元の論理ボリューム１３１から引き継いだ情報を使用してInquiry情報４００を作成する（ステップ８０６）。具体的には、そのエントリの作成元仮想化装置の製造番号３０２に登録されている値を装置識別子４０１とし、作成元のボリューム番号３０３に登録されている値をボリューム番号４０２としたInquiry情報４００を作成する（ステップ８０６）。
【０１４０】
一方、ステップ８０５において、作成元仮想化装置の製造番号３０２が自仮想化装置の製造番号であると判定された場合、そのエントリに対応する論理ボリューム１３１は、他の仮想化装置１３の論理ボリューム１３１への移行元である。言い換えると、そのエントリに対応する論理ボリューム１３１は、既に他の仮想化装置１３に移行されており、自仮想化装置には存在していない。この場合、Inquiry応答プログラム１３６は、Inquiry情報４００を作成せず、エラー応答をホスト計算機１２に送信する（ステップ８０７）。
【０１４１】
ステップ８０４又はステップ８０６においてInquiry情報４００が作成された後、Inquiry応答プログラム１３６は、作成されたInquiry情報４００をホスト計算機１２に送信する（ステップ８０８）。
【０１４２】
以上で、受信したInquiry要求に対する応答が終了する。ステップ８０８においてInquiry情報４００を送信した後、又は、ステップ８０７においてエラー応答を送信した後、Inquiry応答プログラム１３６は、ホスト計算機１２から次回のInquiry要求を受信するのを待つ（ステップ８０９）。次回のInquiry要求を受信すると、Inquiry応答プログラム１３６の処理は、ステップ８０１に戻る。
【０１４３】
例えば、仮想化装置１３ＡがＶＯＬ−Ａを対象としたInquiry要求を受信した場合（ステップ８０１）、仮想化装置１３ＡのInquiry応答プログラム１３６は、仮想化装置１３Ａのボリューム管理テーブル１３８（図３Ａ）を参照する（ステップ８０２）。ボリューム管理テーブル１３８のＶＯＬ−Ａに関するエントリの作成元仮想化装置の製造番号３０２は空である（ステップ８０３）。このため、Inquiry応答プログラム１３６は、仮想化装置１３Ａの製造番号「Ｕ１」を装置識別子４０１とし、ＶＯＬ−Ａのボリューム番号「ＶＯＬ−Ａ」をボリューム番号４０２としたInquiry情報４００を作成して、ホスト計算機１２に送信する（ステップ８０４、８０８）。
【０１４４】
一方、ＶＯＬ−ＢをＶＯＬ−Ｃに移行する前に、仮想化装置１３ＡがＶＯＬ−Ｂを対象としたInquiry要求を受信した場合（ステップ８０１）、仮想化装置１３ＡのInquiry応答プログラム１３６は、仮想化装置１３Ａのボリューム管理テーブル１３８（図３Ａ）を参照する（ステップ８０２）。ＶＯＬ−ＢをＶＯＬ−Ｃに移行する前、ボリューム管理テーブル１３８のＶＯＬ−Ｂに関するエントリの作成元仮想化装置の製造番号３０２は、空である（ステップ８０３）。「Ｕ１」は、仮想化装置１３Ａ（すなわち、自仮想化装置）の製造番号である（ステップ８０５）。このため、Inquiry応答プログラム１３６は、仮想化装置１３Ａの製造番号「Ｕ１」を装置識別子４０１とし、ＶＯＬ−Ｂのボリューム番号「ＶＯＬ−Ｂ」をボリューム番号４０２としたInquiry情報４００を作成して、ホスト計算機１２に送信する（ステップ８０４、８０８）。
【０１４５】
一方、ＶＯＬ−ＢをＶＯＬ−Ｃに移行した後に、仮想化装置１３ＡがＶＯＬ−Ｂを対象としたInquiry要求を受信した場合（ステップ８０１）、仮想化装置１３ＡのInquiry応答プログラム１３６は、仮想化装置１３Ａのボリューム管理テーブル１３８（図３Ａ）を参照する（ステップ８０２）。ボリューム管理テーブル１３８のＶＯＬ−Ｂに関するエントリの作成元仮想化装置の製造番号３０２は、空ではなく、「Ｕ１」である（ステップ８０３）。「Ｕ１」は、仮想化装置１３Ａ（すなわち、自仮想化装置）の製造番号である（ステップ８０５）。このため、Inquiry応答プログラム１３６は、Inquiry情報４００を作成せず、エラー応答をホスト計算機１２に送信する（ステップ８０７）。
【０１４６】
一方、仮想化装置１３ＢがＶＯＬ−Ｃを対象としたInquiry要求を受信した場合（ステップ８０１）、仮想化装置１３ＢのInquiry応答プログラム１３６は、仮想化装置１３Ｂのボリューム管理テーブル１３８（図３Ｂ）を参照する（ステップ８０２）。ボリューム管理テーブル１３８のＶＯＬ−Ｃに関するエントリの作成元仮想化装置の製造番号３０２は、空ではなく、「Ｕ１」である（ステップ８０３）。「Ｕ１」は、仮想化装置１３Ｂ（すなわち、自仮想化装置）の製造番号ではない（ステップ８０５）。このため、Inquiry応答プログラム１３６は、作成元仮想化装置の製造番号３０２に登録された値「Ｕ１」を装置識別子４０１とし、作成時のボリューム番号３０３に登録された値「ＶＯＬ−Ｂ」をボリューム番号４０２としたInquiry情報４００を作成して、ホスト計算機１２に送信する（ステップ８０６、８０８）。これらの値は、ＶＯＬ−ＢをＶＯＬ−Ｃに移行する前に、ＶＯＬ−Ｂを対象としたInquiry要求が発行されたときに作成されるInquiry情報４００と同じである。
【０１４７】
従来は、仮想化装置１３ＢがＶＯＬ−Ｃを対象としたInquiry要求を受信した場合、仮想化装置１３Ｂは、仮想化装置１３Ｂの製造番号「Ｕ２」及びＶＯＬ−Ｃのボリューム名「ＶＯＬ−Ｃ」を、Inquiry情報４００として送信した。しかし、本実施の形態の仮想化装置１３Ｂは、上記のように、移行元から引き継いだ製造番号「Ｕ１」及びボリューム名「ＶＯＬ−Ｂ」をInquiry情報４００として送信する。
【０１４８】
図９は、本発明の第１の実施の形態のパス管理プログラム１２５の処理を示すフローチャートである。
【０１４９】
パス管理プログラム１２５は、実行が開始されると、イベントを待つ（ステップ９０１）。
【０１５０】
パス管理プログラム１２５は、いずれかのイベントが発生すると、発生したイベントが仮想デバイス管理テーブル更新イベントであるか否かを判定する（ステップ９０２）。仮想デバイス管理テーブル更新イベントとは、仮想デバイス管理テーブル１２７の更新の契機となるイベントである。
【０１５１】
具体的には、タイマ（図示省略）が所定の時間間隔の経過をパス管理プログラム１２５に通知し、パス管理プログラム１２５がその通知を仮想デバイス管理テーブル更新イベントとして検出してもよい。あるいは、論理ボリューム１３１が作成、削除又は移行されたとき等、ＳＡＮ１７上の状態が変化したときにＳＡＮインターフェース１７２に発生する割り込みが、仮想デバイス管理テーブル更新イベントとして検出されてもよい。あるいは、いずれかの論理ボリューム１３１に対するアクセス要求にエラーが応答されたとき（すなわち、その論理ボリューム１３１にアクセスすることができなかったとき）、そのエラーが仮想デバイス管理テーブル更新イベントとして検出されてもよい。
【０１５２】
ステップ９０２において、発生したイベントが仮想デバイス管理テーブル更新イベントであると判定された場合、定期的に仮想デバイス管理テーブル１２７を更新するタイミングが到来したか、又は、ＳＡＮ１７上の状態が変更された（具体的には、論理ボリューム１３１が作成、削除又は移行等された）。この場合、パス管理プログラム１２５は、仮想化装置１３又は名前管理サーバ（図示省略）から、論理ボリューム１３１のＳＡＮ上の識別子を取得する（ステップ９０３）。名前管理サーバとは、ＳＡＮ１７上に存在するデバイスのＳＡＮ上の識別子を管理するサーバであり、要求に応じてＳＡＮ上の識別子の一覧を提供する。本実施の形態の計算機システムは、このような名前管理サーバを含んでもよい。
【０１５３】
次に、パス管理プログラム１２５は、取得したＳＡＮ上の識別子を指定して、仮想化装置１３にInquiry要求を発行（送信）する（ステップ９０４）。このInquiry要求を受信した仮想化装置１３のInquiry応答プログラムが実行する処理は、図８に示した通りである。
【０１５４】
次に、パス管理プログラム１２５は、仮想化装置１３からInquiry情報４００を受信する（ステップ９０５）。
【０１５５】
次に、パス管理プログラム１２５は、仮想化装置１３から受信したInquiry情報４００を参照して、仮想デバイス管理テーブル１２７を更新する（ステップ９０６）。具体的には、受信したInquiry情報４００の装置識別子４０１及びボリューム番号４０２を、指定されたＳＡＮ上の識別子５０４に対応するエントリの装置識別子５０１及びボリューム番号５０２に登録する。
【０１５６】
次に、パス管理プログラム１２５は、全ての仮想化装置１３の論理ボリューム１３１について仮想デバイス管理テーブル１２７の更新が終了したか否かを判定する（ステップ９０７）。
【０１５７】
ステップ９０７において、全ての仮想化装置１３の論理ボリューム１３１について仮想デバイス管理テーブル１２７の更新が終了したと判定された場合、処理はステップ９０１に戻り、次回のイベントを待つ。
【０１５８】
一方、ステップ９０７において、全ての仮想化装置１３の論理ボリューム１３１について仮想デバイス管理テーブル１２７の更新が終了していないと判定された場合、次の論理ボリューム１３１について仮想デバイス管理テーブル１２７を更新するために、ステップ９０３に戻る。
【０１５９】
一方、ステップ９０２において、発生したイベントが仮想デバイス管理テーブル更新イベントでないと判定された場合、パス管理プログラム１２５は、発生したイベントがＦＳ１２４からの入出力要求であるか否かを判定する（ステップ９０８）。
【０１６０】
ステップ９０８において、発生したイベントがＦＳ１２４からの入出力要求であると判定された場合、パス管理プログラム１２５は、仮想デバイス管理テーブル１２７を参照して、ＳＡＮ上の識別子５０４を取得する（ステップ９０９）。
【０１６１】
次に、パス管理プログラム１２５は、取得したＳＡＮ上の識別子５０４を指定して、論理ボリューム１３１に対して、要求されたデータの書き込み又は読み出しを実行する（ステップ９１０）。
【０１６２】
パス管理プログラム１２５は、ステップ９１０を実行した後、ステップ９０１に戻り、次回のイベントを待つ。
【０１６３】
一方、ステップ９０８において、発生したイベントがＦＳ１２４からの入出力要求でないと判定された場合、パス管理プログラム１２５は、ステップ９０１に戻り、次回のイベントを待つ。
【０１６４】
ここで、例として、ＶＯＬ−ＢがＶＯＬ−Ｃに移行した後にパス管理プログラム１２５が実行する処理を説明する。
【０１６５】
ＶＯＬ−ＢがＶＯＬ−Ｃに移行した後、ホスト計算機１２がＶＯＬ−Ｂにアクセスしようとした場合、そのアクセスに失敗するため、仮想デバイス管理テーブル更新イベントが検出される（ステップ９０２）。
【０１６６】
この場合、パス管理プログラム１２５は、ＳＡＮ上の識別子を取得して（ステップ９０３）、仮想化装置１３ＢのＶＯＬ−Ｃを対象とするInquiry要求を送信する（ステップ９０４）。
【０１６７】
次に、パス管理プログラム１２５は、Inquiry情報４００を受信する（ステップ９０５）。従来、仮想化装置１３ＢのＶＯＬ−Ｃを対象とするInquiry要求に対して、「Ｕ２」及び「ＶＯＬ−Ｃ」からなるInquiry情報４００が作成された。しかし、本実施の形態では、ＶＯＬ−ＢがＶＯＬ−Ｃに移行した場合、仮想化装置１３ＢのＶＯＬ−Ｃを対象とするInquiry要求に対して、「Ｕ１」及び「ＶＯＬ−Ｂ」からなるInquiry情報４００が作成される。これは、ＶＯＬ−ＢがＶＯＬ−Ｃに移行する前に、移行元のＶＯＬ−Ｂを対象とするInquiry要求が発行されたときに作成されるInquiry情報４００と同じである（図８参照）。
【０１６８】
次に、パス管理プログラム１２５は、受信したInquiry情報４００に基づいて、仮想デバイス管理テーブル１２７を更新する（ステップ９０６）。ここで、移行前のＶＯＬ−Ｂに対して、仮想デバイス名５０３「/dev/dsk/vol0002」が与えられている。ステップ９０６においてInquiry情報４００として受信した「Ｕ１」及び「ＶＯＬ−Ｂ」は、移行元のＶＯＬ−Ｂに関するInquiry情報４００と同じである。このため、パス管理プログラム１２５は、ＶＯＬ−ＣをＶＯＬ−Ｂと同じ論理ボリューム１３１であると認識し、「Ｕ１」及び「ＶＯＬ−Ｂ」に対して、引き続き、仮想デバイス名５０３「/dev/dsk/vol0002」を与える。一方、これらに対応するＳＡＮ上の識別子５０４は、現在のＶＯＬ−Ｃに対応する値に更新される。
【０１６９】
図１０は、本発明の第１の実施の形態のファイルシステム（ＦＳ）１２４の処理を示すフローチャートである。
【０１７０】
ＦＳ１２４は、最初に、ＡＰ１２３から、ファイル名を指定したファイルのオープン要求を受ける（ステップ１００１）。
【０１７１】
次に、ＦＳ１２４は、マウントテーブル１２６を参照して、要求されたファイルがどの仮想デバイスに格納されているかを特定する（ステップ１００２）。具体的には、ＦＳ１２４は、ファイル名の先頭文字列６０２から、指定されたファイル名の先頭の文字列と一致するものを検索する。例えば、ステップ１００１において指定されたファイル名が「/home2/testuser/file1.txt」である場合、ＦＳ１２４は、ファイル名の先頭文字列６０２が「/home2」である仮想デバイス（すなわち、仮想デバイス名６０１が「/dev/dsk/vol0002」である仮想デバイス）を特定する。
【０１７２】
次に、ＦＳ１２４は、特定された仮想デバイスから、ファイル名とファイル位置との対応情報を読み出す（ステップ１００３）。この情報は、特定された仮想デバイス上のデータに含まれている。
【０１７３】
次に、ＦＳ１２４は、ステップ１００３の読み出しが成功したか否かを判定する（ステップ１００４）。
【０１７４】
ステップ１００４において、読み出しが成功したと判定された場合、ＦＳ１２４は、ファイルハンドル（図示省略）をＡＰ１２３に返す（ステップ１００５）。ファイルハンドルとは、ファイルの管理番号である。ＡＰ１２３は、以後、このファイルハンドルを使用して、ファイルに対する読み出し及び書き込みを実行することができる。
【０１７５】
一方、ステップ１００４において、読み出しに失敗したと判定された場合、ＦＳ１２４は、エラーをＡＰ１２３に返す（ステップ１００７）。
【０１７６】
ＦＳ１２４は、ステップ１００５又はステップ１００７を実行した後、ＡＰ１２３からの次回の要求を待つ（ステップ１００６）。ＦＳ１２４は、ＡＰ１２３から次回の要求を受けると、ステップ１００１に戻る。
【０１７７】
図１１は、本発明の第１の実施の形態における論理ボリューム１３１の移行の手順を示すシーケンス図である。
【０１７８】
図１１は、論理ボリューム１３１を移行する際に、移行元の仮想化装置１３のボリューム管理プログラム１３７（以下、移行元のボリューム管理プログラム１３７と記載する）、移行先の仮想化装置１３のボリューム管理プログラム１３７（以下、移行先のボリューム管理プログラム１３７と記載する）、及び、ホスト計算機１２のパス管理プログラム１２５が実行する処理の相互の関係を示す。図１１に示す各ステップは、図７Ｄ、図７Ｅ及び図９に示すステップと対応する。このため、各ステップについての詳細な説明は省略する。また、図１１は、各プログラムが実行する処理の相互の関係を説明するものであるため、この説明に必要でないステップについては図示を省略する。
【０１７９】
最初に、移行元のボリューム管理プログラム１３７は、管理サーバ１６からボリューム移行要求を受けると、移行対象の論理ボリューム１３１に対応する仮想化装置内ボリューム番号３０１を取得する（ステップ７１０）。
【０１８０】
次に、移行元のボリューム管理プログラム１３７は、論理ボリューム１３１の構成情報、自仮想化装置の製造番号、及び、ステップ７１０において取得した仮想化装置内ボリューム番号３０１を、移行先のボリューム管理プログラム１３７に送信する（ステップ７１１）。自仮想化装置の製造番号及び仮想化装置内ボリューム番号３０１は、移行対象の論理ボリューム１３１の識別情報である。
【０１８１】
移行先のボリューム管理プログラム１３７は、論理ボリューム１３１の識別情報等を受信すると（ステップ７１５）、受信した情報を参照して、新たな論理ボリューム１３１を構成する（ステップ７１６）。
【０１８２】
次に、移行先のボリューム管理プログラム１３７は、新たに構成された論理ボリューム１３１に、ボリューム管理テーブル１３８の一つのエントリを割り当てる（ステップ７１７）。
【０１８３】
次に、移行先のボリューム管理プログラム１３７は、移行元のボリューム管理プログラム１３７に、ボリューム移行応答を返送する（ステップ７１８）。
【０１８４】
移行元のボリューム管理プログラム１３７は、応答を受信すると、ボリューム管理テーブル１３８の作成元仮想化装置の製造番号３０２に、自仮想化装置の製造番号を登録する（ステップ７１３）。
【０１８５】
次に、移行元のボリューム管理プログラム１３７は、移行した論理ボリューム１３１へのアクセスを禁止する（ステップ７１４）。
【０１８６】
ホスト計算機１２のパス管理プログラム１２５は、例えば、移行元の論理ボリューム１３１にアクセスできなくなったことを検出すると、論理ボリューム１３１のＳＡＮ上の識別子を取得する（ステップ９０３）。
【０１８７】
次に、パス管理プログラム１２５は、取得したＳＡＮ上の識別子を指定して、仮想化装置１３にInquiry要求を送信する（ステップ９０４）。
【０１８８】
パス管理プログラム１２５は、仮想化装置１３からInquiry情報４００を受信すると（ステップ９０５）、受信したInquiry情報４００を参照して、仮想デバイス管理テーブル１２７を更新する（ステップ９０６）。
【０１８９】
本実施の形態によれば、移行元と移行先の論理ボリューム１３１のInquiry情報４００が同一である。このため、仮想デバイス管理テーブル１２７において、ＳＡＮ上の識別子５０４以外の内容は更新されない。その結果、システム管理者がファイル名と仮想デバイス名との対応関係を更新しなくても、ホスト計算機１２のＡＰ１２３は、移行先の論理ボリューム１３１のファイルにアクセスすることができる。
【０１９０】
次に、本発明の第２の実施の形態について説明する。
【０１９１】
本発明の第２の実施の形態の計算機システムの構成は、第１の実施の形態と同様であるため、説明を省略する（図１参照）。
【０１９２】
図１２は、本発明の第２の実施の形態の概要の説明図である。
【０１９３】
図１２において、図２と同様の部分については、説明を省略する。
【０１９４】
本発明の第１の実施の形態において、ＶＯＬ−ＢがＶＯＬ−Ｃに移行すると、ＶＯＬ−Ｃは、作成元仮想化装置の製造番号３０２「Ｕ１」及び作成時のボリューム番号「ＶＯＬ−Ｂ」を、ＶＯＬ−Ｂから引き継ぐ。この場合、Inquiry情報４００が計算機システム内で一意である必要があるため、仮想化装置１３Ａは、新たに作成した論理ボリューム１３１にボリューム番号「ＶＯＬ−Ｂ」を与えることができない。
【０１９５】
また、第１の実施の形態では、ＶＯＬ−ＢがＶＯＬ−Ｃに移行した後も、ホスト計算機１２は、ＶＯＬ−Ｃを仮想化装置１３Ａ上のＶＯＬ−Ｂであると認識する。このため、仮想化装置１３Ａが持たない機能を仮想化装置１３Ｂが持っていたとしても、その機能をＶＯＬ−Ｃに適用することができない。
【０１９６】
本発明の第２の実施の形態では、論理ボリューム１３１が移行した後、適当な時期に、移行先の仮想化装置１３が、移行元の仮想化装置１３に、引き継いだ情報を返却する。適当な時期とは、例えば、計算機システムが計画停止するときである。このとき、システム管理者は、ホスト計算機１２の設定を変更する。
【０１９７】
例えば、図１２において、ＶＯＬ−ＢがＶＯＬ−Ｃに移行すると、ＶＯＬ−Ｃは、「Ｕ１」及び「ＶＯＬ−Ｂ」をＶＯＬ−Ｂから引き継ぐ。その後、計算機システムが計画停止したとき、仮想化装置１３Ｂは、仮想化装置１３Ａに「Ｕ１」及び「ＶＯＬ−Ｂ」を返却する。具体的には、仮想化装置１３Ｂは、ボリューム管理テーブル１３８から、ＶＯＬ−Ｃに対応する「Ｕ１」及び「ＶＯＬ−Ｂ」を削除する。
【０１９８】
その後、ホスト計算機１２がＶＯＬ−Ｃに対するInquiry要求を発行すると、仮想化装置１３Ｂは、仮想化装置１３Ｂの製造番号「Ｕ２」とＶＯＬ−Ｃのボリューム名「ＶＯＬ−Ｃ」からなるInquiry情報を応答する。このため、ＶＯＬ−ＢとＶＯＬ−Ｃが同じ実ボリューム１３９と対応しているにも関らず、ホスト計算機１２のパス管理プログラム１２５は、ＶＯＬ−ＣをＶＯＬ−Ｂとは異なる論理ボリューム１３１であると認識する。ＶＯＬ−Ｂに仮想デバイス名「/dev/dsk/vol0002」が割り当てられている場合、パス管理プログラム１２５は、それと異なる仮想デバイス名（例えば、「/dev/dsk/vol0003」）をＶＯＬ−Ｃに割り当てる。
【０１９９】
このとき、システム管理者は、ＶＯＬ−Ｂの仮想デバイス名「/dev/dsk/vol0002」と、ファイル名（図１２の例では、「/home2」）との対応関係を解除し、ＶＯＬ−Ｃの仮想デバイス名「/dev/dsk/vol0003」とファイル名「/home2」とを新たに対応させるように、マウントテーブル１２６を更新する。
【０２００】
その結果、ホスト計算機１２のＡＰ１２３は、引き続き、ＶＯＬ−Ｃに格納されたファイルにアクセスすることができる。一方、仮想化装置１３Ａは、新たに作成した論理ボリューム１３１にボリューム番号「ＶＯＬ−Ｂ」を与えることができる。さらに、仮想化装置１３Ｂの機能をＶＯＬ−Ｃに適用することができる。
【０２０１】
以下、本実施の形態について詳細に説明する。
【０２０２】
本実施の形態のボリューム管理テーブル１３８、Inquiry情報４００、仮想デバイス管理テーブル１２７及びマウントテーブル１２６は、本発明の第１の実施の形態と同様であるので、説明を省略する（図３Ａから図６参照）。また、本実施の形態のInquiry応答プログラム１３６、パス管理プログラム１２５及びＦＳ１２４が実行する処理は、本発明の第１の実施の形態と同様であるので、説明を省略する（図８から図１０参照）。
【０２０３】
図１３Ａから図１３Ｃは、本発明の第２の実施の形態のボリューム管理プログラム１３７の処理を示すフローチャートである。
【０２０４】
本実施の形態のボリューム管理プログラム１３７は、管理サーバ１６からボリューム番号返却要求、ボリューム作成要求、ボリューム削除要求又はボリューム移行要求を受信したとき、これらの要求に従って処理を実行する。さらに、本実施の形態のボリューム管理プログラム１３７は、別の仮想化装置１３からボリューム番号返却要求又はボリューム移行要求を受信したとき、その要求に従って処理を実行する。以下、これらの処理について説明する。
【０２０５】
なお、図１３Ａから図１３Ｃにおいて、本発明の第１の実施の形態のボリューム管理プログラム１３７と同じ手順については、同じステップ番号を付与する。
【０２０６】
ボリューム管理プログラム１３７は、実行が開始されると、イベントを待つ（図１３Ａのステップ７０１）。
【０２０７】
ボリューム管理プログラム１３７は、いずれかの要求を受信してイベントが発生すると、受信した要求が管理サーバ１６から発行されたボリューム番号返却要求であるか否かを判定する（ステップ１３０１）。
【０２０８】
ステップ１３０１において、受信した要求が管理サーバ１６から発行されたボリューム番号返却要求であると判定された場合、ボリューム管理プログラム１３７は、ボリューム管理テーブル１３８を参照し、返却対象のボリューム番号に対応する作成元仮想化装置の製造番号３０２を取得する（図１３Ｂのステップ１３０３）。返却対象のボリューム番号とは、ボリューム番号返却要求によって指定されたボリューム番号である。
【０２０９】
次に、ボリューム管理プログラム１３７は、作成元の仮想化装置１３に、返却対象のボリューム番号を送信する（ステップ１３０４）。
【０２１０】
次に、ボリューム管理プログラム１３７は、作成元の仮想化装置１３からの応答を待つ（ステップ１３０５）。この応答は、後述する図１３Ｃのステップ１３０８において送信されるものである。
【０２１１】
ボリューム管理プログラム１３７は、作成元の仮想化装置１３から応答を受信すると、返却対象のボリューム番号に対応する作成元仮想化装置の製造番号３０２を、ボリューム管理テーブル１３８から削除する（ステップ１３０６）。
【０２１２】
ボリューム管理プログラム１３７は、ステップ１３０６を実行した後、図１３Ａのステップ７０１に戻る。
【０２１３】
一方、ステップ１３０１において、受信した要求が管理サーバ１６から発行されたボリューム番号返却要求でないと判定された場合、ボリューム管理プログラム１３７は、受信した要求が他の仮想化装置１３から発行されたボリューム番号返却要求であるか否かを判定する（ステップ１３０２）。
【０２１４】
ステップ１３０２において、受信した要求が他の仮想化装置１３から発行されたボリューム番号返却要求であると判定された場合、ボリューム管理プログラム１３７は、ボリューム管理テーブル１３８を参照し、返却対象のボリューム番号に対応するエントリを削除する（図１３Ｃのステップ１３０７）。
【０２１５】
次に、ボリューム管理プログラム１３７は、ボリューム番号の返却が終了したことを示す応答を、ボリューム番号返却要求を発行した仮想化装置１３に送信する（ステップ１３０８）。
【０２１６】
ボリューム管理プログラム１３７は、ステップ１３０８を実行した後、図１３Ａのステップ７０１に戻る。
【０２１７】
一方、ステップ１３０２において、受信した要求が他の仮想化装置１３から発行されたボリューム番号返却要求であると判定された場合、ボリューム管理プログラム１３７は、ステップ７０２に進む。
【０２１８】
以下、ステップ７０２からステップ７１８までの処理は、本発明の第１の実施の形態と同じであるため、説明を省略する（図７Ａから図７Ｅ参照）。
【０２１９】
なお、本実施の形態のボリューム管理プログラム１３７が図７Ｂから図７Ｅに示す処理を実行した場合、それらの処理が終了した後、処理は図１３Ａのステップ７０１に戻る。
【０２２０】
ここで、図１３Ｂ及び図１３Ｃの処理の具体例を説明する。この例において、仮想化装置１３ＡのＶＯＬ−Ｂが仮想化装置１３ＢのＶＯＬ−Ｃに移行している。そして、ＶＯＬ−ＣがＶＯＬ−Ｂから「Ｕ１」及び「ＶＯＬ−Ｂ」を引き継いでいる（図１２参照）。
【０２２１】
最初に、仮想化装置１３Ｂのボリューム管理プログラム１３７は、ボリューム番号「ＶＯＬ−Ｂ」を返却対象として指定したボリューム番号返却要求を管理サーバ１６から受信する（ステップ１３０１）。
【０２２２】
次に、仮想化装置１３Ｂのボリューム管理プログラム１３７は、ボリューム管理テーブル１３８を参照する（図３Ｂ参照）。ボリューム管理テーブル１３８において、作成時のボリューム番号３０３の値「ＶＯＬ−Ｂ」に対応する作成元仮想化装置の製造番号３０２の値は、「Ｕ１」である。このため、ボリューム管理プログラム１３７は、返却対象のボリューム番号「ＶＯＬ−Ｂ」に対応する作成元仮想化装置の製造番号３０２の値として、「Ｕ１」を取得する（ステップ１３０３）。
【０２２３】
次に、仮想化装置１３Ｂのボリューム管理プログラム１３７は、返却対象のボリューム番号「ＶＯＬ−Ｂ」を、作成元の仮想化装置１３Ａに送信して、応答を待つ（ステップ１３０４及び１３０５）。
【０２２４】
この返却対象のボリューム番号「ＶＯＬ−Ｂ」を受信した仮想化装置１３Ａのボリューム管理プログラム１３７は、ボリューム管理テーブル１３８（図３Ａ参照）から、仮想化装置内ボリューム番号３０１が「ＶＯＬ−Ｂ」であるエントリを削除する（ステップ１３０７）。
【０２２５】
次に、仮想化装置１３Ａのボリューム管理プログラム１３７は、仮想化装置１３Ｂに応答を送信する（ステップ１３０８）。
【０２２６】
仮想化装置１３Ｂのボリューム管理プログラム１３７は、仮想化装置１３Ａから応答を受信すると、返却対象のボリューム番号「ＶＯＬ−Ｂ」に対応する作成元仮想化装置の製造番号３０２の値「Ｕ１」を、ボリューム管理テーブル１３８から削除する。
【０２２７】
以後、仮想化装置１３ＢがＶＯＬ−Ｃを対象とするInquiry要求を受信した場合、Inquiry応答プログラム１３６は、ＶＯＬ−Ｃに対応する作成元仮想化装置の製造番号３０２が空であるため、仮想化装置１３Ｂの製造番号「Ｕ２」及びＶＯＬ−Ｃのボリューム名「ＶＯＬ−Ｃ」からなるInquiry情報を作成する（図８のステップ８０３及び８０４参照）。
【０２２８】
一方、仮想化装置１３Ａのボリューム管理テーブル１３８には、仮想化装置内ボリューム番号３０１が「ＶＯＬ−Ｂ」であるエントリがない。このため、仮想化装置１３Ａは、新たに作成した論理ボリューム１３１に、ボリューム番号「ＶＯＬ−Ｂ」を与えることができる。
【０２２９】
次に、本発明の第３の実施の形態について説明する。
【０２３０】
本発明の第３の実施の形態の計算機システムの構成は、第１の実施の形態と同様であるため、説明を省略する（図１参照）。
【０２３１】
図１４は、本発明の第３の実施の形態の概要の説明図である。
【０２３２】
図１４において、図２と同様の部分については、説明を省略する。
【０２３３】
本発明の第１の実施の形態において、論理ボリューム１３１が他の論理ボリューム１３１から仮想化装置１３の製造番号及びボリューム番号を引き継いでいる場合、Inquiry応答プログラム１３６は、引き継いだ情報を使用してInquiry情報４００を作成する。一方、論理ボリューム１３１が他の論理ボリューム１３１から仮想化装置１３の製造番号等を引き継いでいない場合、Inquiry応答プログラム１３６は、自仮想化装置の製造番号及びその論理ボリューム１３１のボリューム番号を使用してInquiry情報４００を作成する。
【０２３４】
パス管理プログラム１２５は、Inquiry応答プログラム１３６が作成したInquiry情報４００を参照して、論理ボリューム１３１に仮想デバイス名５０３を割り当てる。
【０２３５】
しかし、ホスト計算機１２がパス管理プログラム１２５以外の管理ソフトウエア１２８を保持し、この管理ソフトウエア１２８がInquiry情報４００を参照する場合がある。
【０２３６】
管理ソフトウエア１２８は、ホスト計算機１２のメモリ１２２に格納され、ＣＰＵ１２１によって実行されるプログラムである。本実施の形態の管理ソフトウエア１２８は、仮想化装置１３の設定変更をするプログラムである。しかし、管理ソフトウエア１２８は、仮想化装置１３を管理するための他の機能を備えてもよい。
【０２３７】
なお、パス管理プログラム１２５も仮想化装置を管理するプログラムであるため、管理ソフトウエアの一種と分類することができる。本実施の形態の管理ソフトウエア１２８は、パス管理プログラム１２５以外の管理ソフトウエアである。
【０２３８】
管理ソフトウエア１２８が仮想化装置１３の設定変更を実行するために、その仮想化装置１３が特別な機能を備えることを要する場合がある。特別な機能とは、例えば、仮想化装置１３が管理する論理ボリューム１３１の容量を動的に変更する機能である。このような場合、管理ソフトウエア１２８は、Inquiry情報４００内の製造番号に含まれる機種情報を参照して、設定変更しようとする仮想化装置１３がその必要な機能を備えるか否かを判定する。そして、管理ソフトウエア１２８は、仮想化装置１３がその必要な機能を備えないと判定した場合、設定変更を実行しない。
【０２３９】
例えば、図２において、仮想化装置１３Ａが、必要な機能を備えない旧型の機種であり、仮想化装置１３Ｂが、必要な機能を備える新型の機種である場合がある。このような場合に本発明の第１の実施の形態を適用すると、仮想化装置１３Ｂの論理ボリューム１３１について作成されたInquiry情報４００が、仮想化装置１３Ａの製造番号「Ｕ１」を含む。そして、管理ソフトウエア１２８は、製造番号「Ｕ１」を参照して、仮想化装置１３Ｂが、旧型の機種であると判定する。その結果、管理ソフトウエア１２８は、仮想化装置１３Ｂの設定変更を実行することができない。
【０２４０】
本発明の第２の実施の形態を適用した場合も、ＶＯＬ−Ｃから仮想化装置１３Ａに「Ｕ１」が返却されるまでの間は、同様に、仮想化装置１３Ｂの設定変更を実行することができない（図１２等参照）。
【０２４１】
本発明の第３の実施の形態のInquiry情報１４００は、論理ボリューム１３１が他の論理ボリューム１３１から製造番号を引き継いでいる場合、その引き継いだ製造番号を含む。さらに、本実施の形態のInquiry情報１４００は、Inquiry要求を受けた仮想化装置１３の製造番号も含む。以下、本実施の形態のInquiry情報１４００について、図１４を参照して説明する。
【０２４２】
図１４は、仮想化装置１３ＢのＶＯＬ−Ｃを対象としたInquiry要求が発行されたときに、本実施の形態の仮想化装置１３ＢのInquiry応答プログラム１３６が作成して応答するInquiry情報１４００を示す。ここで、ＶＯＬ−Ｃは、仮想化装置１３ＡのＶＯＬ−Ｂの移行先である。そして、ＶＯＬ−Ｃは、仮想化装置１３Ａの製造番号「Ｕ１」及びＶＯＬ−Ｂのボリューム番号「ＶＯＬ−Ｂ」を引き継いでいる。
【０２４３】
本実施の形態のInquiry情報１４００は、少なくとも、領域１４０１から領域１４０４までの四つの領域を含む。
【０２４４】
領域１４０１は、従来のInquiry情報において仮想化装置１３の製造番号が登録される領域と同じ領域である。また、領域１４０１は、本発明の第１及び第２の実施の形態において仮想化装置１３の製造番号（すなわち、装置識別子４０１）が登録される領域とも同じ領域である。
【０２４５】
領域１４０２は、従来のInquiry情報において論理ボリューム１３１のボリューム番号が登録される領域と同じ領域である。また、領域１４０２は、本発明の第１及び第２の実施の形態において論理ボリューム１３１のボリューム番号（すなわち、ボリューム番号４０２）が登録される領域とも同じ領域である。
【０２４６】
本実施の形態の領域１４０１及び領域１４０２には、第１及び第２の実施の形態と同様の情報が登録される。すなわち、論理ボリューム１３１が移行元から仮想化装置１３の製造番号等を引き継いでいる場合、領域１４０１及び領域１４０２には、それぞれ、作成元仮想化装置の製造番号３０２及び作成時のボリューム番号３０３が登録される。一方、論理ボリューム１３１が移行元から仮想化装置１３の製造番号等を引き継いでいない場合、領域１４０１及び領域１４０２には、それぞれ、その論理ボリューム１３１を格納する仮想化装置１３の製造番号及びその論理ボリューム１３１の仮想化装置内ボリューム番号３０１が登録される。
【０２４７】
図１４の例では、ＶＯＬ−Ｃが製造番号「Ｕ１」及びボリューム番号「ＶＯＬ−Ｂ」を引き継いでいる。このため、領域１４０１及び領域１４０２には、それぞれ、「Ｕ１」及び「ＶＯＬ−Ｂ」が登録される。
【０２４８】
一方、領域１４０３及び領域１４０４は、従来のInquiry情報における空き領域に割り当てられる。
【０２４９】
論理ボリューム１３１が移行元から仮想化装置１３の製造番号等を引き継いでいない場合、領域１４０３及び領域１４０４は、空である。
【０２５０】
論理ボリューム１３１が移行元から仮想化装置１３の製造番号等を引き継いでいる場合、領域１４０１及び領域１４０２には、それぞれ、その論理ボリューム１３１を格納する仮想化装置１３の製造番号及びその論理ボリューム１３１の仮想化装置内ボリューム番号３０１が登録される。
【０２５１】
図１４の例では、ＶＯＬ−Ｃが製造番号「Ｕ１」等を引き継いでいる。このため、領域１４０３及び領域１４０４には、それぞれ、ＶＯＬ−Ｃを格納する仮想化装置１３Ｂの製造番号「Ｕ２」及びＶＯＬ−Ｃのボリューム番号「ＶＯＬ−Ｃ」が登録される。
【０２５２】
以下、領域１４０１及び領域１４０２を「従来領域」と記載する。一方、領域１４０３及び領域１４０４を「拡張領域」と記載する。
【０２５３】
本実施の形態のパス管理プログラム１２５は、Inquiry情報１４００の従来領域を参照する。その結果、第１及び第２の実施の形態と同様、ホスト計算機１２の設定を変更することなく、ＡＰ１２３がＶＯＬ−Ｃ上のファイルにアクセスすることができる。
【０２５４】
一方、本実施の形態の管理ソフトウエア１２８は、Inquiry情報１４００の拡張領域を参照する。その結果、管理ソフトウエア１２８は、新型の仮想化装置１３Ｂが備える機能を使用して、仮想化装置１３Ｂの設定変更を実行することができる。
【０２５５】
以下、本実施の形態の各プログラムが実行する処理について説明する。
【０２５６】
本実施の形態のＦＳ１２４、パス管理プログラム１２５及びボリューム管理プログラム１３７が実行する処理は、本発明の第１の実施の形態と同じであるため、説明を省略する。
【０２５７】
図１５は、本発明の第３の実施の形態のInquiry応答プログラム１３６の処理を示すフローチャートである。
【０２５８】
本実施の形態のInquiry応答プログラム１３６の処理のうち、ステップ８０１からステップ８０９は、本発明の第１の実施の形態のInquiry応答プログラム１３６のステップ８０１からステップ８０９と同じである。このため、これらのステップについては説明を省略する。ただし、ステップ８０４及び８０６において、Inquiry情報１４００が作成される。また、ステップ８０８において、Inquiry情報１４００が送信される。
【０２５９】
本実施の形態のInquiry応答プログラム１３６は、ステップ８０６が終了すると、次に、現在論理ボリューム１３１を管理している仮想化装置１３の製造番号及びInquiry要求の対象の論理ボリューム１３１のボリューム番号を、Inquiry情報１４００の拡張領域に登録する。
【０２６０】
例えば、仮想化装置１３Ｂが、ＶＯＬ−Ｃを対象とするInquiry要求をホスト計算機１２から受信した場合、ＶＯＬ−Ｃは仮想化装置１３ＡのＶＯＬ−Ｂの移行先である。この場合、仮想化装置１３Ｂのボリューム管理テーブル１３８は、図３Ｂに示す通りである。この場合、本実施の形態のInquiry応答プログラム１３６は、ＶＯＬ−Ｃを管理する仮想化装置１３Ｂの製造番号「Ｕ２」を領域１４０３に登録する。さらに、Inquiry応答プログラム１３６は、ＶＯＬ−Ｃのボリューム番号「ＶＯＬ−Ｃ」を領域１４０４に登録する。
【０２６１】
図１６は、本発明の第３の実施の形態の管理ソフトウエア１２８の処理を示すフローチャートである。
【０２６２】
管理ソフトウエア１２８は、実行が開始されると、イベントを待つ（ステップ１６０１）。
【０２６３】
管理ソフトウエア１２８は、いずれかのイベントが発生すると、発生したイベントがInquiry情報の受信であるか否かを判定する（ステップ１６０２）。
【０２６４】
ステップ１６０２において、発生したイベントがInquiry情報の受信であると判定された場合、ホスト計算機１２がInquiry情報１４００を受信している。Inquiry情報１４００は、ホスト計算機１２がいずれかの仮想化装置１３のいずれかの論理ボリューム１３１を対象として発行したInquiry要求に対する応答として送信されたものである。この場合、管理ソフトウエア１２８は、受信したInquiry情報１４００の拡張領域を参照する（ステップ１６０３）。
【０２６５】
なお、図１６の説明において、上記のInquiry要求の送信先の仮想化装置１３を「対象仮想化装置１３」、Inquiry要求の対象の論理ボリューム１３１を「対象論理ボリューム１３１」と記載する。
【０２６６】
次に、管理ソフトウエア１２８は、拡張領域があるか否かを判定する（ステップ１６０４）。例えば、拡張領域に有効な値が登録されている場合、拡張領域があると判定される。
【０２６７】
ステップ１６０４において拡張領域があると判定された場合、対象論理ボリューム１３１は、他の論理ボリューム１３１から製造番号等を引き継いでいる。すなわち、そのInquiry情報１４００の従来領域には移行元から引き継いだ製造番号等が登録され、拡張領域には対象仮想化装置１３の製造番号及び対象論理ボリューム１３１のボリューム番号が登録されている。
【０２６８】
このため、管理ソフトウエア１２８は、拡張領域に登録された対象仮想化装置１３の製造番号に含まれる機種情報を読み出す。そして、管理ソフトウエア１２８は、読み出した機種情報をホスト計算機１２の所定の領域（図示省略）に格納する（ステップ１６０６）。
【０２６９】
一方、ステップ１６０４において拡張領域がないと判定された場合、対象論理ボリューム１３１は、他の論理ボリューム１３１から製造番号等を引き継いでいない。すなわち、そのInquiry情報１４００の従来領域には対象仮想化装置１３の製造番号及び対象論理ボリューム１３１のボリューム番号が登録されている。
【０２７０】
このため、管理ソフトウエア１２８は、Inquiry情報１４００の従来領域を参照する（ステップ１６０５）。そして、従来領域に登録された対象仮想化装置１３の製造番号に含まれる機種情報を読み出す。
【０２７１】
次に、管理ソフトウエア１２８は、読み出した機種情報をホスト計算機１２の所定の領域（図示省略）に格納する（ステップ１６０６）。
【０２７２】
管理ソフトウエア１２８は、機種情報を格納した後、ステップ１６０１に戻る。
【０２７３】
一方、ステップ１６０２において、発生したイベントがInquiry情報の受信でないと判定された場合、管理ソフトウエア１２８は、発生したイベントが設定変更要求の受信であるか否かを判定する（ステップ１６０７）。
【０２７４】
ステップ１６０７において、発生したイベントが設定変更要求の受信でないと判定された場合、管理ソフトウエア１２８は、実行できない要求を受信している。この場合、管理ソフトウエア１２８は、エラー応答を要求元に送信して（ステップ１６１１）、ステップ１６０１に戻る。
【０２７５】
一方、ステップ１６０７において、発生したイベントが設定変更要求の受信であると判定された場合、管理ソフトウエア１２８は、ホスト計算機１２のユーザ又は管理サーバ１６等から、いずれかの仮想化装置１３を対象とする設定変更要求を受信している。この場合、管理ソフトウエア１２８は、ステップ１６０６において格納された機種情報を参照して、設定変更される仮想化装置１３の機種を判定する（ステップ１６０８）。
【０２７６】
ステップ１６０８において、設定変更される仮想化装置１３が、設定変更の実行のために必要な機能を備える機種であると判定された場合、その仮想化装置１３において設定変更を実行することができる。このため、管理ソフトウエア１２８は、設定変更を実行して（ステップ１６０９）、ステップ１６０１に戻る。
【０２７７】
一方、ステップ１６０８において、設定変更される仮想化装置１３が、設定変更の実行のために必要な機能を備えない機種であると判定された場合、その仮想化装置１３において設定変更を実行することができない。このため、管理ソフトウエア１２８は、エラーを表示して（ステップ１６１０）、ステップ１６０１に戻る。
【０２７８】
以上の本実施の形態によれば、管理ソフトウエア１２８は、常に、Inquiry情報に登録された対象仮想化装置１３の製造番号を参照して、対象仮想化装置１３の機種情報を読み出す。このため、対象論理ボリューム１３１が他の仮想化装置１３の製造番号を引き継いでいる場合であっても、対象仮想化装置１３自体が所定の機能を備えるか否かを判定することができる。その結果、対照仮想化装置１３が備える機能を使用して設定変更を実行することができる。
【０２７９】
本実施の形態には、上記のように、本発明の第１の実施の形態のボリューム管理プログラム１３７が適用されている。しかし、本実施の形態には、本発明の第２の実施の形態のボリューム管理プログラム１３７が適用されてもよい。その場合、対象論理ボリューム１３１が他の仮想化装置１３の製造番号を返却する前であっても、対照仮想化装置１３が備える機能を使用して設定変更を実行することができる。
【０２８０】
次に、本発明の第４の実施の形態について説明する。
【０２８１】
図１７は、本発明の第４の実施の形態の計算機システムにおける管理サーバ１６の構成の説明図である。
【０２８２】
なお、本実施の形態の計算機システムの管理サーバ１６以外の部分の構成は、第１の実施の形態と同様であるため、説明を省略する（図１参照）。また、本実施の形態の管理サーバ１６のうち、第１の実施の形態の管理サーバと同じ部分については、説明を省略する。
【０２８３】
本実施の形態の管理サーバ１６のメモリ１６２には、論理ボリューム作成制御プログラム１７０１が格納される。論理ボリューム作成制御プログラム１７０１は、ＣＰＵ１６１によって実行される。
【０２８４】
図１８は、本発明の第４の実施の形態の論理ボリューム作成制御プログラム１７０１の処理を示すフローチャートである。
【０２８５】
論理ボリューム作成制御プログラム１７０１は、実行が開始されると、イベントを待つ（ステップ１８０１）。
【０２８６】
論理ボリューム作成制御プログラム１７０１は、いずれかのイベントが発生すると、発生したイベントが論理ボリューム作成要求の受信であるか否かを判定する（ステップ１８０２）。
【０２８７】
ステップ１８０２において、発生したイベントが論理ボリューム作成要求の受信でないと判定された場合、論理ボリューム作成制御プログラム１７０１は、論理ボリューム作成要求以外の要求を受信している。この場合、論理ボリューム作成制御プログラム１７０１は、要求された処理を実行して（ステップ１８０５）、ステップ１８０１に戻る。
【０２８８】
一方、ステップ１８０２において、発生したイベントが論理ボリューム作成要求の受信であると判定された場合、論理ボリューム作成制御プログラム１７０１は、論理ボリューム作成要求を受信している。この場合、論理ボリューム作成制御プログラム１７０１は、計算機システム内で一意の新たなボリューム番号を生成する（ステップ１８０３）。
【０２８９】
次に、論理ボリューム作成制御プログラム１７０１は、生成されたボリューム番号を使用して論理ボリューム１３１を作成する指示を仮想化装置１３に発行して（ステップ１８０４）、ステップ１８０１に戻る。
【０２９０】
仮想化装置１３は、この指示を受信すると、新たな論理ボリューム１３１を作成し、その生成された論理ボリューム１３１に、ステップ１８０３において生成されたボリューム番号を与える。
【０２９１】
以上の本発明の第１から第４の実施の形態は、図１に示すように、複数の仮想化装置１３が一つ以上のストレージ装置１３３とＳＡＮ１７を介して接続された計算機システムにおいて実現される。しかし、これらの実施の形態は、仮想化装置の機能をストレージ装置に組み込むことによって実現することもできる。
【０２９２】
図１９は、本発明の実施の形態の仮想化装置の機能が組み込まれたストレージ装置を備える計算機システムのブロック図である。
【０２９３】
図１９は、図１に示す計算機システムの仮想化装置１３の一つを仮想化機能付きストレージ装置１９０１によって置き換えたものである。図１９において、図１と同様の部分の説明は省略する。なお、図１の仮想化装置１３の二つ以上又は全部を仮想化機能付きストレージ装置１９０１によって置き換えてもよい。
【０２９４】
仮想化機能付きストレージ装置１９０１は、図１の仮想化装置１３と同様、ＬＡＮ１５及びＳＡＮ１７を介して、ホスト計算機１２及び管理サーバ１６に接続される。管理サーバ１６には、管理コンソール１４が接続される。図１９では、ホスト計算機１２、管理コンソール１４、ＬＡＮ１５及び管理サーバ１６の図示を省略する。
【０２９５】
さらに、仮想化機能付きストレージ装置１９０１は、ＳＡＮ１７を介してストレージ装置１３３と接続される。
【０２９６】
仮想化機能付きストレージ装置１９０１は、制御装置１３２、ＳＡＮインターフェース（Ｉ／Ｆ）１７２及びディスク装置１９０２を備える。これらのうち、制御装置１３２及びＳＡＮインターフェース１７２は、図１の仮想化装置１３が備えるものと同様であるため、説明を省略する。
【０２９７】
ディスク装置１９０２は、一つ以上のディスクドライブを備える。それらのディスクドライブがディスクアレイを構成してもよい。ディスク装置１９０２の記憶領域によって、一つ以上の実ボリューム１３９が構成される。
【０２９８】
仮想化機能付きストレージ装置１９０１は、仮想化装置１３と同様、論理ボリューム１３１をホスト計算機１２に提供する。仮想化機能付きストレージ装置１９０１が提供する論理ボリューム１３１は、ディスク装置１９０２上の実ボリューム１３９と対応してもよいし、ストレージ装置１３３上の実ボリューム１３９と対応してもよい。あるいは、仮想化機能付きストレージ装置１９０１は、ディスク装置１９０２上の実ボリューム１３９自体を論理ボリューム１３１としてホスト計算機１２に提供してもよい。
【０２９９】
このような仮想化機能付きストレージ装置１９０１を含む計算機システムにおいても、図２から図１８において説明した処理を実行することによって、本発明の第１から第４の実施の形態を実現することができる。
【０３００】
以上、本発明の第１の実施の形態によれば、論理ボリューム１３１が移行した後、移行元の仮想化装置１３は、移行した論理ボリューム１３１のボリューム番号をボリューム管理テーブル１３８に保持し続ける必要がある。これによって、Inquiry情報の一意性が維持される。
【０３０１】
また、本発明の第２の実施の形態によれば、移行先の仮想化装置１３は、適当な時期に、移行元の仮想化装置１３から引き継いだボリューム番号を返却する。これによって、Inquiry情報の一意性を維持しながら、移行したボリューム番号を再利用することができる。
【０３０２】
本発明の第４の実施の形態によれば、計算機システム内の全ての論理ボリューム１３１が、管理サーバ１６によって生成された計算機システム内で一意のボリューム番号を与えられる。すなわち、仮想化装置１３の製造番号と組み合わせずに、ボリューム番号を、論理ボリューム１３１を計算機システム内で一意に識別する識別情報として使用することができる。
【０３０３】
したがって、本実施の形態によれば、Inquiry情報の一意性を維持するために、移行元の仮想化装置１３が移行した論理ボリューム１３１のボリューム番号を保持する必要がない。また、移行先の仮想化装置１３は、引き継いだボリューム番号を移行元に返却する必要がない。
【図面の簡単な説明】
【０３０４】
【図１】本発明の第１の実施の形態の計算機システムの構成を示すブロック図である。
【図２】本発明の第１の実施の形態の概要の説明図である。
【図３Ａ】本発明の第１の実施の形態の移行元の仮想化装置のボリューム管理テーブルの説明図である。
【図３Ｂ】本発明の第１の実施の形態の移行先の仮想化装置のボリューム管理テーブルの説明図である。
【図４Ａ】本発明の第１の実施の形態のInquiry情報の例の説明図である。
【図４Ｂ】本発明の第１の実施の形態のInquiry情報の別の例の説明図である。
【図５】本発明の第１の実施の形態の仮想デバイス管理テーブルの説明図である。
【図６】本発明の第１の実施の形態のマウントテーブルの説明図である。
【図７Ａ】本発明の第１の実施の形態のボリューム管理プログラムの処理を示すフローチャートである。
【図７Ｂ】本発明の第１の実施の形態のボリューム管理プログラムの処理を示すフローチャートである。
【図７Ｃ】本発明の第１の実施の形態のボリューム管理プログラムの処理を示すフローチャートである。
【図７Ｄ】本発明の第１の実施の形態のボリューム管理プログラムの処理を示すフローチャートである。
【図７Ｅ】本発明の第１の実施の形態のボリューム管理プログラムの処理を示すフローチャートである。
【図８】本発明の第１の実施の形態のInquiry応答プログラムの処理を示すフローチャートである。
【図９】本発明の第１の実施の形態のパス管理プログラムの処理を示すフローチャートである。
【図１０】本発明の第１の実施の形態のファイルシステムの処理を示すフローチャートである。
【図１１】本発明の第１の実施の形態における論理ボリュームの移行の手順を示すシーケンス図である。
【図１２】本発明の第２の実施の形態の概要の説明図である。
【図１３Ａ】本発明の第２の実施の形態のボリューム管理プログラムの処理を示すフローチャートである。
【図１３Ｂ】本発明の第２の実施の形態のボリューム管理プログラムの処理を示すフローチャートである。
【図１３Ｃ】本発明の第２の実施の形態のボリューム管理プログラムの処理を示すフローチャートである。
【図１４】本発明の第３の実施の形態の概要の説明図である。
【図１５】本発明の第３の実施の形態のInquiry応答プログラムの処理を示すフローチャートである。
【図１６】本発明の第３の実施の形態の管理ソフトウエアの処理を示すフローチャートである。
【図１７】本発明の第４の実施の形態の計算機システムにおける管理サーバの構成の説明図である。
【図１８】本発明の第４の実施の形態の論理ボリューム作成制御プログラムの処理を示すフローチャートである。
【図１９】本発明の実施の形態の仮想化装置の機能が組み込まれたストレージ装置を備える計算機システムのブロック図である。
【符号の説明】
【０３０５】
１２  ホスト計算機
１３Ａ、１３Ｂ  仮想化装置
１４  管理コンソール
１５  ローカルエリアネットワーク（ＬＡＮ）
１６  管理サーバ
１７  ストレージエリアネットワーク（ＳＡＮ）
１２１、１３４、１６１  ＣＰＵ
１２２、１３５、１６２  メモリ
１２３  アプリケーションプログラム（ＡＰ）
１２４  ファイルシステム（ＦＳ）
１２５  パス管理プログラム
１２６  マウントテーブル
１２７  仮想デバイス管理テーブル
１２８  管理ソフトウエア
１３１  論理ボリューム
１３３  ストレージ装置
１３６  Inquiry応答プログラム
１３７  ボリューム管理プログラム
１３８  ボリューム管理テーブル
１３９  実ボリューム
１５１  ネットワークインターフェースカード（ＮＩＣ）
１７２  ＳＡＮインターフェース（ＳＡＮ＿Ｉ／Ｆ）
１７０１  論理ボリューム作成制御プログラム
１９０１  仮想化機能付きストレージ装置
１９０２  ディスク装置
【図１】
2007122432.tif 000003
【図２】
2007122432.tif 000004
【図３Ａ】
2007122432.tif 000005
【図３Ｂ】
2007122432.tif 000006
【図４Ａ】
2007122432.tif 000007
【図４Ｂ】
2007122432.tif 000008
【図５】
2007122432.tif 000009
【図６】
2007122432.tif 000010
【図７Ａ】
2007122432.tif 000011
【図７Ｂ】
2007122432.tif 000012
【図７Ｃ】
2007122432.tif 000013
【図７Ｄ】
2007122432.tif 000014
【図７Ｅ】
2007122432.tif 000015
【図８】
2007122432.tif 000016
【図９】
2007122432.tif 000017
【図１０】
2007122432.tif 000018
【図１１】
2007122432.tif 000019
【図１２】
2007122432.tif 000020
【図１３Ａ】
2007122432.tif 000021
【図１３Ｂ】
2007122432.tif 000022
【図１３Ｃ】
2007122432.tif 000023
【図１４】
2007122432.tif 000024
【図１５】
2007122432.tif 000025
【図１６】
2007122432.tif 000026
【図１７】
2007122432.tif 000027
【図１８】
2007122432.tif 000028
【図１９】
2007122432.tif 000029