(57)【要約】  情報処理システムは、１または複数のホストと第２の情報処理システムと接続され、プロセッサを有する。第２の情報処理システムは１または複数のホストと第２の論理パスで接続された第２のＡＬＵと、１または複数のホストから第２の論理パスを介してＩ／Ｏ要求を受信する複数の第２のＳＬＵと、を管理する。  プロセッサは、１または複数のホストと第１の論理パスで接続された第１のＡＬＵと、１または複数のホストから第１の論理パスを介してＩ／Ｏ要求を受信する複数の第１のＳＬＵと、を管理し、複数の第１のＳＬＵを含む第１のグループを構成する。  複数の第１のＳＬＵのうち少なくとも１つの第１のＳＬＵと、複数の第２のＳＬＵのうち少なくとも１つの第２のＳＬＵとは、ＨＡペアを構成し、１または複数のホストに１つのボリュームとして提供される。  プロセッサは、１または複数のホストが第１の論理パスにＩ／Ｏを発行する優先度を決定できるよう、第１のグループに含まれるＨＡペアを構成する前記第１のＳＬＵのペア状態に基づいて、第１の論理パスの状態を評価する。
2018011839.tif 000002
【特許請求の範囲】
【請求項１】
１または複数のホストと、
前記１または複数のホストと第２の論理パスで接続された第２のＡＬＵ（Ａｄｍｉｎｉｓｔｒａｔｉｖｅ  Ｌｏｇｉｃａｌ  Ｕｎｉｔ）と、前記１または複数のホストから前記第２の論理パスを介してＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）要求を受信する複数の第２のＳＬＵ（Ｓｕｂｓｉｄｉａｒｙ  Ｌｏｇｉｃａｌ  Ｕｎｉｔ）と、を管理する第２の情報処理システムと、
接続され、プロセッサを有する情報処理システムであって、
前記プロセッサは、
前記１または複数のホストと第１の論理パスで接続された第１のＡＬＵと、前記１または複数のホストから前記第１の論理パスを介してＩ／Ｏ要求を受信する複数の第１のＳＬＵと、を管理し、
前記複数の第１のＳＬＵを含む第１のグループを構成し、
前記複数の第１のＳＬＵのうち少なくとも１つの第１のＳＬＵと、前記複数の第２のＳＬＵのうち少なくとも１つの第２のＳＬＵとは、ＨＡペアを構成し、前記１または複数のホストに１つのボリュームとして提供され、
前記プロセッサは、前記１または複数のホストが前記第１の論理パスにＩ／Ｏを発行する優先度を決定できるよう、前記第１のグループに含まれる前記ＨＡペアを構成する前記第１のＳＬＵのペア状態に基づいて、前記第１の論理パスの状態を評価する情報処理システム。
【請求項２】
前記プロセッサは、
前記第１のグループに含まれる前記ＨＡペアを構成する前記第１のＳＬＵのペア状態に、”ＢＬＯＣＫ”が含まれない場合、前記第１の論理パスの状態を”ＡＣＴＩＶＥ／ＯＰＴＩＭＩＺＥＤ”と評価し、
前記第１のグループに含まれる前記ＨＡペアを構成する前記第１のＳＬＵのペア状態に、”ＢＬＯＣＫ”が含まれ、かつ、前記情報処理装置と前記第２の情報処理装置間のＩ／Ｏ転送可能な場合、”ＡＣＴＩＶＥ／ＮＯＮ−ＯＰＴＩＭＩＺＥＤ” と評価し、
前記第１のグループに含まれる前記ＨＡペアを構成する前記第１のＳＬＵのペア状態に、”ＢＬＯＣＫ”が含まれ、かつ、前記情報処理装置と前記第２の情報処理装置間のＩ／Ｏ転送不可能な場合、”ＢＬＯＣＫ” と評価する請求項１に記載の情報処理システム。
【請求項３】
前記プロセッサは、前記複数の第１のＳＬＵのいずれかが、前記第１のＡＬＵにバインドされたとき、または、前記第１のＡＬＵからアンバインドされたときに前記第１の論理パスの状態を評価する請求項１に記載の情報処理システム。
【請求項４】
前記情報処理システムは、さらに、前記１または複数のホストを含み、
前記１または複数のホストは、
前記第１の論理パスの状態の評価に基づいて、前記第１の論理パスまたは前記第２の論理パスから前記１つのボリュームへのＩ／Ｏを発行する請求項１に記載の情報処理システム。
【請求項５】
前記１または複数のホストは、複数の第１の仮想計算機を含む第１のＡＧ（Ａｖａｉｌａｂｉｌｉｔｙ  Ｇｒｏｕｐ）として管理し、複数の第２の仮想計算機を含む第２のＡＧとして管理し、
前記第１のグループは、さらに、前記第１のＡＬＵを含み、
前記第１のＡＧは、前記第１のグループに対応付けられ、前記複数の第１の仮想計算機には、前記複数の第１のＳＬＵからうち１または複数のＳＬＵが割り当てられる請求項１に記載の情報処理システム。
【請求項６】
前記１または複数のホストは、複数の第１の仮想計算機を含む第１のＡＧ（Ａｖａｉｌａｂｉｌｉｔｙ  Ｇｒｏｕｐ）として管理し、
前記プロセッサは、
前記第１のＡＧに割当てられた仮想ポートの識別子を第１のＨＧ（Ｈｏｓｔ  Ｇｒｏｕｐ）として管理し、
前記第１のグループと前記第１のＡＧとを対応付け、
前記複数の第１の仮想計算機が前記第１の論理パスにＩ／Ｏを発行する優先度を決定できるよう、前記第１のグループに含まれる前記ＨＡペアを構成する前記第１のＳＬＵのペア状態に基づいて、前記第１のＨＧの状態を評価する請求項１に記載の情報処理システム。
【請求項７】
前記プロセッサは、
前記第１の論理パスへのＩ／Ｏ発行のリトライ数が閾値を超えた場合、
前記複数の第１のＳＬＵにテストＩ／Ｏを発行し、
前記複数の第１のＳＬＵのうち１つ以上の前記第１のＳＬＵから正常な応答を受領すると、前記第１の論理パスの状態を”ＡＣＴＩＶＥ／Ｎｏｎ−ＯＰＴＩＭＩＺＥＤ”と評価し、
前記複数の第１のＳＬＵのうちいずれの前記第１のＳＬＵからも正常な応答を受領しないと、前記第１の論理パスの状態を”ＢＬＯＣＫ”と評価する請求項１に記載の情報処理システム。
【請求項８】
１または複数のホストと、
前記１または複数のホストと第２の論理パスで接続された第２のＡＬＵ（Ａｄｍｉｎｉｓｔｒａｔｉｖｅ  Ｌｏｇｉｃａｌ  Ｕｎｉｔ）と、前記１または複数のホストから前記第２の論理パスを介してＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）要求を受信する複数の第２のＳＬＵ（Ｓｕｂｓｉｄｉａｒｙ  Ｌｏｇｉｃａｌ  Ｕｎｉｔ）と、を管理する第２の情報処理システムと、
接続され、プロセッサを有する情報処理システムの制御方法であって、
前記１または複数のホストと第１の論理パスで接続された第１のＡＬＵと、前記１または複数のホストから前記第１の論理パスを介してＩ／Ｏ要求を受信する複数の第１のＳＬＵと、を管理し、
前記複数の第１のＳＬＵを含む第１のグループを構成し、
前記複数の第１のＳＬＵのうち少なくとも１つの第１のＳＬＵと、前記複数の第２のＳＬＵのうち少なくとも１つの第２のＳＬＵとは、ＨＡペアを構成し、前記１または複数のホストに１つのボリュームとして提供され、
前記第１のプロセッサは、前記１または複数のホストが前記第１の論理パスにＩ／Ｏを発行する優先度を決定できるよう、前記第１のグループに含まれる前記ＨＡペアを構成する前記第１のＳＬＵのペア状態に基づいて、前記第１の論理パスの状態を評価する情報処理システムの制御方法。
【請求項９】
請求項８に記載の情報処理システムの制御方法であって、
前記第１のグループに含まれる前記ＨＡペアを構成する前記第１のＳＬＵのペア状態に、”ＢＬＯＣＫ”が含まれない場合、前記第１の論理パスの状態を”ＡＣＴＩＶＥ／ＯＰＴＩＭＩＺＥＤ”と評価し、
前記第１のグループに含まれる前記ＨＡペアを構成する前記第１のＳＬＵのペア状態に、”ＢＬＯＣＫ”が含まれ、かつ、前記情報処理装置と前記第２の情報処理装置間のＩ／Ｏ転送可能な場合、”ＡＣＴＩＶＥ／ＮＯＮ−ＯＰＴＩＭＩＺＥＤ” と評価し、
前記第１のグループに含まれる前記ＨＡペアを構成する前記第１のＳＬＵのペア状態に、”ＢＬＯＣＫ”が含まれ、かつ、前記情報処理装置と前記第２の情報処理装置間のＩ／Ｏ転送不可能な場合、”ＢＬＯＣＫ” と評価する情報処理システムの制御方法。
【請求項１０】
請求項８に記載の情報処理システムの制御方法であって、
前記情報処理システムは、さらに、前記１または複数のホストを含み、
前記第１の論理パスの状態の評価に基づいて、前記第１の論理パスまたは前記第２の論理パスから前記１つのボリュームへのＩ／Ｏを発行する情報処理システムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理システムの制御方法に関する。
【背景技術】
【０００２】
ホスト計算機上の仮想化技術の進展により、一つの物理ホスト計算機上に複数の仮想サーバを構築し、仮想サーバのイメージおよび利用データをストレージ装置に格納する構成が用いられ、一つもしくは複数の仮想サーバのデータは、ストレージ装置の一つの論理ボリュームに集約されていた。このデータ集約構成では、ストレージ装置が具備するローカルコピー機能やリモートコピー機能を用いると、複数の仮想サーバがコピー単位となり、対象外仮想サーバ分の余剰コストが生じていた。【０００３】
そこで、特許文献１では、ストレージ装置の複数の論理ボリュームを複数の論理グループに纏め（ＬＵＮ Ｃｏｎｇｌｏｍｅｒａｔｅ）、論理グループ内の代表的な論理ボリューム（ＡＬＵ：Ａｄｍｉｎｉｓｔｒａｔｉｖｅ  Ｌｏｇｉｃａｌ Ｕｎｉｔ、特許文献１におけるＰＥ（Ｐｒｏｔｏｃｏｌ  Ｅｎｄ  Ｐｏｉｎｔ））に論理パスを設定し、ホスト計算機側からのＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）コマンドに、論理パスが属する論理グループ内のＡＬＵ以外の論理ボリューム（ＳＬＵ：Ｓｕｂｓｉｄｉａｒｙ Ｌｏｇｉｃａｌ Ｕｎｉｔ、特許文献１におけるｖｖｏｌ（ｖｉｔｕａｌ  ｖｏｌｕｍｅ））の識別子を指定して発行し、ストレージ装置は、受信コマンドに指定されたＳＬＵへＩ／Ｏ処理を分配する、Ｃｏｎｇｌｏｍｅｒａｔｅ  ＬＵＮ  Ｓｔｒａｃｔｕｒｅが提案されている。これにより、ホスト計算機上の一つの仮想サーバに対して、一つもしくは複数のＳＬＵを割当てることにより、仮想サーバ単位にストレージ装置の論理ボリュームを設定することができる。【０００４】
また、特許文献２では、ストレージシステムの論理リソースを制御する制御装置に、仮想的な論理リソースである仮想リソースを用意する仮想リソース用意部と、実体として論理リソースである実リソースを上位用意された仮想リソースに割当てる実リソース割当て部と、論理ボリュームのデータを異なるストレージシステム内の論理ボリュームに複製するデータ複製制御部とを備え、複製元論理ボリュームと複製先論理ボリュームの仮想リソースの識別子を同一とし、上位ホスト計算機に一つの論理ボリュームであると認識させることを開示している。ストレージシステムの論理リソースを制御する制御装置に、ホスト計算機側からの論理ボリュームへのＩ／Ｏコマンドを異なるストレージシステム内の論理ボリュームへ転送することを開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許公報第８，７７５，７７４号
【特許文献２】国際公開第２０１５／１６２６３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
仮想サーバに割当てた論理ボリュームの可用性を高めるために、特許文献２により、異なるストレージ装置間で仮想サーバに割当てた論理ボリュームを二重化する、ストレージクラスタ構成を構築することができる。前記ストレージクラスタ構成において、形成コピー中やサスペンド状態である場合、特許文献２により正常状態のストレージ装置へＩ／Ｏ転送を行うが、ストレージ装置間のネットワークを経由することにより通常よりも応答に遅延が生じる。【０００７】
特許文献１において、仮想サーバが複数の論理ボリュームを用いる場合、ホスト計算機が備える論理パス制御部は、ＡＬＵへの論理パスを対象としており、応答に遅延が生じるＳＬＵが混在すると、仮想サーバや仮想サーバ上のＯＳやアプリケーションの処理遅延や停止が生じる。【０００８】
そこで、本発明は、論理ボリュームを利用する計算機上の処理の遅延や停止を抑止することを目的とする。
【課題を解決するための手段】
【０００９】
情報処理システムは、１または複数のホストと第２の情報処理システムと接続され、プロセッサを有する。第２の情報処理システムは１または複数のホストと第２の論理パスで接続された第２のＡＬＵと、１または複数のホストから第２の論理パスを介してＩ／Ｏ要求を受信する複数の第２のＳＬＵと、を管理する。【００１０】
プロセッサは、１または複数のホストと第１の論理パスで接続された第１のＡＬＵと、１または複数のホストから第１の論理パスを介してＩ／Ｏ要求を受信する複数の第１のＳＬＵと、を管理し、複数の第１のＳＬＵを含む第１のグループを構成する。【００１１】
複数の第１のＳＬＵのうち少なくとも１つの第１のＳＬＵと、複数の第２のＳＬＵのうち少なくとも１つの第２のＳＬＵとは、ＨＡペアを構成し、１または複数のホストに１つのボリュームとして提供される。【００１２】
プロセッサは、１または複数のホストが第１の論理パスにＩ／Ｏを発行する優先度を決定できるよう、第１のグループに含まれるＨＡペアを構成する前記第１のＳＬＵのペア状態に基づいて、第１の論理パスの状態を評価する
【発明の効果】
【００１３】
本技術により、ホスト計算機上の仮想サーバやＯＳまたはアプリケーションで一環してＩ／Ｏ遅延やリトライが発生しない論理パスへＩ／Ｏを発行することができ、ストレージ装置の論理ボリュームを利用する計算機上の処理の遅延や停止を抑止することができる。
【図面の簡単な説明】
【００１４】
【図１】ストレージシステムの構成の例を示す図である。
【図２】ストレージ装置の構成の例を示す図である。
【図３】ホスト計算機の構成の例を示す図である。
【図４】ホスト計算機が備える制御部とソフトウェアの構成の例を示す図である。
【図５】管理計算機の構成の例を示す図である。
【図６】ホスト計算機が備える仮想サーバ管理テーブルの構成の例を示す図である。
【図７】ホスト計算機が備える論理パス管理テーブルの構成の例を示す図である。
【図８】ホスト計算機が備えるバインド管理テーブルの構成の例を示す図である。
【図９】ストレージ装置が備えるＬＵＮ管理テーブルの構成の例を示す図である。
【図１０】ストレージ装置が備える論理ボリューム管理テーブルの構成の例を示す図である。
【図１１】ストレージ装置が備える論理ボリューム管理テーブルの構成の例を示す図である。
【図１２】ストレージ装置が備えるコンシステンシーグループ管理テーブルの構成の例を示す図である。
【図１３】ストレージ装置が備えるバインド管理テーブルの構成の例を示す図である。
【図１４】仮想サーバ作成処理の例を示す図である。
【図１５】仮想サーバ作成時に生じるストレージ装置が備える論理リソースの作成処理のフローチャートの例を示す図である。
【図１６】ストレージクラスタ構成におけるストレージリソース操作処理の例を示す図である。
【図１７】ストレージ装置が備える論理パス評価処理のフローチャートの例を示す図である。
【図１８】ストレージ装置が備えるバインド処理のフローチャートの例を示す図である。
【図１９】ストレージ装置が備えるアンバインド処理のフローチャートの例を示す図である。
【図２０】ストレージシステムの構成の例を示す図である。
【図２１】ストレージ装置が備えるコンシステンシーグループ管理テーブルの例を示す図である。
【図２２】ストレージ装置が備える論理リソースの作成処理のフローチャートの例を示す図である。
【図２３】ストレージシステムの構成の例を示す図である。
【図２４】ホスト計算機が備える仮想ポート管理テーブルの構成の例を示す図である。
【図２５】ストレージ装置が備えるホストグループ管理テーブルの構成の例を示す図である。
【図２６】ストレージ装置管理プログラム内のＬＵＮ作成のフローチャートの例を示す図である。
【図２７】ストレージ装置が備える論理バス評価処理のフローチャートの例を示す図である。
【図２８】ホスト計算機が備える論理パス評価処理のフローチャートの例を示す図である。
【発明を実施するための形態】
【００１５】
以下、実施例を図面を用いて説明する。
【００１６】
なお、以後の説明では「テーブル」という表現にて各実施例の情報を説明するが、これらの情報は必ずしもテーブルである必要は無く、テーブル以外のデータ構造で表現されてもよい。また、「プログラム」を主語として説明を行う場合もあるが、プログラムはプロセッサによって実行されることで定められた処理をメモリおよび通信ポートを用いながら行うため、プロセッサを主語とした説明と同じである。
【００１７】
また、プログラムをプロセッサが実行して得られる処理は、専用ハードウェアによる処理と同じであり、その一部または全てを専用ハードウェアによって実現されてもよい。このため、「部」という表現にて物について説明するが、これらの「部」はその一部または全てがプロセッサによるプログラムの実行であってもよいし、その一部または全てが専用ハードウェアであってもよい。
【００１８】
また、プログラムは、プログラム配布サーバや、計算機が読み取り可能な記憶メディアによって、インストールされてもよい。
【００１９】
さらに、以下の説明において、符号末尾のアルファベットを省略した場合、その対象の総称を表す。
【実施例１】
【００２０】
本実施例では、特許文献１のＣｏｎｇｌｏｍｅｒａｔｅ ＬＵＮ Ｓｔｒｕｃｔｕｒｅによる論理ボリューム（以下、ＳＬＵとも呼ぶ）割り当て構成と特許文献２が示すストレージクラスタ構成において、ホスト計算機上の一つまたは複数の仮想サーバ（以下、ＶＭ（Ｖｉｒｔｕａｌ Ｍａｃｈｉｎｅとも呼ぶ））が取り扱うストレージ装置内の論理ボリュームを一つの論理グループに纏め、前記論理グループ単位でＡＬＵへの論理パスの評価を行い、前記評価結果に基づいてＩ／Ｏを発行する論理パスを選出する、ストレージシステムを示す。【００２１】
仮想サーバに割当てた論理ボリュームの可用性を高めるために、特許文献２により、異なるストレージ装置間で仮想サーバに割当てた論理ボリュームを二重化する、ストレージクラスタ構成を構築することができる。さらに、特許文献１により、仮想サーバ単位で一つもしくは複数の論理ボリュームを割当てることができる。前記ストレージクラスタ構成において、仮想サーバに割当てる論理ボリュームが形成コピー中やサスペンド状態である場合、特許文献２により正常状態のストレージ装置へＩ／Ｏ転送を行うが、ストレージ装置間のネットワークを経由することにより通常よりも応答に遅延が生じ、仮想サーバが複数の論理ボリュームを用いる場合、Ｉ／Ｏ転送が生じる論理ボリュームとＩ／Ｏ転送が生じない論理ボリュームが混在し、仮想サーバや仮想サーバ上のＯＳやアプリケーションの処理遅延や停止が生じる。【００２２】
さらに、特許文献１において、ホスト計算機が備える論理パス制御部は、ＡＬＵへの論理パスを対象としており、複数仮想サーバがＡＬＵを共有する場合、ある仮想サーバの論理ボリュームへのＩ／Ｏがストレージ装置間Ｉ／Ｏ転送のため遅延したり、リトライが必要な状態となると、ＡＬＵの論理パスの異常として投影され、ホスト計算機の論理パス制御部は、ＡＬＵへの当該論理パスを異常とみなしてＩ／Ｏ発行優先度を下げたり抑止してしまい、ＡＬＵを共有する他の仮想サーバの論理ボリュームが正常状態であってもＩ／Ｏが発行されない状態となり、前記他の仮想サーバが停止する。【００２３】
本実施例では、ホスト計算機上の仮想サーバやＯＳまたはアプリケーションで一環してＩ／Ｏ遅延やリトライが発生しない論理パスへＩ／Ｏを発行することができ、ストレージ装置の論理ボリュームを利用する計算機上の処理の遅延や停止を抑止する。【００２４】
図１は、実施例１のストレージシステムの構成の例を示す図である。ホスト計算機１０００は、仮想マシンを展開するＨｙｐｅｒｖｉｓｏｒ１１１０とＳＡＮ５０００の接続Ｉ／ＦとなるＨＢＡ（Ｈｏｓｔ  Ｂｕｓ  Ａｄａｐｔｅｒ）１２００と、ＨＢＡ１２００から得られるＲａｗ Ｄｅｖｉｃｅ（図示せず）を取り扱う交替パスソフトウェア１１２０を備えている。Ｈｙｐｅｒｖｉｓｏｒ１１１０が展開するＶＭが取り扱うデータは、ストレージ装置２０００のＳＬＵ属性が付与された論理ボリューム（以下、ＳＬＵと略す）２５００に格納されており、ＳＬＵ２４００へのアクセスは、Ｃｏｎｇｌｏｍｅｒａｔｅ ＬＵＮ Ｓｔｒｕｃｔｕｒｅを適用しており、ＨＢＡ１２００はＳＡＮ５０００を介してＡＬＵを認識してＲＡＷ ＤＥＶＩＣＥ（図示せず）を作成し、交替パスソフトウェアは、前記ＲＡＷ ＤＥＶＩＣＥ単位で論理パス制御を実施し、ＨｙｐｅｒｖｉｓｏｒはＣｏｎｇｌｏｍｅｒａｔｅ ＬＵＮ Ｓｔｒｕｃｔｕｒｅでのデータ入出力制御部を備え、ＲＡＷ ＤＥＶＩＣＥつまりＡＬＵに割り当てられている（以下、この割当てをバインドと呼ぶ）ＳＬＵを認識し仮想ディスクとして仮想マシンに割当てる。このＳＬＵのバインド処理は、ＶＭ作成時のＶＭイメージ書込みのためや、ＶＭのＰｏｗｅｒ  ＯＮのたびに行われる。ＳＬＵのＡＬＵへの割当を解除する（以下、アンバインドと呼ぶ）は、ＶＭ作成処理終了時や、ＶＭのＰｏｗｅｒ  ＯＦＦのたびに行われる。【００２５】
ストレージ装置２０００は、論理ボリュームを複数の論理的な区画（以下、ＣＴＧ：Ｃｏｎｓｉｓｔｅｎｃｙ Ｇｒｏｕｐ２５００）に区分けする論理分割部と、Ｃｏｎｇｌｏｍｅｒａｔｅ ＬＵＮ Ｓｔｒｕｃｔｕｒｅに対応し、さらに論理ボリュームに対するＩ／Ｏを異なるストレージ装置に転送するＩ／Ｏ制御部（データ入出力制御部）と、論理ボリュームに格納されたデータをＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）５０００を介して異なるストレージ装置２０００内の論理ボリュームに複製するデータ複製制御部を具備している。論理ポート２１１０からＳＡＮ５０００ａ、５０００ｂを介して接続されるホスト計算機１０００に論理ボリュームを提供する。【００２６】
ＳＡＮ５０００ｃを介して接続されるストレージ装置２０００に論理ボリュームに掛かるＩ／Ｏを転送または複製して、ストレージ装置２０００ａとストレージ装置２０００ｂ間で論理ボリュームの格納データを二重化する。さらに、ペアとなる論理ボリュームに対して同一の仮想リソース識別子を付与し、ホスト計算機１０００に対してペアとなる論理ボリュームへのＳＡＮ５０００ａ、５０００ｂ上の複数の論理パスをあたかも一つの論理ボリュームへの交替パスとして認識させる、特許文献１で開示されているストレージクラスタシステムを形成している。【００２７】
このように、複数の論理ボリュームでデータを二重化し、ホスト計算機１０００に対してペアとなる論理ボリュームへの複数の論理パスをあたかも一つの論理ボリュームへの交替パスとして認識させる特性をＨＡ（Ｈｉｇｈ  Ａｖａｉｌａｂｉｌｉｒｙ）という。ストレージ装置２０００は、ＨＡ特性を持つペア（ＨＡペアと呼ぶ）のボリュームどちらに対するホスト計算機１０００からのＩ／Ｏも受け付けることが出来る。また、ＨＡの特性を持つ論理ボリュームは、ペアのうち一方の論理ボリュームが何らかの障害でアクセスできなくなっても、他方のボリュームでホスト計算機１０００のＩ／Ｏを継続できる。【００２８】
ここで、論理分割部の機能として、同一ＣＴＧ２５００に属する複数の論理ボリューム間では、データを複製してもデータの整合性が保証される。すなわち、ＣＴＧ１  ２５００ａに属する論理ボリューム２４００ａとＣＴＧ２  ２５００ｂに属する論理ボリューム２４００ｂとの間でペア操作を行っても同一ＣＴＧ２５００内の論理ボリューム間ではデータの整合性が保たれる。【００２９】
ストレージ装置２０００ａ、２０００ｂは、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）に代表される管理ネットワーク６０００を介して接続される管理計算機３０００に、ストレージ装置２０００が具備する各構成管理テーブルと構成制御部が提供する管理ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を提供する。管理計算機３０００は、管理ネットワーク６０００を介して接続されるホスト計算機１０００と管理計算機４０００に、管理計算機３０００が具備するストレージ装置２０００の各構成管理テーブルと構成制御部が提供する管理ＡＰＩを提供する。【００３０】
また、図示していないがストレージ管理者は、管理計算機３０００が備える入出力部を介してストレージ管理ソフトウェア３１１０に接続し、ＡＬＵなどのストレージリソースの作成や削除および構成変更を実施し、仮想マシン管理者は、管理計算機４０００が備える入出力部を介して仮想マシン管理ソフトウェア４１１０に接続し、仮想マシンの作成や削除および構成変更を実施する。仮想マシン管理ソフトウェア４１１０は、管理ネットワーク６０００に接続するホスト計算機１０００に対して仮想マシン管理者の指示に従って仮想マシン管理操作指示を送信し、管理計算機３０００が備えるストレージ管理ソフトウェア３１１０に対して論理ボリュームの作成や削除および構成変更の指示を送信する。【００３１】
さらに、ストレージ装置２０００ａ、２０００ｂは、ＬＵＮ単位でＩ／Ｏ処理の適正を評価する論理パス評価部を備え、Ｉ／Ｏ処理が不可能な状態を“ＳＴＡＮＤＢＹ”、最適な処理が行える状態を“ＡＣＴＩＶＥ／ＯＰＴＩＭＩＺＥＤ”、Ｉ／Ｏ処理は可能だがリトライを要求する可能性がある場合は“ＡＣＴＩＶＥ／ＮＯＮ−ＯＰＴＩＭＩＺＥＤ”と定義し、ホスト計算機１０００上の交替パスソフトウェア１１２０からＳＡＮ５０００経由で発行される論理パス評価値通知要求に応答し、応答を受信した交替パスソフトウェア１１２０は、応答値に基づいて、“ＡＣＴＩＶＥ／ＯＰＴＩＭＩＺＥＤ”の論理パスに優先してＩ／Ｏを発行する。【００３２】
以下では、ストレージ装置２０００ａ、２０００ｂが備える論理パス評価部にて、バインドされたＳＬＵのペア状態やＩ／Ｏ処理状態に基づき評価する論理パス制御について説明する。まず、各装置の構成について説明する。【００３３】
なお、ストレージ装置２０００は、ストレージシステム等の情報処理システムの一例であり、本発明は図の構成に限定されない。サーバ上にソフトウェアをインストールしたソフトウェアベースのストレージシステムであってもよい。クラウド上で動作する仮想マシンにソフトウェアをインストールしストレージシステムとしてもよい。【００３４】
図２は、ストレージ装置２０００の構成を示す。ストレージ装置２０００は、ホストＩ／Ｆ部であるＦＥＰＫ（ＦｒｏｎｔＥｎｄ  ＰａｃＫａｇｅ）２１００と、制御部であるＭＰＰＫ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｏｒ  ＰａｃＫａｇｅ）２２００と、共有メモリ部であるＣＭＰＫ（Ｃａｃｈｅ  Ｍｅｍｏｒｙ  ＰａｃＫａｇｅ）２３００と、ディスクＩ／Ｆ部であるＢＥＰＫ（ＢａｃｋＥｎｄ  ＰａｃＫａｇｅ）２４００と、内部ネットワーク２５００と、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２７００と、管理サーバ２６００とを、それぞれ一つまたは複数具備する。なお、ＨＤＤ２７００に替えて、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）のような他の記憶装置であってもよい。【００３５】
内部ネットワーク２５００は、ＦＥＰＫ２１００とＭＰＰＫ２２００とＣＭＰＫ２３００とＢＥＰＫ２４００と管理サーバ２６００とを互いに接続する。内部ネットワーク２５００により、ＭＰＰＫ２２００の各ＭＰ２２４０は、ＦＥＰＫ２１００、ＣＭＰＫ２３００、ＢＥＰＫ２４００のいずれに対しても通信可能となっている。【００３６】
ＦＥＰＫ２１００は、それぞれがホストＩ／Ｆとなる複数の論理ポート２１１０を有する。論理ポート２１１０は、例えば、ＳＡＮ５０００のような外部ネットワーク５０００と接続され、ホスト計算機１０００が発行したＩ／Ｏ要求やリード又はライト対象のデータをホスト計算機１０００との間で送受信する際、プロトコル制御を行う。  ＢＥＰＫ２４００は、複数のディスクＩ／Ｆ２４１０を有しする。ディスクＩ／Ｆ２４１０は、例えば、ケーブルを介してＨＤＤ２７００と接続されるとともに、内部ネットワーク２５００と接続されており、内部ネットワーク２５００側とＨＤＤ２７００との間におけるリード又はライト対象のデータの受け渡し処理を仲介する。【００３７】
ＣＭＰＫ２３００は、データ用のキャッシュメモリ２３１０と制御情報用メモリ２３２０を有する。キャッシュメモリ２３１０と制御情報用メモリ２３２０は、揮発メモリ、例えば、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であってもよい。キャッシュメモリ２３１０は、ＨＤＤ２７００にライトするデータを一時的に格納（キャッシュ）し、或いはＨＤＤ２７００からリードしたデータを一時的に格納（キャッシュ）する。制御情報用メモリ２３２０は、制御に必要な情報、例えば、論理ボリュームであるＡＬＵ２１２０、ＳＬＵ２５００やＣＴＧ２５００などの構成情報を格納する。【００３８】
ＭＰＰＫ２２００は、複数のＭＰ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｏｒ）２２１０と、ＬＭ（Ｌｏｃａｌ  Ｍｅｍｏｒｙ）２２２０と、これらを接続するバス２２３０とを有する。ＭＰ２２１０は、計算機などでも使用されるプロセッサであり、ＬＭ２２２０に格納されたプログラムにしたがって動作することにより、論理分割部、Ｉ／Ｏ制御部、構成制御部などになる。ＬＭ２２２０は、制御情報用メモリ２３２０に格納されているＩ／Ｏ制御のための制御情報の一部を格納している。 
管理サーバ２６００は、管理用のアプリケーションを有する計算機である。管理サーバは、制御情報用メモリ２３２０からＬＭ２２２０にロードされＭＰ２２４０により実行されている制御プログラムへ、管理計算機３０００からの操作要求を伝達する。管理計算機３０００が有する各プログラムを管理サーバ２６００は有することもできる。【００３９】
制御情報用メモリ２３２０には、論理分割部とＩ／Ｏ制御部が取り扱う情報が格納されている。管理計算機３０００上のストレージ装置管理プログラム３１１０は、管理サーバ２５００を介して、制御情報用メモリ２３２０に格納された情報を取得することができる。【００４０】
論理分割部は、ＢＥＰＫ２４００が提供する論理記憶領域となる論理ボリューム（ＬＤＥＶ：Ｌｏｇｉｃａｌ  Ｄｅｖｉｃｅとも称す）をＣＴＧ２５００に分配し、ＣＴＧ２５００に登録する論理ボリューム２２１０の構成情報にＣＴＧ２５００を装置内で一意に識別可能な識別子を付与し、制御情報用メモリ２３２０にＣＴＧ管理テーブルＴ６０００として保管する。【００４１】
図３は、ホスト計算機１０００の構成を示す。ホスト計算機１０００は、プロセッサ１４００、メモリ１２００、ＨＢＡ（Ｈｏｓｔ Ｂｕｓ Ａｄａｐｔｅｒ）１３００、出力部１６００、入力部１７００、ネットワークＩ／Ｆである管理ポート１１００などを備えた計算機であり、例えば、パーソナルコンピュータや、ワークステーションまたはメインフレームなどである。【００４２】
プロセッサ１４００は、ホスト計算機１０００全体を統括制御し、メモリ１２００に格納された仮想マシン管理プログラム１２１０、ストレージ管理プログラム１２２０、Ｈｙｐｅｒｖｉｓｏｒ１２３０、交替パスソフトウェアのプログラムを実行する。例えば、プロセッサ１１００は、Ｈｙｐｅｒｖｉｓｏｒ１２３０を実行することで、ストレージ装置２０００に対してアクセス要求として、例えば、リードアクセス要求またはライトアクセス要求を発行する。メモリ１２００は、ストレージ管理プログラム１２２０、仮想マシン管理プログラム１２１０と、ストレージ管理プログラム１２２０と、Ｈｙｐｅｒｖｉｓｏｒ１２３０とを格納する。メモリ１２００は、プログラムなどを記憶するために用いられるほか、テーブル等の制御情報が格納され、プロセッサ１４００のワークメモリとしても用いられる。【００４３】
また、ストレージ管理プログラム１２２０は、業務アプリケーション１２１０やＯＳからのＳＬＵ割当てや割当て解除などの論理ボリューム２２１０に対する操作要求を、管理ネットワーク６０００経由で、管理計算機３０００が具備するストレージ装置管理プログラム３１１０に送信することができる。さらに、ストレージ管理プログラム１２２０は、ＳＡＮ５０００を介して、ストレージ装置２０００が具備する構成制御部に論理ボリュームの操作要求を送信することもできる。【００４４】
ＨＢＡ１３００は、ストレージ装置２０００との通信時におけるプロトコル制御を行う。ＨＢＡ１３００が、プロトコル制御を行うことで、ホスト計算機１０００とストレージ装置２０００との間において、例えばファイバチャネルプロトコルに従ったデータやコマンドの送受信が行われる。【００４５】
入力部１７００は、例えば、キーボード、スイッチやポインティングデバイス、マイクロフォンなどから構成される。出力部１６００は、モニタディスプレイやスピーカなどから構成される。【００４６】
図４は、ホスト計算機１０００の論理構成図を示す。Ｈｙｐｅｒｖｉｓｏｒ１２３０は、仮想マシンを展開する仮想マシン制御部１２３１と、ＲＡＷ ＤＥＶＩＣＥから得たＳＬＵから仮想ディスクを形成するディスク制御部１２３２と、ストレージ装置２０００の論理ボリュームへアクセスする論理パスを制御する交替パス制御部１２３３からなる。ここで、交替パス制御部１２３３に代えて、図１に示すようにＨｙｐｅｒｖｉｓｏｒとは別の交替パスソフトウェア１１２０で論理バスを制御してもよい。以降、交替パス制御部１２３３を交替パスソフトウェア１１２０と読みかえることができ、また逆も可能である。【００４７】
ＲＡＷ  ＤＥＶＩＣＥ１３１０は、ストレージ装置２０００のＡＬＵ２１２０に対応し、ホスト計算機１０００の中においてＡＬＵ２１２０へのアクセスの代わりとなるデバイスである。交替パス制御部１２３３は、ＲＡＷ  ＤＥＶＩＣＥ１３１０に張られた論理パスを制御する。ディスク制御部１２３２は、ＲＡＷ  ＤＥＶＩＣＥ１３１０経由でアクセスできるストレージ装置２０００の１つのＳＬＵ２４００に対して一つの仮想ディスクを形成する。ホスト計算機１０００の中においてＳＬＵ２４００へのアクセスはＲＡＷ  ＤＥＶＩＣＥ１３１０に集約される。すなわち、ＳＬＵ２４００へのアクセスは、交替パス制御部１２３３が、アクセス先ＳＬＵ２４００が対応付けられたＲＡＷ  ＤＥＶＩＣＥのＡＬＵ経由で、ＳＬＵ２４００を指定して行われる。ＲＡＷ  ＤＥＶＩＣＥ１３１０は、Ｈｙｐｅｒ Ｖｉｓｏｒ部１４００がアクセスされた際に、ページキャッシュ（図示せず）に一旦データをコピーする処理を行うことなく、Ｉ／Ｏ 処理を実行し、オーバーヘッドを低減するためのデバイスとして用いられる。【００４８】
ＨＢＡ１３００が取得するボリューム識別子は、グローバルユニークな値である必要があり、ストレージ装置２０００のシリアル番号（装置製番）とストレージ装置２０００内のローカルボリューム識別子の組合せで形成される。実施例１では、ストレージ装置２０００は、ボリューム識別子の応答に対して、ＡＬＵの識別子を応答する機能を具備する。【００４９】
図５は、管理計算機の構成を示す。管理計算機３０００は、プロセッサ３６００が、管理計算機３０００全体を統括制御し、メモリ３１００にロードされたストレージ装置管理プログラム３１１０とホスト計算機管理プログラム（図示せず）を実行することにより、各種のストレージ装置２０００およびホスト計算機１０００の構成管理操作要求を、ネットワークＩ／Ｆ３４００と管理ネットワーク６０００経由で、ストレージ装置２０００およびホスト計算機１０００へ送信する。【００５０】
また、メモリ３１００には、ストレージ装置管理プログラム３１１０とホスト計算機管理が用いる制御情報も格納される。ストレージ管理者は、キーボードやマウスなどの入力部３７００に操作要求を入力し、ディスプレイやスピーカなどの出力部３６００を介して実行結果を取得することができる。ＨＤＤやＳＳＤなどの記憶媒体３３００には、ストレージ装置管理プログラム３１１０やホスト計算機管理プログラム３１２０と各制御プログラムの実行ログが格納されている。【００５１】
管理計算機４０００は、図５の管理計算機３０００と同様の構成であり、メモリ４１００には、仮想マシン管理プログラム４１１０がロードされ、管理ネットワーク６０００経由でストレージ装置２０００およびホスト計算機１０００へ仮想マシン１９００とストレージ装置２０００の構成管理操作要求を送信する。【００５２】
図６は、ホスト計算機１０００が備えるＶＭ管理テーブルＴ１０００の構成の例を示す図である。ＶＭ管理テーブルＴ１０００は、ホスト計算機１０００が実行するＨｙｐｅｒＶｉｓｏｒ１２３０や仮想マシン管理プログラム１２１０の処理時に参照され、ホスト計算機１０００が提供するＡＰＩにより、管理ネットワーク６０００を介して管理計算機３０００，４０００が具備する各プログラムからもアクセスされる。【００５３】
ＶＭ管理テーブルＴ１０００は、ＶＭ１９００をストレージシステム内で識別可能な識別子を登録する欄  ＶＭ  ＩＤ  Ｔ１０１０と、ＶＭ１９００に割当てられたＳＬＵ２４００の識別子を登録する欄  ＶＯＬ  ＩＤ  Ｔ１０２０と、当該ＳＬＵ２４００の容量を登録する欄  ＶＯＬ  ＳＩＺＥ  Ｔ２０３０と、ＶＭ１９００にかかるプロファイルを登録する欄  ＰＲＯＦＩＬＥ  Ｔ１０４０と、ＶＭ１９００の状態を登録する欄  ＳＴＡＴＵＳ  Ｔ１０５０とから構成される。【００５４】
ここで、ＶＭにかかるプロファイルとは、ＶＭ管理者がＶＭ作成時に指定したＶＭの特性情報である。前記特性情報は、管理計算機４０００が備える仮想マシン管理ソフトウェア上で定義されており、ＶＭ管理者はＶＭ作成時に予め定義された特性情報を選出することができる。本実施例では、可用性が高いことを示すＨＡ（Ｈｉｇｈ Ａｖａｉｌａｂｉｌｉｔｙ）が指定された例を示している。ＨＡが指定されると、ＶＭ１９００に割当てられたＳＬＵ２４００は、ＨＡ特性を持つペアの論理ボリュームとなる。【００５５】
図７は、ホスト計算機１０００が備える論理パス管理テーブルＴ２０００の構成の例を示す図である。論理パス管理テーブルＴ２０００は、ホスト計算機１０００上の交替パスソフトウェア１１２０やＨｙｐｅｒｖｉｓｏｒ１２３０が備える交替パス制御部１２３１やストレージ管理プログラム１２２０の処理時に参照される。論理パス管理テーブルＴ２０００は、ホスト計算機１０００が提供するＡＰＩにより、管理ネットワーク６０００を介して管理計算機３０００，４０００が具備する各プログラムからもアクセスされる。【００５６】
論理パス管理テーブルＴ２０００は、ＨＢＡ１３００から得られるＲＡＷ ＤＥＶＩＣＥ１３１０を構成するＡＬＵ２１２０の識別子を登録する欄  ＡＬＵ  ＩＤ  Ｔ２０１０と、前記ＡＬＵ２１２０を認識しているＨＢＡ１３００のＷＷＮ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅ）を登録する欄  ＩＮＩＴＩＡＴＯＲ  ＷＷＮ  Ｔ２０２０と、当該ＨＢＡ１３００からＡＬＵ２１２０が得られるストレージ装置２０００内の論理ポート２１１０のＷＷＮを登録する欄  ＴＡＲＧＥＴ  ＷＷＮ  Ｔ２０３０と、前記ＴＡＥＲＧＥＴ ＷＷＮで欄Ｔ２０１０に登録されているＡＬＵ２１２０のＬＵＮ（Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｕｍｂｅｒ）を登録する欄  ＬＵＮ  Ｔ２０４０と、前記ＬＵＮの状態を登録する欄  ＳＴＡＴＵＳ  Ｔ２０５０から構成される。  論理パス管理テーブルＴ２０００は、交替パスソフトウェア１１２０または、交替パス制御部１２３１およびストレージ管理プログラム１２２０が各ＨＢＡ１３００に対してＬＵＮ走査要求（ＲＥＰＯＲＴ ＬＵＮ）を指示し、ＨＢＡ１３００から認識したＬＵＮの一覧が応答された後、応答値に基づいて更新する。また、ＳＴＡＴＵＳ  Ｔ２０５０は、交替パスソフトウェア１１２０または、交替パス制御部１２３１が欄Ｔ２０４０に登録されているＬＵＮ毎に状態取得する指示をＨＢＡ１３００に要求し、その応答値を当該欄に登録する。例えば、後述するＬＵＮ管理テーブルＴ４０００のＬＵＮの状態を登録する欄  ＳＴＡＴＵＳ  Ｔ４０４０の値が、交替パス制御部１２３１により取得され、前記ＬＵＮの状態を登録する欄  ＳＴＡＴＵＳ  Ｔ２０５０に格納される。【００５７】
図８は、ホスト計算機１０００が備えるバインド管理テーブルＴ３０００の構成の例を示す図である。バインド管理テーブルＴ３０００は、ＡＬＵとそのＡＬＵにバインドされたＳＬＵとの対応を管理する。バインド管理テーブルＴ３０００は、Ｈｙｐｅｒｖｉｓｏｒ１２３０が備えるディスク制御部１２３１とストレージ管理プログラム１２２０と仮想マシン管理プログラム１２１０の処理時に参照され、ホスト計算機１０００が提供するＡＰＩにより、管理ネットワーク６０００を介して管理計算機３０００，４０００が具備する各プログラムからもアクセスされる。【００５８】
バインド管理テーブルＴ３０００は、論理パス管理テーブルＴ２０００に登録されているＡＬＵ２１２０の識別子を登録する欄  ＡＬＵ  ＩＤ  Ｔ３０１０と、前記ＡＬＵ２１２０にバインドされているＳＬＵ２４００の識別子を登録する欄  ＢＯＵＮＤ  ＶＯＬ  ＩＤ  Ｔ３０２０から構成される。【００５９】
図９は、ストレージ装置２０００が備えるＬＵＮ管理テーブルＴ４０００の構成の例を示す図である。ＬＵＮ管理テーブルＴ４０００は、ストレージ装置２０００が提供するＬＵＮを管理する。ＬＵＮ管理テーブルＴ４０００は、ストレージ装置２０００が論理パス制御処理時や論理パス評価処理時に参照し、ストレージ装置２０００上のストレージ管理サーバ２５００が提供する管理ＡＰＩにて管理ネットワーク６０００に接続する管理計算機３０００から参照することができる。【００６０】
ＬＵＮ管理テーブルＴ４０００は、論理ポート２１１０の識別子を登録する欄  ＰＯＲＴ  ＩＤ  Ｔ４０１０と当該論理ポート２１１０のＷＷＮを登録する欄  ＰＯＲＴ  ＷＷＮ  Ｔ４０２０と、ＬＵＮの識別子を登録する欄  ＬＵＮ  Ｔ４０３０と、ＬＵＮの状態を登録する欄  ＳＴＡＴＵＳ  Ｔ４０４０と、ＬＵＮを構成する論理ボリュームの識別子を登録する欄  ＬＤＥＶ  ＩＤ  Ｔ４０５０から構成される
ここで、ＬＵＮは、論理ポート２１１０に対応付けられた論理ボリュームに対して、各論理ボリュームの識別子として割当てられる。後述するＬＤＥＶ  ＩＤがストレージ装置２０００内で論理ボリュームを一意に識別するのに対して、ＬＵＮは論理ポート２１１０に対応付けられた複数の論理ボリュームから論理ボリュームを一意に識別する。【００６１】
図１０、１１はストレージ装置２０００が備える論理ボリューム管理テーブルＴ５０００の構成の例を示す図である。図１０は、ストレージ装置２０００ａが有する論論理ボリューム管理テーブルＴ５０００ａ、図１１は、ストレージ装置２０００ｂが有する論理ボリューム管理テーブルＴ５０００ｂを示す。論理ボリューム管理テーブルＴ５０００は、ストレージ装置２０００が提供する論理ボリュームを管理する。論理ボリューム管理テーブルＴ５０００は、ストレージ装置２０００が論理ボリューム構成制御時やデータ複製制御時に参照し、ストレージ装置２０００上のストレージ管理サーバ２５００が提供する管理ＡＰＩにて管理ネットワーク６０００に接続する管理計算機３０００から参照することができる。【００６２】
論理ボリューム管理テーブルＴ５０００は、論理ボリュームのストレージ装置内で識別可能な識別子を登録する  ＬＤＥＶ  ＩＤ  欄Ｔ５０１０と、当該論理ボリュームにかかる属性情報を登録する欄  ＡＴＴＲＩＢＵＴＥＳ  Ｔ５０２０と、当該論理ボリュームの容量を登録する欄  ＣＡＰＡＣＩＴＹ  Ｔ５０３０と、当該論理ボリュームのデータが異なるストレージ装置に複製されている場合に相手側論理ボリュームの識別子を登録する欄  ＰＡＩＲ  ＬＤＥＶ  ＩＤ  Ｔ５０４０と、当該複製ペアの状態を登録する欄  ＰＡＩＲ  ＳＴＡＴＵＳ  Ｔ５０５０から構成される。【００６３】
図１２は、ストレージ装置２０００が備えるＣＴＧ管理テーブルの構成の例を示す図である。ＣＴＧ管理テーブルＴ６０００は、ストレージ装置２０００での論理ボリューム構成制御時やデータ複製処理および論理パス評価処理時に参照し、ストレージ装置２０００上のストレージ管理サーバ２５００が提供する管理ＡＰＩにて管理ネットワーク６０００に接続する管理計算機３０００から参照することができる。【００６４】
ＣＴＧ管理テーブルＴ６０００は、ＣＴＧの識別子を登録する欄  ＣＴＧ  ＩＤ  Ｔ６０１０と、ＣＴＧの構成要素である論理ボリュームの識別子を登録する欄  ＬＤＥＶ  ＩＤ  Ｔ６０２０と、ＣＴＧ内論理ボリュームの複製先論理ボリュームが属するＣＴＧの識別子を登録する欄  ＰＡＩＲ  ＣＴＧ  ＩＤ  Ｔ６０３０と、ＣＴＧ内論理ボリュームのデータ複製状態の統合評価値を登録する欄  ＳＴＡＴＵＳ  Ｔ６０４０と、ＣＴＧ内論理ボリュームを利用するＶＭ１９００の識別子を登録する欄  ＶＭ  ＩＤ  Ｔ６０５０から構成される。欄Ｔ６０４０に登録される統合評価値は、ＣＴＧ内の論理ボリュームのペア状態を統合評価したＣＴＧとしてのペア状態を示す。実施例１では、同一ＣＴＧに属するＳＬＵは１つのＡＬＵにバインドされる、すなわち、ＣＴＧ内のＳＬＵは１つの論理バスを共有する。そのため、各ＳＬＵ単位ではなく、ＣＴＧ内の論理ボリュームのペア状態を統合評価することで、最適な論理パス制御ができ、ストレージ装置２０００間のＩ／Ｏ転送を減らすことが出来る。【００６５】
図１３は、ストレージ装置２０００が備えるバインド管理テーブルＴ７０００の構成の例を示す図である。バインド管理テーブルＴ７０００は、ストレージ装置２０００でのバインド処理時に参照し、ストレージ装置２０００上のストレージ管理サーバ２５００が提供する管理ＡＰＩにて管理ネットワーク６０００に接続する管理計算機３０００から参照することができる。【００６６】
バインド管理テーブルＴ７０００は、ストレージ装置２０００が備えるＡＬＵ２１２０のストレージ装置内で識別子可能な識別子を登録する欄  ＡＬＵ  ＩＤ  Ｔ７０１０と、バインドされているＳＬＵの一覧を示すビットマップを登録する欄  ＢＩＴＭＡＰ  Ｔ７０２０から構成される。【００６７】
ここで、欄Ｔ７０２０のビットマップの構成について説明する。当該ビットマップの各ビットはＳＬＵ２４００の識別子に対応しており、ビットマップの長さは、ストレージ装置２０００が備える論理ボリューム数と同等のビット数となる。例えば、論理ボリュームの識別子が１６進数表記の０ｘ００００である場合、先頭ビットが当該ボリュームに該当し、論理ボリューム０ｘ０００が欄Ｔ７０１０に登録されているＡＬＵ２１２０にバインドされていれば当該ビットは“１”となり、バインドされていなければ当該ビットは“０”となる。バインド管理テーブルＴ７０００ａでは、論理ボリューム０１：０１がＡＬＵ００：００にバインドされていることを示している。【００６８】
以下より、本実施例におけるＶＭ作成処理を図１４を用いて説明する。まず、ＶＭ管理者が管理計算機４０００が備える入出力部が提供するＧＵＩ（Ｇｒａｐｈｉｃａｌ Ｕｓｅｒ Ｉｎｔｅｒｆａｃｅ）を介して仮想マシン管理ソフトウェア４１１０にＶＭ作成指示を送信する（ステップＳ１０００）。前記ＶＭ作成指示には、作成するＶＭに要求する特性情報が付与され、本実施例では、可用性が高いことを示す“ＨＡ”が指示されているとする。また、ＶＭ作成指示には、作成するＳＬＵの数と容量も指定される。【００６９】
次に、仮想マシン管理ソフトウェア４１１０は、ホスト計算機１０００が備える仮想マシン管理プログラム１２１０に対して管理ネットワーク６０００を介してＶＭ作成指示を送信する（ステップＳ１０１０）。仮想マシン管理プログラム１２１０はホスト計算機１０００が同じく備えるストレージ管理プログラム１２２０に対して、ＶＭを構成する論理ボリューム、すなわちＳＬＵ２４００の作成指示を送信する（ステップＳ１０２０）。【００７０】
ストレージ管理プログラム１２２０は、管理計算機３０００が備えるストレージ管理ソフトウェア３１１０に対して、ストレージ装置管理ソフトウェア３１１０の管理下にあるストレージ装置２０００にＳＬＵ２４００の作成指示を送信する（ステップＳ１０３０）。ストレージ装置管理ソフトウェア３１１０は、ストレージ装置２０００にＳＬＵ２４００の作成を指示（ステップＳ１０３５）し、作成完了後にストレージ管理プログラム１２２０に対して作成したＳＬＵ２４００の識別子を応答する。ストレージ管理プログラム１２２０は、仮想マシン管理プログラム１２１０に受け取ったＳＬＵ２４００の識別子を応答する。【００７１】
次に、仮想マシン管理プログラム１２１０は、ＶＭ管理テーブルＴ１０００に新規ＶＭのＩＤをＴ１０１０に登録し、新規ＶＭに該当する欄Ｔ１０２０，Ｔ１０３０に受け取ったＳＬＵ２４００の識別子およびその容量を登録し、さらに欄Ｔ１０４０にＶＭ作成要求で指定されたプロファイルを登録する。仮想マシン管理プログラム１２１０は、欄Ｔ１０２０に登録されたＳＬＵのバインド指示をストレージ管理プログラム１２２０に送信し（ステップＳ１０４０）、ストレージ管理プログラム１２２０は、ストレージ管理ソフトウェア３１１０に指定されたＳＬＵのバインド指示をする（ステップＳ１０５０）。ストレージ装置３０００でのバインド処理を経て、バインド処理完了後、仮想マシン管理プログラム１２１０は、バインドされたＳＬＵ２４００に対してＨｙｐｅｒｖｉｓｏｒ１２３０の仮想マシン制御部１２３１とディスク制御部１２３２に対してＶＭイメージ書込み処理を実施する（ステップＳ１０６０）。ＶＭイメージ書込み処理完了後、仮想マシン管理プログラム１２１０は、当該ＳＬＵ２４００のアンバインド指示を行う（ステップＳ１０７０）。ストレージ管理プログラム１２２０は、仮想マシン管理プログラム１２１０からのアンバインド指示を受けて、ストレージ管理ソフトウェア３１１０に、アンバインド指示を送信する（ステップＳ１０８０）。アンバンド処理が完了すると、ストレージ管理ソフトウェア２１１０は、ストレージ管理プログラム１２２０と仮想マシン管理プログラム１２１０とを介して、ＶＭ作成指示の送信元である仮想マシン管理ソフトウェア４１１０に作成ＶＭの識別子を含んだＶＭ作成完了応答を返し、仮想マシン管理ソフトウェア４１１０は、ＶＭ管理者に仮想マシン作成処理完了を通知する。【００７２】
ここで、ステップＳ１０３５のＳＬＵ２４００作成処理について図１５を用いて説明する。【００７３】
図１５は、図１４のＶＭ作成におけるストレージリソース作成処理（ステップＳ１０３５）に該当し、ストレージ管理プログラム１２２０からＳＬＵ２４００作成指示をストレージ管理ソフトウェア３１１０が受信して処理を開始する。まず、ストレージ管理ソフトウェア３１１０は、論理ボリューム作成指示より作成するＶＭの識別子（ＩＤ：ＩＤｅｎｔｉｆｉｅｒ）と作成ＶＭに指定されたプロファイルおよび作成論理ボリュームの数とその容量を抽出する（ステップＦ１０００）。ストレージ管理ソフトウェア３１１０は、作成するＶＭのプロファイルに“ＨＡ”が指定されているか確認する（ステップＦ１０１０）。ストレージ管理ソフトウェア３１１０は、“ＨＡ”が指示されていない場合（Ｆ１０１０：Ｎｏ）、ストレージクラスタの正側ストレージ装置２０００ａに指定数および指定容量のＳＬＵ２４０００を作成し（ステップＦ１０６０）処理を完了する。【００７４】
“ＨＡ”が指定されている場合（Ｆ１０１０：Ｙｅｓ）、ストレージ管理ソフトウェア３１１０は、まず、ストレージクラスタを構成するストレージ装置２０００ａ、２０００ｂに作成ＶＭに対応するＣＴＧ２５００の作成を指示し（ステップＦ１０２０）、ＣＴＧ２５００の作成が完了すると、ストレージ装置２０００ａ、２０００ｂに指定数および指定容量のＳＬＵ２４００作成を指示する（ステップＦ１０３０）。ストレージ管理ソフトウェア３１１０は、ストレージ装置２０００ａ、２０００ｂに作成したＳＬＵ２４００をステップＦ１０２０で作成または抽出したＣＴＧへの登録を指示し（ステップＦ１０４０）、ステップＦ１０２０のＣＴＧ２５００を指定してストレージ装置２０００ａと２０００ｂにＨＡペア形成を指示し（ステップＦ１０５０）処理を完了する。【００７５】
本処理において、ストレージ装置２０００ａ、２０００ｂの構成制御部は、ステップＦ１０２０にて作成ＶＭに対応するＣＴＧ２５００の作成指示を受領すると、ＣＴＧ管理テーブルＴ６０００を参照し、欄Ｔ６０５０から指定ＶＭＩＤの有無を走査する。構成制御部は、ＣＴＧ管理テーブルＴ６０００に指定ＶＭＩＤが登録されていれば、指定ＶＭＩＤが登録されているＣＴＧ  ＩＤを返す。構成制御部は、ＣＴＧ管理テーブルＴ６０００に指定ＶＭＩＤが登録されていなければ、新規ＣＴＧを登録し、新規ＣＴＧの欄Ｔ６０５０に指定ＶＭＩＤを登録して新規ＣＴＧ ＩＤを返す。【００７６】
また、ステップＦ１０３０で指定数および指定容量のＳＬＵ２４００作成指示を受領すると、構成制御部は、ＬＤＥＶ作成に関しては、指定数および指定容量のＳＬＵ属性が付与されたＬＤＥＶを作成し、論理ボリューム管理テーブルＴ５０００に新規ＬＤＥＶを登録し、ＬＤＥＶ ＩＤを完了通知に含ませて応答する。ステップＦ１０４０では、ＳＬＵ２４００のＣＴＧへの登録指示を受領すると、構成制御部は、指定ＬＤＥＶを指定ＣＴＧに登録するため、ＣＴＧ管理テーブルＴ６０００を参照し、指定ＣＴＧの欄Ｔ６０２０に指定ＬＤＥＶ ＩＤを登録する。【００７７】
ステップＦ１０５０でＨＡペア形成指示を受領すると、データ複製制御部がＣＴＧ管理テーブル６０００の欄Ｔ６０３０にデータ複製先ＣＴＧの識別子を登録し、ＣＴＧ内ＬＤＥＶの複製ペアを形成する。ペア形成での初期データ複製では、論理ボリューム間のデータ格納状態が不整合であるため、正側ＬＤＥＶにのみデータが書込み可能である場合は、正側ＬＤＥＶの状態をコピー中かつＩ／Ｏ処理可能を示す“ＣＯＰＹ（ＬＯＣＡＬ）”状態とし、副側ＬＤＥＶの状態をコピー中かつＩ／Ｏ不可を示す“ＣＯＰＹ（ＢＬＯＣＫ）”とする。また、正副ＬＤＥＶのデータ格納状態が整合となると双方のＬＤＥＶ状態は“ＰＡＩＲ（ＭＩＲＲＯＲ）”状態となり、正側ＬＤＥＶと副側ＬＤＥＶ双方でＩ／Ｏ処理可能な状態を示す。副側ＬＤＥＶが被災等でＩ／Ｏ不可となると、正側ＬＤＥＶ状態は、ペアが同期していない状態であり、正側のみでＩ／Ｏ処理可能を示す“ＰＳＵＳ（ＬＯＣＡＬ）”状態となり、副側ＬＤＥＶ状態は、ペアが同期していない状態であり、副側でＩ／Ｏ不可を示す“ＰＳＵＳ（ＢＬＯＣＫ）”となる。正側ＬＤＥＶが被災等でＩ／Ｏ不可となると、正側ＬＤＥＶは、ペアが同期していない状態であり、正側でＩ／Ｏ不可を示す“ＳＳＷＳ（ＢＬＯＣＫ）”状態となり、副側ＬＤＥＶは、ペアが同期していない状態であり、副側のみでＩ／Ｏ処理可能を示す“ＳＳＷＳ（ＬＯＣＡＬ）”となる。これらのＬＤＥＶ複製ペアの状態は、論理ボリューム管理テーブルＴ５０００の欄Ｔ５０５０に登録される。【００７８】
欄Ｔ６０４０は、当該ＣＴＧ内の全ＬＤＥＶのペア状態を統合評価した値が登録され、一つでも“ＰＡＩＲ”状態でないものが存在すると、ＣＴＧ状態がその状態となる。【００７９】
具体的には、同一ＣＴＧに “ＣＯＰＹ（ＢＬＯＣＫ）”、“ＰＳＵＳ（ＢＬＯＣＫ）”、“ＳＳＷＳ（ＢＬＯＣＫ）”のいずれかの状態（以下、ＢＬＯＣＫ状態と呼ぶ）のＳＬＵ２４４０が１つでも含まれていれば、欄Ｔ６０４０には、“ＢＬＯＣＫ”が格納される。同一ＣＴＧに “ＣＯＰＹ（ＢＬＯＣＫ）”、“ＰＳＵＳ（ＢＬＯＣＫ）”、“ＳＳＷＳ（ＢＬＯＣＫ）”のいずれかの状態のＳＬＵ２４００は１つも含まれないが、“ＣＯＰＹ（ＬＯＣＡＬ）”、“ＰＳＵＳ（ＬＯＣＡＬ）”、“ＳＳＷＳ（ＬＯＣＡＬ）”のいずれかの状態（以下、ＬＯＣＡＬ状態と呼ぶ）のＳＬＵ２４４０が１つでも含まれていれば、欄Ｔ６０４０には、“ＬＯＣＡＬ”が格納される。同一ＣＴＧ内のすべてのＳＬＵ２４００が“ＰＡＩＲ（ＭＩＲＲＯＲ）”の場合は、欄Ｔ６０４０には“ＰＡＩＲ”が格納される。【００８０】
図１６は、ストレージ管理ソフトウェア３１１０がストレージ装置２０００ａ、２０００ｂが有するＬＤＥＶ構成操作指示のシーケンスの例を示す図である。操作対象ＬＤＥＶがＨＡ構成であれば、ストレージ管理ソフトウェア３１１０は、ＨＡ構成ＬＤＥＶを有する二つのストレージ装置２０００に対して、同一のＬＤＥＶ構成操作指示を送信し、双方のストレージ装置２０００が正常完了であれば、要求元に正常終了を応答し、片方が異常終了の場合は、正常終了したストレージ装置２０００を捜査前の状態に戻し、要求元に異常終了を通知し、双方が異常終了した場合は、要求元に異常終了を通知する。【００８１】
図１７は、ストレージ装置２０００が備える構成制御部でのバインド処理のフローチャートの構成の例を示す図である。バインド処理は、Ｓ１０５０で構成ＶＯＬバインド指示を受信したストレージ管理ソフトウェア３１１０からのバインド指示を受信して開始される。【００８２】
バインド処理では、構成制御部は、バインド指示から、バインド対象ＳＬＵ２４００を抽出し（ステップＦ２０００）、論理ボリューム管理テーブルＴ５０００を参照して指定ＳＬＵ２４００がＨＡ構成ボリュームであるか確認する（ステップＦ２０１０）。ＨＡ構成ボリュームでなければ（Ｆ２０１０：ＮＯ）、構成制御部は、論理ボリューム管理テーブルＴ５０００よりＨＡ属性が付与されていないＡＬＵ２１２０を選出し（ステップＦ２０６０）、バインド管理テーブルＴ７０００を参照し、前記ＡＬＵ２１２０に該当する箇所の欄Ｔ７０２０のビットマップにて指定ＳＬＵ２４００の該当ビットの値を“１”に変更し（ステップＦ２０７０）、処理を完了する。【００８３】
指定ＳＬＵ２４００がＨＡ構成ボリュームであれば（Ｆ２０１０：ＹＥＳ）、構成制御部は、ＣＴＧ管理テーブルＴ６０００を参照し、指定ＳＬＵ２４００が所属するＣＴＧ２５００を抽出し（ステップＦ２０２０）、ＣＴＧ管理テーブルＴ６０００の抽出したＣＴＧ２５０００のＬＤＥＶ一覧を抽出し、さらに、バインド管理テーブルＴ７０００の欄Ｔ７０２０に前記抽出したＬＤＥＶの何れかがバインドされているＡＬＵを選出する（ステップＦ２０３０）。ステップＦ２０３０で該当するＡＬＵが存在しない場合、構成制御部は、論理ボリューム管理テーブルＴ５０００を参照してＨＡ属性が付与されているＬＤＥＶを一つ抽出し、前記ＬＤＥＶを選出ＡＬＵ２１２０とする。次に、構成制御部は、欄Ｔ７０２０にて、ステップＦ２０３０で選出したＡＬＵ２１２０に該当する箇所の指定ＳＬＵ２４００の該当ビットの値を“１”に変更することでバインド処理し（Ｆ２０４０）、構成制御部の論理パス評価処理を実施し（ステップＦ２０５０）、処理を完了する。本処理では、ＣＴＧ２５００に属するＳＬＵ２４００は同一ＡＬＵ２１２０にバインドされることを特徴とする。【００８４】
図１８は、ストレージ装置２０００の構成制御部が実施するＳＬＵ２４００のバインドを解除するアンバインド処理のフローチャートの構成の例を示す図である。アンバインド処理は、構成制御部がバインド管理テーブルＴ７０００を参照し、指定ＳＬＵ２４００がバインドされているＡＬＵ２１２０を抽出し（ステップＦ３０１０）、バインド管理テーブルＴ７０００の当該ＡＬＵ２１２０に該当する欄Ｔ７０２０のビットマップに指定ＳＬＵ２４００に該当するビットの値を“０”とする（ステップＦ３０２０）。指定ＳＬＵ２４００がＨＡ構成ボリュームである場合（Ｆ３０３０：Ｙｅｓ）、論理パス制御部が、Ｆ３０１０で抽出したＡＬＵ２１２０の論理パス評価処理を実施することを特徴とする。【００８５】
以下より、本実施例における論理パス評価処理について説明する。【００８６】
図１９は、ストレージ装置２０００の論理パス制御部が行う論理パス評価処理のフローチャートの構成の例を示す図である。論理パス評価処理は、ストレージ装置２０００にてバインド処理制御部がＡＬＵ２１２０へＳＬＵ２４００をバインドした後（Ｆ２０５０）とデータ複製制御部にてＣＴＧ２５００の状態が変更された時（Ｆ３０４０）に実行される。【００８７】
論理パス評価処理では、構成制御部は、バインド管理テーブルＴ７０００を参照し、指定元制御部から指定されたＡＬＵ２１２０にバインドされているＳＬＵ２４００を算出し、ＣＴＧ管理テーブルＴ６０００から前記ＳＬＵ２４００が所属するＣＴＧ２５００を抽出する（ステップＦ４０００）。構成制御部は、論理パス評価値Ｘの初期値として“ＡＣＴＩＶＥ／ＯＰＴＩＭＩＺＥＤ”を設定し（ステップＦ４０１０）、ステップＦ４０００で抽出したＣＴＧ２５００に対してステップＦ４０２０のループ処理を実行する。構成制御部は、前記ループ処理はＣＴＧ２５００毎に実行され、まず、ＣＴＧ管理テーブルＴ６０００の欄Ｔ６０４０を参照し、ＣＴＧ２５００の状態がＩ／Ｏを受け付けられないＢＬＯＣＫ状態であれば（Ｆ４０３０：Ｙｅｓ）、ストレージ装置２０００にストレージ装置間Ｉ／Ｏ転送機能が備わっており、Ｉ／Ｏ転送が可能であるか確認する（ステップＦ４０４０）。構成制御部は、Ｉ／Ｏ転送が出来ない場合（Ｆ４０４０：Ｎｏ）は、論理パス評価値Ｘの値を“ＳＴＡＮＤＢＹ”とし（ステップＦ４０５０）、Ｉ／Ｏ転送が可能であれば（Ｆ４０４０：Ｙｅｓ）、Ｘの値を“ＡＣＴＩＶＥ／ＮＯＮ−ＯＰＴＩＭＩＺＥＤ”とする（ステップＦ４０６０）。Ｆ４０２０のループ処理が完了すると、構成制御部は、ＬＵＮ管理テーブルＴ４０００を参照し、欄Ｔ４０５０に指定ＡＬＵ２１２０のＬＤＥＶ ＩＤが登録されている行の欄Ｔ４０４０にＸの値を登録し（ステップＦ４０８０）、処理を完了する。【００８８】
ここで、ストレージ装置間Ｉ／Ｏ転送機能について説明する。ＬＤＥＶのペア状態が“ＢＬＯＣＫ”状態のとき、そのＬＤＥＶに対してはＩ／Ｏは不可である。しかし、ストレージ装置２０００がストレージ装置間Ｉ／Ｏ転送機能を有する場合、ペアのボリュームに対してＩ／Ｏ処理を行うためストレージ装置間でＩ／Ｏを転送する。例えば、“ＣＯＰＹ（ＢＬＯＣＫ）” の副側ＬＤＥＶを有するストレージ装置２０００ｂは、ストレージ装置２０００ａにＩ／Ｏを転送し、ペアの正側ＬＤＥＶ（“ＣＯＰＹ（ＬＯＣＡＬ）”）にＩ／Ｏを転送し正側ＬＤＥＶでＩ／Ｏ処理することが出来る。同様に、ストレージ装置間Ｉ／Ｏ転送機能を有するストレージ装置２０００は、“ＰＳＵＳ（ＢＬＯＣＫ）”や“ＳＳＷＳ（ＢＬＯＣＫ）”の論理ボリュームに対するＩ／Ｏをストレージ装置２０００間で転送することで、
ペアの論理ボリュームでＩ／Ｏ処理を行うことが出来る。【００８９】
以上の処理により、ＣＴＧ管理テーブルＴ６０００の欄Ｔ６０４０のＣＴＧのＳＴＡＴＵＳが“ＰＡＩＲ（ＭＩＲＲＯＲ）”状態か“ＬＯＣＡＬ”状態の場合、自身のストレージ装置２０００でＩ／Ｏを処理できるため、ストレージ装置２０００間Ｉ／Ｏ転送が発生せずＩ／Ｏの遅延が発生しないため、“ＡＣＴＩＶＥ／ＯＰＴＩＭＩＺＥＤ”となる。また、ＣＴＧのＳＴＡＴＵＳが“ＢＬＯＣＫ”状態かつストレージ装置間Ｉ／Ｏ転送が可能であれば、Ｉ／Ｏ転送によりレスポンスの遅延が発生するがＩ／Ｏ処理は可能なため、“ＡＣＴＩＶＥ／ＮＯＮ−ＯＰＴＩＭＩＺＥＤ”となる。ＣＴＧのＳＴＡＴＵＳが“ＢＬＯＣＫ”状態かつストレージ装置間Ｉ／Ｏ転送が不可能であれば、Ｉ／Ｏ処理は不可能なため、“ＳＴＡＮＢＹ”となる。【００９０】
本実施例で示した論理パス評価処理を実施すると、バインド処理やデータ複製処理に応じて、ストレージ装置２０００間Ｉ／Ｏ転送やリトライが生じないＡＬＵ２１２０の論理パスの評価値を“ＡＣＴＩＶＥ／ＯＰＴＩＭＩＺＥＤ”に保つことができる。
【実施例２】
【００９１】
実施例１では、複数のＣＴＧ２５００でＡＬＵ２１２０を共有するため、ＡＬＵ２１２０を共有するＣＴＧ２５００のうち、一つでもＣＴＧ２５００の状態が“ＰＡＩＲ（ＭＩＲＲＯＲ）”以外の状態であると、当該ＡＬＵ２１２０の論理パス評価が“ＡＣＴＩＶＥ／ＯＰＴＩＭＩＺＥＤ”以外の状態となり、結果として“ＡＣＴＩＶＥ／ＯＰＴＩＭＩＺＥＤ”状態の論理パスが存在しないことが生じる。【００９２】
本実施例では、ＣＴＧ２５００単位、すなわちＶＭ１９００単位や同一業務単位で“ＡＣＴＩＶＥ／ＯＰＴＩＭＩＺＥＤ”の論理パスを一つ以上確保する論理パス制御を示す。この構成により、異なる業務間により論理パスの状態が影響を受けることを抑止することが出来る。【００９３】
図２０は、本実施例におけるストレージシステムの構成の例を示す図である。実施例１との違いは、ホスト計算機１０００がＶＭや業務単位でＶＭをＡＧ（Ａｖａｉｌａｂｉｌｉｔｙ  Ｇｒｏｕｐ）７０００として区分けする論理区画制御部を備え、その他構成要素は実施例１と同じである。同じ特性情報を持つＶＭが、同じＡＧに属するようにしてもよい。すなわち、同じＡＧに属するＶＭは、ＶＭ管理テーブルＴ１０００の欄  ＰＲＯＦＩＬＥ  Ｔ１０４０には同一の値が格納される。【００９４】
以下より、ＶＭ１９００を論理区画であるＡＧ７０００に纏める手段と、ＡＧ７０００単位にＣＴＧ２５００を構築する手段と、ＣＴＧ２５００毎にＡＬＵ２１２０を割当てる手段を備えたストレージシステムについて説明する。【００９５】
まず、ＶＭ１９００をＡＧ７０００に纏めるためには、ＶＭ管理者がＶＭ作成時に、ＶＭに付与するプロファイルにＡＧ７０００を識別するための識別子を指定する。前記識別子は、ＶＭ管理者が定義する任意の文字列もしくは、仮想マシン管理ソフトウェア４１１０にＶＭ管理者が事前定義した識別子でも良い。指定されたＡＧ７０００の識別子は、図１４のＶＭ作成処理シーケンスでのステップＳ１０００〜Ｓ１０３５での構成操作指示に含まれる。具体的には、指定ＡＧ７０００の識別子は、ホスト計算機１０００がＶＭ作成処理にてＶＭ管理テーブルＴ１０００の欄Ｔ１０４０に登録し、ストレージ装置２０００は、ＣＴＧ２５００作成時に、図２１に示すＣＴＧ管理テーブルＴ８０００の欄Ｔ８０５０に登録する。【００９６】
ここで、ストレージ装置２０００でのＶＭを構成する論理ボリューム作成処理について図２２を用いて説明する。実施例２では、図１５のＶＭ作成におけるストレージリソース作成処理に代えて、図２２の処理を行う。【００９７】
図２２は、ＶＭ作成処理シーケンスにおいてストレージ管理ソフトウェア３１１０が行う論理ボリューム作成処理のフローチャートの構成の例を示す図である。ストレージ管理ソフトウェア３１１０は、ＡＧ７０００の識別子を含んだ論理ボリューム作成指示を受理すると、本処理を開始し、作成指示で得られたプロファイルにＨＡが指定されているか確認する（ステップＦ４０１０）。ストレージ管理ソフトウェア３１１０は、ＨＡが指定されていない場合（ステップＦ４０１０：Ｎｏ）、ストレージクラスタの正側ストレージ装置２０００ａに指定数および指定容量のＳＬＵ２４００を作成し（ステップＦ４０６０）処理を完了する。ストレージ管理ソフトウェア３１１０は、ＨＡが指定されている場合（ステップＦ４０１０：Ｙｅｓ）、ストレージクラスタの正側ストレージ装置２０００ａに指定数および指定容量のＳＬＵ２４０００を作成し（ステップＦ１０６０）処理を完了する。ストレージクラスタを構成するストレージ装置２０００ａ、２０００ｂに対して、指定ＡＧ７０００に対応するＣＴＧ２５００の作成を指示する（ステップＦ４０２０）。ＣＴＧ２５００の作成が完了すると、ストレージ管理ソフトウェア３１１０は、Ｆ４０２０のＣＴＧ２５００に所属するＡＬＵ２１２０の作成を指示する（ステップＦ４０３０）。次に、ストレージ管理ソフトウェア３１１０は、Ｆ４０２０のＣＴＧ２５００に所属する指定数および指定容量のＳＬＵ２４００の作成を指示し（ステップＦ４０４０）、作成したＳＬＵ２４００のＨＡペア形成を指示し（ステップＦ４０５０）、処理を完了する。【００９８】
ステップＦ４０２０のＣＴＧ２５００作成指示を受理したストレージ装置２０００は、作成指示よりＡＧ７０００の識別子を抽出し、ＣＴＧ管理テーブルＴ８０００を参照し、指定ＡＧ７０００に対応するＣＴＧ２５００を抽出し、該当するＣＴＧ２５００が存在すればそのＣＴＧ２５００を応答し、該当ＣＴＧ２５００が無ければ、新規ＣＴＧ２５００を作成し、作成したＣＴＧ２５００の欄Ｔ８０５０に指定されたＡＧ７０００の識別子を登録する。【００９９】
以上により、ＡＧ７０００単位にＣＴＧ２５００を構築でき、さらに、ＣＴＧ２５００に対して一つのＡＬＵ２１２０を設置することができ、図１９の論理パス評価処理を適用するとＡＧ７０００単位にＡＬＵ２１２０の論理パス評価を実施することができる。
【実施例３】
【０１００】
実施例２では、ＡＧ７０００単位にＡＬＵ２１２０を消費するため、ＡＬＵ２１２０の枯渇が生じる。本実施例では、ホスト計算機１０００が備える仮想ポート機能を利用し、ＡＧ７０００単位に１または複数のＩｎｉｔｉａｔｏｒ Ｐｏｒｔを割り当て、ＶＭ１９００は自身が属するＡＧ７０００に割当てられたＩｎｉｔｉａｔｏｒ  Ｐｏｒｔのいずれかを使用する。そして、ストレージ装置２０００は、Ｉｎｉｔｉａｔｏｒ Ｐｏｒｔ単位でＡＬＵ２１２０の論理パス評価を実施するストレージシステムについて説明する。【０１０１】
図２３は、本実施例におけるストレージシステムの構成の例を示した図である。ホスト計算機１０００のＨｙｐｅｒｖｉｓｏｒ１２３０は、仮想ポート制御部を有し、ＡＧ７０００単位に仮想ポート１２１０を割当てる仮想ポート割り当て制御を行う。【０１０２】
また、ストレージ装置２０００の論理ポート２１１０は、論理ポート２１１０毎に、ログイン（通常、ファブリックログインと称す）を許可するＩｎｉｔｉａｔｏｒ Ｐｏｒｔを論理区画であるＨＧ（Ｈｏｓｔ  Ｇｒｏｕｐ）２１３０として纏めている。ＨＧ２１３０を経由する論理パスからのＩ／Ｏは、登録されたＩｎｉｔｉａｔｏｒ ＰｏｒｔのＷＷＮからのみ受理するアクセス制限制御部を備えている。【０１０３】
図２４は、ホスト計算機１０００が備える仮想ポート管理テーブルＴ９０００の構成の例を示す図である。仮想ポート管理テーブルＴ９０００は、Ｈｙｐｅｒｖｉｓｏｒ１２３０の仮想ポート制御部（図示せず）による仮想ポート割当て処理時とディスク制御部１２３２と交替パス制御部１２３３によるＩ／Ｏ処理時に参照され、ホスト計算機１０００が提供するＡＰＩにより、管理ネットワーク６０００を介して管理計算機３０００，４０００が具備する各プログラムからもアクセスされる。【０１０４】
仮想ポート管理テーブルＴ９０００は、ＨＢＡ１２００のＷＷＮを登録する欄  ＰＯＲＴ  ＷＷＮ  Ｔ９０１０と、当該ＨＢＡ１２００から生成した仮想ポート１２１０のＷＷＮを登録する欄  ｖＰＯＲＴ  ＷＷＮ  Ｔ９０２０と、当該仮想ポート１２１０が割当てられたＶＭ１９００の識別子を登録する欄  ＶＭ  ＩＤ  Ｔ９０３０と、当該ＶＭ１９００が属するＡＧ７０００の識別子を登録する欄  ＡＧ  ＩＤ  Ｔ９０４０から構成される。【０１０５】
仮想ポート１２１０の割り当ては、ＶＭ管理が入力部１７００と出力部１６００から提供される仮想マシン管理プログラム１２１０のユーザインタフェースを用いて行い、仮想マシン管理プログラム１２１０が仮想ポート１２１０に指示に従った情報を登録する。【０１０６】
図２５は、ストレージ装置２０００の論理ポート２１１０が備えるホストグループ管理テーブルＵ１０００の構成の例を示した図である。ホストグループ管理テーブルＵ１０００は、ストレージ装置２０００が備える構成制御部でのホストグループ構成変更処理時と論理パス制御処理時とＩ／Ｏ制御部でのアクセス制御処理時に参照し、ストレージ装置２０００上のストレージ管理サーバ２５００が提供する管理ＡＰＩにて管理ネットワーク６０００に接続する管理計算機３０００から参照することができる。【０１０７】
ホストグループ管理テーブルＵ１０００は、論理ポート１２１０の識別子を登録する欄  ＰＯＲＴ  ＩＤ  Ｕ１０１０と、当該論理ポート１２１０のＷＷＮを登録する欄  ＰＯＲＴ  ＷＷＮ  Ｕ１０２０と、当該論理ポート１２１０に属するＨＧ２１３０の識別子を登録する欄  ＨＧ  Ｕ１０３０と、当該ＨＧ２１３０に登録されたＩｎｉｔｉａｔｏｒ ＰｏｒｔのＷＷＮを登録する欄  ＩＮＩＴＩＡＴＯＲ  ＷＷＮ  Ｕ１０４０と、当該ＨＧ２１３０に該当するＡＧ７０００の識別子を登録する欄  ＡＧ  ＩＤ  Ｕ１０５０と、当該ＨＧ２１３０に属するＬＵＮの識別子を登録する欄  ＬＵＮ  Ｔ１０６０と、当該ＬＵＮの実体となるＬＤＥＶの識別子を登録する欄  ＬＤＥＶ  ＩＤ  Ｕ１０７０から構成される。【０１０８】
図２６は、ＨＧ２１３０へＩｎｉｔｉａｔｏｒ ＰｏｒｔのＷＷＮを登録するＩｎｉｔｉａｔｏｒ Ｐｏｒｔ ＷＷＮ登録処理のフローチャートの構成の例を示す図である。前記処理は、ストレージ管理者がストレージ管理ソフトウェア３１１０やストレージ管理サーバ２５００が提供する管理ユーザインタフェースを介してストレージ装置２０００の構成制御部に前記処理を要求した際に開始される。【０１０９】
前記ＷＷＮ登録処理は、構成制御部が、要求情報からＡＧ７０００の識別子を抽出し（ステップＦ５０００）、管理ネットワーク６０００を介して接続される管理計算機４０００の仮想マシン管理ソフトウェア４１１０からステップＦ５０００のＡＧ７０００に割当てられた仮想ポート１２１０のＷＷＮを取得する（ステップＦ５０１０）。構成制御部は、ホストグループ管理テーブルＵ１０００を参照してステップＦ５０００のＡＧ７０００が登録されたＨＧ２１３０を抽出し（ステップＦ５０２０）、抽出したＨＧ２１３０にステップＦ５０１０で取得したＷＷＮをホストグループ管理テーブルＵ１０００の該当する欄Ｕ１０４０に登録し（ステップＦ５０３０）、Ｆ５０２０のＨＧ２３１０にＡＬＵ２１２０を割当てる。【０１１０】
ステップＦ５０２０で該当するＨＧ２１３０が存在しない場合は、構成制御部は、ＳＡＮ５０００に物理結線済みの論理ポート１２１０一つにＨＧ２１３０を新規に作成し、新規ＨＧ２１３０の欄Ｕ１０５０にＦ５０００のＡＧ７０００の識別子を登録する。【０１１１】
ステップ５０２０において、Ｆ５０００でＡＧ７０００が抽出されると、当該ＡＧ７０００に属するＶＭ１９００のプロファイルには“ＨＡ”が指定されているため、当該ＨＧ２１３０に割当てるＡＬＵ２１２０は、ＨＡ属性が付与されているもののみとなり、さらに、ストレージクラスタの相手側ストレージ装置２０００に本処理に対応するＨＧ２１２０にＡＬＵ２１２０を登録する場合、ステップ５０２０で割当てたＡＬＵ２１２０と仮想リソースの識別子が同一であるＡＬＵ２１２０を割当てる。【０１１２】
図２７は、本実施例におけるストレージ装置２０００が備える構成制御部でのＨＧ２１３０単位の論理パス評価処理のフローチャートの構成の例を示す図である。本処理は、実施例１，２と同じく、ＡＬＵ２１２０にＳＬＵ２４００がバインドもしくはアンバインドされた時と、ＳＬＵ２４００の二重化状態が推移した際に実行される。実施例１の図１９の処理に代えて実行される。【０１１３】
まず、構成制御部が、バインドもしくはアンバインドが生じたＡＬＵ２１２０が属するＨＧ２３１０と所属するＡＧ７０００の識別子を抽出し（ステップＦ６０００）、論理パスの評価値Ｘの初期値として“ＡＣＴＩＶＥ／ＯＰＴＩＭＩＺＥＤ”を設定する（ステップＦ６０１０）。構成制御部は、Ｆ６０００で抽出したＡＧ７０００に属する全てのＣＴＧ２５００に対して、Ｆ６０２０のループ処理を実施する。前記ループ処理では、構成制御部は、選出ＣＴＧ２５００の状態を確認し（ステップＦ６０３０）、状態が“ＢＬＯＣＫ”であれば、ストレージ装置間Ｉ／Ｏ転送が可能かを確認し（ステップＦ６０４０）、転送可能であれば評価値Ｘをｌ“ＡＣＴＩＶＥ／ＯＰＴＩＭＩＺＥＤ”に設定し（ステップＦ６０６０）、転送不可であれば評価値Ｘを“ＳＴＡＮＤＢＹ”に設定する（ステップＦ６０５０）。【０１１４】
次に、前記Ｆ６０２０のループ処理完了後、構成制御部は、ＬＵＮ管理テーブルＴ４０００を参照し、Ｆ６０００のＨＧ２３１０に属する全ＬＵＮのＴ４０００の欄Ｔ４０４０に評価値を評価値Ｘに設定し（ステップＦ６０８０）、処理を完了する。【０１１５】
本処理により、ＨＧ２３１０毎すなわちＨＧ２３１０に登録されたＷＷＮを有するＩｎｉｔｉａｔｏｒ Ｐｏｒｔを利用するＶＭ単位にＡＬＵ２３１０の論理パスの評価値を設定することが可能となる。
【実施例４】
【０１１６】
本実施例では、ホスト計算機１０００でのＣｏｎｇｌｏｍｅｒａｔｅ ＬＵＮ Ｓｔｒｕｃｔｕｒｅに対する論理パス閉塞処理に関わり、ＡＬＵ２１２０の論理パスにリトライが生じ、規定回数のリトライが生じた場合、論理パスを直ちに閉塞するのではなく、当該ＡＬＵ２１２０にバインドされたＳＬＵ２４００の状態を確認し、Ｉ／Ｏ受付可能なＳＬＵ２４００が存在すれば、当該論理パスを“ＡＣＴＩＶＥ／ＮＯＮ−ＯＰＴＩＭＩＺＥＤ”状態として評価する論理パス制御を備えるストレージシステムについて説明する。【０１１７】
本実施例におけるホスト計算機１０００の構成は、図３，４と同じである。【０１１８】
図２８は、Ｈｙｐｅｒｖｉｓｏｒ１２３０がＩ／Ｏ処理、特に、Ｉ／Ｏリトライ処理時に実施する論理パス評価処理のフローチャートの構成の例を示す図である。本処理は、ＡＬＵ２１２０への論理パスでのリトライ数が予めＶＭ管理者にて設定された閾値を越えた場合に実施される。【０１１９】
本処理では、構成制御部またはＨｙｐｅｒｖｉｓｏｒ１２３０が、論理パス管理テーブルＴ２０００とバインド管理テーブルＴ３０００を参照し、リトライ数が閾値を越えた論理パスに割当てられたＡＬＵ２１２０にバインドされたＳＬＵ２４００を抽出し（ステップＦ７０００）、論理パスの評価値Ｘの初期値を“ＳＴＡＮＤＢＹ”に設定し（ステップＦ７０１０）、Ｆ７０００で取得した全ＳＬＵ２４００に対してＦ７０２０のループ処理を実施する（ステップＦ７０２０）。本ループ処理では、当該ＳＬＵ２４００に対して、ディスク制御１２３２がテスト読み込みＩ／Ｏを発行し、交替パス制御部１２３３が当該論理パスを経由でＡＬＵ２１２０にＩ／Ｏを発行し（ステップＦ７０３０）、正常応答が得られると評価値Ｘを“ＡＣＴＩＶＥ／ＮＯＮ−ＯＰＴＩＭＩＺＥＤ”に設定する（ステップＦ７０５０）。前記ループ処理が完了すると、指定論理パスの評価値をＸに設定し（ステップＦ７０７０）、処理を完了する。【０１２０】
上記処理により、リトライ数が閾値を越えた論理パスのＡＬＵ２１２０にＩ／Ｏ処理が可能なＳＬＵ２４００が一つでも存在すると、前記ＳＬＵ２４００へのＩ／Ｏ発行にそなえ、当該論理パスを閉塞せずに、非推奨論理パスとして設定することが可能となる。
【符号の説明】
【０１２１】
１０００：ホスト計算機
２０００：ストレージ装置
３０００：管理計算機
４０００：管理計算機
５０００：ストレージエリアネットワーク
６０００：管理ネットワーク
Ｔ１０００：仮想サーバ管理テーブル
Ｔ２０００：論理パス管理テーブル
Ｔ３０００：バインド管理テーブル
Ｔ４０００：ＬＵＮ管理テーブル
Ｔ５０００：論理ボリューム管理テーブル
Ｔ６０００：コンシステンシーグループ管理テーブル
Ｔ７０００：バインド管理テーブル
Ｔ８０００：コンシステンシーグループ管理テーブル
Ｔ９０００：仮想ポート管理テーブル
Ｕ１０００：ホストグループ管理テーブル
Ｓ１０００：仮想サーバ作成処理 
Ｓ２０００：論理リソース操作処理
Ｆ１０００：論理リソース作成処理
Ｆ２０００：バインド処理
Ｆ３０００：アンバインド処理 
Ｆ４０００：バインドグループ割り当て処理
Ｆ５０００：ＡＬＵ割当て処理
Ｆ６０００：論理パス評価処理 
Ｆ７０００：論理パス評価処理
【図１】
2018011839.tif 000003
【図２】
2018011839.tif 000004
【図３】
2018011839.tif 000005
【図４】
2018011839.tif 000006
【図５】
2018011839.tif 000007
【図６】
2018011839.tif 000008
【図７】
2018011839.tif 000009
【図８】
2018011839.tif 000010
【図９】
2018011839.tif 000011
【図１０】
2018011839.tif 000012
【図１１】
2018011839.tif 000013
【図１２】
2018011839.tif 000014
【図１３】
2018011839.tif 000015
【図１４】
2018011839.tif 000016
【図１５】
2018011839.tif 000017
【図１６】
2018011839.tif 000018
【図１７】
2018011839.tif 000019
【図１８】
2018011839.tif 000020
【図１９】
2018011839.tif 000021
【図２０】
2018011839.tif 000022
【図２１】
2018011839.tif 000023
【図２２】
2018011839.tif 000024
【図２３】
2018011839.tif 000025
【図２４】
2018011839.tif 000026
【図２５】
2018011839.tif 000027
【図２６】
2018011839.tif 000028
【図２７】
2018011839.tif 000029
【図２８】
2018011839.tif 000030
【国際調査報告】
2018011839.tif 000031
2018011839.tif 000032
2018011839.tif 000033
2018011839.tif 000034