(57)【要約】【課題】アレイグループを有する１つ又は複数のストレージシステム及び１つ又は複数のストレージ仮想化装置を含むシステム内の記憶仮想化環境の構成を自動化する。【解決手段】管理端末が、論理ボリュームを割り当てるための仕様を満たすことが可能なアレイグループを選択する。管理端末は、そのボリュームが、選択されたストレージシステム上の選択されたアレイグループ内に割り当てられるよう要求する。管理端末は、最も軽い作業負荷を有するなど、所定の基準を満たすストレージ仮想化装置を決定し、適切な仮想化装置を選択する。管理端末は、ストレージシステム上に新たに割り当てられた論理ボリュームと、１つ又は複数の特定のクライアントホストとに対応付ける仮想ボリュームが、選択された仮想化装置上で作成されるよう要求する。【選択図】図２
2008033920.tif 000002
【特許請求の範囲】
【請求項１】
第１のネットワークを経由して、第２のネットワークを経由してホストコンピュータと通信することが可能な複数のストレージ仮想化装置と通信することが可能な複数のストレージシステムと、第３のネットワークを経由して前記ストレージシステム及び前記ストレージ仮想化装置と通信することが可能な管理コンピュータとを含むシステム内の前記ホストコンピュータに記憶ボリュームを割り当てる方法であって、
前記管理コンピュータによって、前記システム内の前記ストレージシステム上のストレージシステム情報、及び各アレイグループ内の利用可能な記憶領域を含む、各ストレージシステムが利用可能なアレイグループを収集するステップと、
前記管理コンピュータによって、前記システム内の前記仮想化装置上の仮想化装置情報を収集するステップと、
前記管理コンピュータで、特定サイズの記憶ボリュームが前記ホストコンピュータに割り当てられるようにする指示を受け取るステップと、
前記管理コンピュータによって、それに関して前記情報が収集された前記ストレージシステム上の前記アレイグループから第１のアレイグループを選択するステップと、
論理ボリュームが、前記管理コンピュータによって選択された前記第１のアレイグループ内の前記特定サイズに割り当てられるように要求するステップと、
前記管理コンピュータによって、最も軽い現在の作業負荷を有する仮想化装置を前記仮想化装置の中から決定するよう求める要求を前記システム内の各仮想化装置に送るステップと、
前記最も軽い現在の作業負荷を有する前記仮想化装置が、前記論理ボリュームに対応付けられ、前記ホストコンピュータによってアクセス可能な仮想ボリュームを作成することを要求するステップと
を含む方法。
【請求項２】
前記ストレージシステムからストレージシステム情報を収集する前記ステップが、各アレイグループのＲＡＩＤ特性に関する情報を収集するステップを含み、
前記アレイグループを選択する前記ステップが、前記管理コンピュータによって受け取られた前記記憶ボリュームに関する前記指示に含まれた特定のＲＡＩＤ特性を満たす前記アレイグループを選択するステップを含む、
請求項１に記載の方法。
【請求項３】
各仮想化装置のポートに関して、１秒当たりの入力動作及び出力動作の数を比較することによって、前記最も軽い現在の作業負荷を有する前記仮想化装置を前記仮想化装置の中から決定するステップ
をさらに含む、請求項１に記載の方法。
【請求項４】
前記管理コンピュータによって、その中に前記論理ボリュームが割り当てられた前記ストレージシステムから論理ボリュームＩＤを受け取るステップと、
前記仮想ボリュームを作成するための前記仮想化装置への要求の中に前記論理ボリュームＩＤを含むステップと、
前記管理コンピュータによって、前記仮想化装置によって作成された前記仮想ボリュームの仮想ボリュームＩＤを受け取るステップと
をさらに含む、請求項１に記載の方法。
【請求項５】
前記第１のネットワークとして第１のファイバチャネルネットワークを提供するステップと、
前記第１のネットワークとは別に前記第２のネットワークとして第２のファイバチャネルネットワークを提供するステップと、
前記第１及び第２のネットワークは別に前記第３のネットワークとしてローカルエリアネットワークを提供するステップと
をさらに含む、請求項１に記載の方法。
【請求項６】
各々が前記ホストコンピュータに仮想ボリュームを提示するためのＣＰＵとメモリとを含む、複数のインテリジェントスイッチ又はストレージコントローラを前記ストレージ仮想化装置として提供するステップ
をさらに含む、請求項１に記載の方法。
【請求項７】
ホストコンピュータと、
管理コンピュータと、
各々が、前記ホストコンピュータに、ストレージシステム上の論理ボリュームに対応付けられる仮想ボリュームを提示するよう構成され、各々が、前記ホストコンピュータと通信するためのフロントエンドインターフェースと、前記管理コンピュータと通信するための管理インターフェースと、バックエンドインターフェースとを含む、複数のストレージ仮想化装置と、
各々が、データを記憶するための記憶媒体と、前記記憶媒体とやりとりするデータ転送を制御するためのストレージコントローラとを含む、１つ又は複数の前記ストレージシステムであって、各前記ストレージコントローラが、前記ストレージ仮想化装置と通信するためのバックエンドインターフェースと、前記管理コンピュータと通信するための管理インターフェースとを含む、１つ又は複数のストレージシステムと
を備えるシステムであって、
各前記ストレージコントローラが、その上で実施される１つ又は複数のアレイグループを有し、前記アレイグループのうちの１つを用いて論理ボリュームを割り当てるように構成され、
前記管理コンピュータが、前記１つ又は複数のアレイグループから、前記ホストコンピュータに論理ボリュームを割り当てるよう求める要求に応じて論理ボリュームを割り当てるための特定条件を満たすアレイを決定するように構成され、
前記管理コンピュータが、所定の基準を満たす第１の仮想化装置を前記仮想化装置の中から決定し、前記第１の仮想化装置が前記論理ボリュームと前記ホストコンピュータとに対応付けられる仮想ボリュームを作成することを要求するようにさらに構成される、
システム。
【請求項８】
前記ストレージ仮想化装置及び前記ストレージシステムと通信するために前記管理コンピュータと接続する第１のネットワークと、
前記ストレージシステムと前記仮想化装置との間でデータの転送を可能にするために前記ストレージシステムを前記仮想化装置に接続する第２のネットワークと、
前記仮想化装置と前記ホストコンピュータとの間でデータの転送を可能にするために前記仮想化装置と前記ホストコンピュータとを接続する第３のネットワークと
をさらに含む、請求項７に記載のシステム。
【請求項９】
どの仮想化装置が前記所定の基準を満たすかを決定する場合、前記管理コンピュータが、前記管理コンピュータと通信している前記仮想化装置の各々から現在の作業負荷情報を収集することによって、前記仮想化装置のどの仮想化装置が最も軽い現在作業負荷を有するかを決定するように構成される、
請求項７に記載のシステム。
【請求項１０】
前記管理コンピュータが、前記管理コンピュータと通信している各ストレージシステム上に存在するアレイグループの利用可能な容量を決定するために、前記所定の条件を満たすアレイグループを選択する際に使用するための各アレイグループのＲＡＩＤ形式を決定するために、前記ストレージシステムから情報を収集するように構成される、
請求項７に記載のシステム。
【請求項１１】
前記管理コンピュータが、前記論理ボリュームの割り当てに続いて、アレイグループの前記利用可能な容量に関して前記ストレージシステムから収集された情報を更新するようにさらに構成される、
請求項１０に記載のシステム。
【請求項１２】
前記ストレージ仮想化装置が、各々、前記ホストコンピュータに前記仮想ボリュームを提示するためのＣＰＵとメモリとを含む、インテリジェントスイッチ又はストレージコントローラである、
請求項７に記載のシステム。
【請求項１３】
前記管理コンピュータが、どの仮想化装置が前記所定の基準を満たすかを決定する場合に、前記仮想化装置のどの仮想化装置が最も低い平均作業負荷を有するかを判断するように構成される、
請求項７に記載のシステム。
【請求項１４】
ホストコンピュータと通信することが可能な複数のストレージ仮想化装置と通信することが可能な１つ又は複数のストレージシステムであって、前記ストレージ仮想化装置は１つ又は複数のストレージシステムと、前記ストレージシステム及び前記ストレージ仮想化装置と通信することが可能な管理コンピュータとを含むシステム内の前記ホストコンピュータに記憶ボリュームを割り当てる方法であって、
特定条件を満たす記憶ボリュームの割当てを求める要求を受け取るステップと、
前記１つ又は複数のストレージシステム上の複数のアレイグループから、前記特定条件を満たすことが可能なアレイグループを選択するステップと、
論理ボリュームが前記特定条件に従って選択された前記アレイグループ内に割り当てられることを要求するステップと、
所定のパフォーマンス基準を満たす第１の仮想化装置を前記仮想化装置の中から決定するステップと、
前記第１の仮想化装置が、前記論理ボリュームに対応付けられ、前記ホストコンピュータによってアクセス可能な仮想ボリュームを作成することを要求するステップと
を含む方法。
【請求項１５】
前記特定条件がボリューム記憶容量を含み、
アレイグループを選択する前記ステップが、前記特定のボリューム記憶容量に対応するための十分な空き領域を有するアレイグループを選択するステップを含む、
請求項１４に記載の方法。
【請求項１６】
所定のパフォーマンス基準を満たす前記第１の仮想化装置を前記仮想化装置の中から決定する前記ステップが、前記管理コンピュータと通信している前記仮想化装置の各々から現在の作業負荷情報を収集することによって、前記仮想化装置の前記第１の仮想化装置が最も軽い現在の作業負荷を有することを判断するステップを含む、
請求項１４に記載の方法。
【請求項１７】
所定のパフォーマンス基準を満たす前記第１の仮想化装置を前記仮想化装置の中から決定する前記ステップが、前記仮想化装置の前記第１の仮想化装置が最も低い平均作業負荷を有することを決定するステップを含む、
請求項１４に記載の方法。
【請求項１８】
前記管理コンピュータと通信している各ストレージシステム上に存在する前記アレイグループの利用可能な容量を決定するために、かつ各アレイグループのＲＡＩＤタイプを決定するために前記ストレージシステムから情報を収集するステップ
をさらに含む、請求項１４に記載の方法。
【請求項１９】
前記論理ボリュームの割当てに続いて、前記アレイグループの前記利用可能な容量に関して前記ストレージシステムから収集された前記情報を更新するステップ
をさらに含む、請求項１８に記載の方法。
【請求項２０】
各々が前記ホストコンピュータに前記仮想ボリュームを提示するためのＣＰＵとメモリとを含む、複数のインテリジェントスイッチ又はストレージコントローラを前記ストレージ仮想化装置として提供するステップ
をさらに含む、請求項１４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般にストレージシステムに関し、より詳細には、仮想化ストレージシステム環境の自動化された管理及び構成に関する。
【背景技術】
【０００２】
ストレージ仮想化技術は、根底にある物理ストレージシステム構造を簡素化された形態でユーザに提示されるようにカプセル化することができ、ユーザに膨大な論理記憶プールを提供することができる。ストレージ仮想化の使用は、業務データ量の過度の増加又は異種デバイス管理など、大量データ記憶における現在の問題の解決に役立つことが期待される。しかし同時に、仮想化環境の構成自体が別のレベルの複雑さを引き起こし、ストレージ管理者はそのようにインテリジェントだが複雑な環境の管理を懸念する場合がある。したがって、仮想化ストレージ環境を構成する際に、管理者を支援する自動化ソリューションに対する需要が存在する。
【０００３】
一般的な方法によれば、ストレージの仮想化は、ホストコンピュータとストレージシステムとの間に「仮想化装置」又は「仮想化デバイス」と呼ばれるデバイスを挿入することにより実現され得る。仮想化装置はユーザに仮想ボリュームを示すと同時に、仮想ボリュームを１つ又は複数のストレージシステム上の１つ又は複数の実際の論理ボリュームに対応付けることが可能である。仮想化装置は、ストレージコントローラなど、外部のストレージシステムをそのバックエンドポートに接続する機能を有し、外部記憶上のボリュームがフロントエンド仮想化装置デバイス上に存在する単一ボリュームであるかのように外部の記憶デバイス内の記憶ボリュームに関連する仮想ボリュームを示す、別のアレイコントローラ型デバイスであってもよい。代替として、インテリジェントスイッチデバイスを仮想化装置のために用いてもよく、該デバイスはユーザに仮想ボリュームを示すために、接続されたそれぞれのストレージシステムをカプセル化することが可能であってもよい。
【０００４】
仮想化装置を用いることによって、ストレージネットワークは２つの部分に切り離される。すなわち、ホストコンピュータと、ホストに対応付けられる仮想ボリュームを示す１つ又は複数の仮想化装置との間に存在するネットワークのためのフロントエンドドメインなどの第１の部分、及び、１つ又は複数の仮想化装置と１つ又は複数のストレージシステムとの間に存在するネットワークのためのバックエンドドメインである第２の部分である。
【０００５】
フロントエンドネットワークは、通常、ホストがスイッチなどを経由して記憶アレイに接続されている非仮想化ストレージネットワークに類似しているように思える。しかし、仮想化装置上の仮想ボリュームをホストに示すためには、仮想ボリュームを個々の外部ストレージシステム上の実際の論理ボリュームに対応付けると同時に、管理者はバックエンドネットワーク、すなわち、仮想化装置とストレージシステムとの間に存在するネットワーク部分も実現し、構成しなければならない。仮想化ストレージ環境のバックエンドネットワーク部分は、仮想化ストレージ環境の管理に別のレベルの複雑さを加えるため、通常、管理者にとって構成が困難な部分である。
【０００６】
さらにある種のアプリケーションでは、仮想化装置は、シングルポイント障害を避けるために作業負荷と設計アーキテクチャとのバランスを保つことを可能にするなどの利点を提供する、クラスタ形式の構成に配置されてもよい。この場合、ストレージシステム上の実際の記憶ボリュームと、クラスタ内のどこかの仮想化装置上の仮想ボリュームとの間のボリュームマッピング動作が、管理者にとってより複雑な管理作業を引き起こす可能性もある。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
このように、仮想化ストレージシステムを作成することは知られているものの、先行技術では、管理者に支援を提供するためにこれらのシステムの管理及び構成を自動化するための対策は存在しない。したがって、仮想記憶環境を構築する場合に、ストレージネットワークのバックエンドドメインを構成する困難から管理者を解放する必要が存在する。仮想ボリューム割当ての構成を自動化し、作業負荷のバランスを保つために複数の仮想化装置が用いられる場合、仮想ボリュームをストレージシステム上の実際の論理記憶ボリュームに対応付ける必要も存在する。
【０００８】
関連技術には、Ｋａｎｏの米国特許出願公開第２００５０２８９３０８号、Ｅｇｕｃｈｉらの米国特許出願公開第２００５０１９３１６７号、及びＯｈｎｏらの米国特許出願公開第２００３０２２１０７７号が含まれ、その開示を、本明細書に参照としてその全体を組み込む。
【課題を解決するための手段】
【０００９】
一態様によれば、本発明は、ストレージ仮想化装置と通信することが可能な１つ又は複数のクライアントホスト及びストレージ仮想化装置と通信することが可能なストレージシステムを含むシステム内の仮想化ストレージ環境内で記憶ボリュームを割り当てる方法である。ストレージ管理サーバが、ストレージシステム及びストレージ仮想化装置と通信することも可能である。ストレージ管理サーバはストレージシステム及びストレージ仮想化装置から情報を収集する。管理者がストレージ管理サーバを経由してボリューム割当てを要求する場合、ストレージ管理サーバは特定条件を満たすストレージシステムの適切なアレイグループを見つけるために収集された情報を用い、次いでボリューム割当て要求をそのストレージシステムに送る。ストレージ管理サーバは、所定の基準を満たすストレージ仮想化装置を決定する。ストレージ管理サーバは、所定の基準を満たすストレージ仮想化装置に新たな仮想ボリュームを作成し、新たな仮想ボリュームをストレージシステム上の実際の新たに割り当てられた記憶ボリュームに、そしてクライアントホストにも対応付けるよう要求する。
【００１０】
本発明のこれらの及びその他の特徴及び利点は、本発明の好ましい実施形態に関する以下の詳細な説明から当業者に明らかになるであろう。
【００１１】
上記の一般的な説明、及び下記の好ましい実施形態の詳細な説明と共に、添付の図は企図されている本発明の最良の形態の好ましい実施形態の原理を例示かつ説明するのに役立つ。
【００１２】
本発明の以下の詳細な説明では、開示の一部を形成し、かつ限定としてではなく、例示として示され、その特定の実施形態によって本発明が実施され得る添付の図を参照する。図では、複数の図を通して同様の数字は実質的に同様の構成要素を示す。さらに、図、前述の議論、及び以下の説明は単に例示的かつ説明的であり、いかなるように本発明又は本出願の範囲を限定することも意図していない。
【発明を実施するための最良の形態】
【００１３】
図１は、本発明の一実施形態を実施し得る、物理コンピュータ及び記憶ハードウェアアーキテクチャの例を示す。全システムは、１つ又は複数のストレージシステム１００−１、１００−２、１つ又は複数のストレージ仮想化装置１２０−１、１２０−２、１つ又は複数のクライアントホスト１４０、及びストレージ管理サーバ１７０からなる。クライアントホスト１４０及びストレージ仮想化装置１２０は、フロントエンドネットワーク１５０を経由して通信することが可能である。フロントエンドネットワーク１５０は、高速ファイバチャネル（ＦＣ）記憶領域ネットワーク（ＳＡＮ）であることが好ましいが、ＳＣＳＩ、イーサネット（登録商標）、インターネット、無線などを含む、様々なネットワーク形式のいずれかであってもよい。ストレージ仮想化装置１２０も、バックエンドネットワーク１６０を経由してストレージシステム１００と通信することが可能である。バックエンドネットワーク１６０も高速ＦＣ  ＳＡＮであることが好ましいが、ＳＣＳＩ、イーサネット（登録商標）、インターネット、無線などを含む、様々なネットワーク形式のいずれかであってもよい。ストレージ管理サーバ１７０は、ローカルエリアネットワーク（ＬＡＮ）又はその他のネットワーク形式などの管理ネットワーク１８０を経由して、ストレージシステム１００及びストレージ仮想化装置１２０と通信することが可能である。
【００１４】
各ストレージシステム１００は、データを記憶するための記憶容量を提供し、コントローラ１０１と、１つ又は複数の記憶媒体１０４とを含む。コントローラ１０１はＣＰＵ１０５と、一時的にデータを記憶するためのキャッシュメモリを含んでよいメモリ１０６とを含んでもよい。ＦＣポートなどであってよいバックエンドネットワークインターフェース１０２は、バックエンドネットワーク１６０上でデータを送受信するためにコントローラ１０１内に含まれる。ネットワークインターフェースコントローラ（又はカード）（ＮＩＣ）などの管理ネットワークインターフェース１０３も、管理ネットワーク１８０上でデータを送受信するためにコントローラ１０１内に含まれる。記憶媒体１０４は、ハードディスクドライブ、フラッシュメモリ、光ディスク、テープなど、様々なデバイスのいずれかであってもよい。記憶媒体１０４は、記憶媒体１０４とバックエンドネットワーク１６０との間のデータ転送を制御するコントローラ１０１と通信するように接続される。
【００１５】
各ストレージ仮想化装置１２０はコントローラ１２１を含む。コントローラ１２１は、ＣＰＵ１２５と、一時的にデータを記憶するためのキャッシュメモリを含んでよいメモリ１２６とを含む。ストレージ仮想化装置１２０は、代替として、仮想化能力が組み込まれ、コントローラ１２１に関して示されたものと類似する機能要素を含むインテリジェントスイッチデバイスであってもよい。ストレージ仮想化装置１２０のコントローラ１２１は、ＦＣポートなどであってよく、クライアントホスト１４０との通信を可能にするためにフロントエンドネットワーク１５０に接続されるフロントエンドネットワークインターフェース１２２を含む。バックエンドネットワークインターフェース１２３もＦＣポートであってよく、ストレージシステム１００との通信を可能にするためにバックエンドネットワーク１６０に接続される。コントローラ１２１はまた、管理ネットワーク１８０との通信を可能にするために、ＮＩＣであってよい管理ネットワークインターフェース１２３を含む。
【００１６】
各クライアントホスト１４０は、ＣＰＵ１４１とメモリ１４２とを含む汎用コンピュータであってもよい。クライアントホスト１４０は、ＦＣネットワークの場合はホストバスアダプタ（ＨＢＡ）、又はイーサネット（登録商標）、インターネットプロトコルもしくは類似ネットワークの場合はＮＩＣであってよい、フロントエンドネットワークインターフェース１４４を用いて、フロントエンドネットワーク１５０に接続することが可能である。クライアントホストは、管理ネットワーク１８０及び管理コンピュータ１７０との通信のために追加のインターフェース１４３を含んでもよい。クライアントホスト１４０は、記憶サーバユーザ、すなわち１つ又は複数のストレージシステム１００内にデータを記憶するユーザ用の端末コンピュータとして機能する。
【００１７】
ストレージ管理サーバ１７０は、ＣＰＵ１７１、メモリ１７２、及びＮＩＣ１７３を含む汎用コンピュータサーバであってもよい。ストレージ管理サーバ１７０は、以下により詳しく説明される、ストレージ仮想化の管理及び構成を自動化するための手段も含む。
【００１８】
図２は、本発明の例示的なソフトウェア及び論理要素構成を示す。各ストレージシステム１００上に、少なくとも１つの論理記憶ボリュームが割り当てられる。本構成では、ストレージシステム１００−１は記憶ボリューム２１１及び２２１を含み、一方、ストレージシステム１００−２は記憶ボリューム２３１を含む。しかし、任意の数の記憶ボリュームを各ストレージシステム１００上に割り当ててもよく、示された実施形態は例示にすぎない点を理解されたい。
【００１９】
各記憶ボリューム２１１、２２１、２３１は、記憶サービスユーザのために割り当てられたデータ記憶容量の割当量である。記憶ボリュームは前述の様々な形式の媒体からなってもよく、ディスクドライブの場合、複数のディスクドライブ上にまたがって分散されてもよい。これにより、利用可能な容量は、複数の記憶媒体１０４の使用によって理論的に構築されることが可能であり、任意の単一記憶媒体１０４のサイズに制限されない。本明細書で用いられる場合、用語「記憶ボリューム」は一般的な記憶容量を示し、特定レベルの記憶量に制限されない。
【００２０】
各ストレージシステム１００は１つ又は複数のアレイグループ２１０を含み、その各々は、同じＲＡＩＤレベルなど、特定の特性を共有する記憶ボリュームのグループである。アレイグループ２１０は、１つ又は複数の物理記憶媒体の収集物から構成される論理要素であり、アレイグループから生成される記憶ボリュームの親要素であると考えられる。各アレイグループは、各アレイグループ内に残った利用可能な未使用容量を示す空き領域２１２の量も有する。ストレージシステム１００は、単一又は複数のアレイグループを有してよい。図２に示された例では、ストレージシステム１００−１は、割り当てられた論理ボリューム２１１を有しかつ空き領域２１２−１を有する第１のアレイグループ２１０−１を含む。ストレージシステム１００−１も、割り当てられた論理ボリューム２２１を有しかつ空き領域２１２−２を有する第２のアレイグループ２１０−２を含む。ストレージシステム１００−２は、割り当てられた論理ボリューム２３１と空き領域２１０−３とを含む単一のアレイグループ２１０−３のみを含む。
【００２１】
各ストレージシステム１００上の記憶動作プロバイダ２４１は、記憶管理の機能性の基本的な動作インターフェースを提供する。記憶動作プロバイダ２４１は、記憶ボリュームの所望のサイズ及び特性の割り当て又は記憶ボリュームのマッピング構成の提供などの機能を可能にする。記憶動作プロバイダ２４１はメモリ１０６内に記憶されたプログラム、又はその他のコンピュータ可読媒体であってもよく、かつストレージシステム１００上のＣＰＵ１０５によって実行されてもよい。
【００２２】
各ストレージ仮想化装置１２０は、クライアントホスト１４０に１つ又は複数の仮想ボリュームを提供することが可能である。示された例では、仮想化装置１２０−１はクライアントホスト１４０に仮想ボリューム２５１を提供し、一方、仮想化装置１２０−２はクライアントホスト１４０に仮想ボリューム２５２、２５３を提供する。各仮想ボリュームは、クライアントホストが利用可能なデータ記憶容量の、クライアントホスト１４０に対する論理表現である。仮想ボリュームは、仮想化装置１２０によってストレージシステム１００上の実際の記憶ボリュームと関連付けられる。例えば、単一の記憶ボリュームが単一の仮想ボリュームに対応付けられる。すなわち、図２では、論理ボリューム２１１は仮想ボリューム２５１に対応付けられ、論理ボリューム２２１は仮想ボリューム２５２に対応付けられ、さらに論理ボリューム２３１は仮想ボリューム２５３に対応付けられる。各仮想ボリュームは、実容量が仮想ボリューム上に置かれているかのように動作することになる。クライアントホスト１４０は、仮想ボリュームについてだけは知るが、ストレージシステム１００上に割り当てられている対応付けられた論理記憶ボリュームについては決して知ることがない（又は知る必要がない）。したがって、本発明の仮想化技術は、クライアントホスト１４０に対してトランスペアレントな、高まる記憶ニーズを満たすために、より多くの記憶容量を加えること、又はバックエンド上の実際のストレージシステムを交換することを可能にし、クライアントホスト１４０にとっては単に仮想化装置の容量が強化されたかのように見えるようになる、さらに、本発明の仮想化技術によれば、たとえ実際のストレージシステム自体が、異なるベンダーからのものであるか又は異なる記憶形式を使用しているなど、異種である場合でも、仮想ボリュームは、複製、バックアップなど、様々な動作の間、同種環境にある場合と同じ方法で処理され得る。
【００２３】
仮想化動作プロバイダ２４３は、各仮想化装置１２０上に提供される。仮想化動作プロバイダ２４３は、仮想記憶管理の機能性のために基本的な動作インターフェースを提供する。仮想化動作プロバイダ２４３は、新たな仮想ボリュームを生成する、又は要求に応じて現在の仮想化装置作業負荷の測定をもたらすなどの機能を可能にする。仮想化動作プロバイダ２４３は、メモリ１２６上又はその他のコンピュータ可読媒体上に記憶されたプログラムとして実施され、仮想化装置１２０内のＣＰＵ１２５によって実行されてもよい。
【００２４】
ストレージ管理サーバ１７０は、仮想化ストレージマネージャ２６０を含む。仮想化ストレージマネージャ２６０は、メモリ１７２上又はその他のコンピュータ可読媒体上に記憶されたプログラムであり、本発明では、管理者からの記憶ボリューム割当て要求に従ってストレージ仮想化構成を自動化するために実施される。本明細書で参照されるストレージ仮想化構成は、適切なストレージシステム１００から実際の記憶ボリュームを割り当てること、適切な仮想化装置１２０上に対応する仮想ボリュームを作成すること、仮想ボリュームを実際の記憶ボリュームに対応付けること、及び仮想ボリュームを適切なクライアントホスト１４０に対応付けることを含む。
【００２５】
これら管理動作及び構成動作を実現するために、以下により詳しく説明されるように、ストレージ管理サーバ１７０はストレージシステムプロファイルテーブル２６１及び仮想化装置プロファイルテーブル２６２を記憶する。ストレージシステムプロファイルテーブル２６１は、ストレージシステム１００の各々から開示されるすべてのアレイグループ情報の記録を維持する。ストレージシステムプロファイルテーブル２６１は、各アレイグループ２１０の特性プロパティ及び空き領域サイズを含む。仮想化装置プロファイルテーブル２６２は、各ストレージ仮想化装置１２０から開示される仮想化装置情報の記録を含む。
【００２６】
図３は、ストレージシステムプロファイルテーブル２６１の例示的なデータ構造を示す。ストレージシステムプロファイルテーブルは以下のフィールドを含む。
【００２７】
ストレージシステムＩＤ５１０：ストレージシステムの識別。この情報は、アクセスのためのストレージシステムのネットワークアドレスなどの位置情報であってもよい。
【００２８】
アレイグループＩＤ５２０：ストレージシステム１００内のアレイグループ２１０の識別。
【００２９】
ＲＡＩＤレベル５３０（及びその他の特性５４０）：ＲＡＩＤレベルなど、アレイグループ２１０の特性。データ保持期間、ＲＡＩＤグループ内の特定のディスクレイアウト、利用率など、アレイグループのその他の特性及びプロパティ５４０が含まれてもよい。
【００３０】
空き領域５５０：新たな記憶ボリュームを割り当てるための利用可能な記憶領域を示す、特定のアレイグループ２１０内の利用可能な空き領域のサイズ。
【００３１】
ストレージシステムプロファイルテーブル２６１の行５９１、５９２、５９３は、ストレージシステムプロファイルテーブル２６１内で見つかる例示的データを示す。例えば、行５９１は、アレイグループＩＤ「１」を有するアレイグループを含むストレージシステムＩＤ「１００−１」を有するストレージシステムの記録を示し、アレイグループ＃１のＲＡＩＤレベルは「ＲＡＩＤ０」であり、アレイグループ＃１は新たな記憶ボリュームに割り当てるために利用可能な残る「８，１５０，２３８，７３２，５７８」バイトの空き領域を有する。ストレージシステムプロファイルテーブル２６１は、管理者から受け取られた要求特徴及びサイズに基づき新たな記憶ボリュームを割り当てるために適切なアレイグループ２１０の位置を突き止めることを可能にする目的で、仮想化ストレージマネージャ２６０によって生成され、参照される。ストレージシステムプロファイルテーブル２６１内の記録は、仮想化ストレージマネージャ２６０からの問合せに応じて、各ストレージシステム１００により開示された情報によって生成される。
【００３２】
図４は、仮想化装置プロファイルテーブル２６２の例示的なデータ構造を示す。仮想化装置プロファイルテーブル２６２は、仮想化ストレージマネージャ２６０による使用及び構成のために利用可能な各仮想化装置の仮想化装置ＩＤ６１０を少なくとも含む。仮想化装置ＩＤ６１０は、システム内の各仮想化装置１２０を識別するために用いられ、アクセスし、問合せを仮想化装置１２０に送るための仮想化装置のネットワークアドレス情報であることが好ましい。仮想化装置プロファイルテーブル２６２内のその他の情報は、以下により詳しく説明されるように、現在の作業負荷も考慮されるが、仮想化装置１２０を選択する際に考慮に入れることができるように、仮想化装置上の平均作業負荷６３０を含んでもよい。行６９１、６９２は、仮想化装置プロファイルテーブル２６２内に含まれてよい例示的な情報を示す。例えば、行６９１はその仮想化装置ＩＤが「仮想化装置１２０−１」であり、その平均作業負荷が「Ｘ」である仮想化装置１２０−１の記録を示す。仮想化装置プロファイルテーブル２６２は、ネットワーク１８０上に問合せを送ることにより、かつ仮想化装置１２０からの応答内に提供される情報を収集することにより、仮想化ストレージマネージャ２６０によって生成される。仮想化ストレージマネージャ２６０は、仮想化装置の現在の作業負荷及び／又は平均作業負荷などのその他の基準など、所定の基準に従って、新たな仮想ボリュームの作成を要求するために適切なストレージ仮想化装置１２０を選択する場合、ネットワーク上に存在するストレージ仮想化装置を突き止めるために仮想化装置プロファイルテーブル２６２を参照する。
【００３３】
図５は、ストレージシステムプロファイルテーブル２６１を作成かつ／又は更新するための例示的な処理を示す。この処理は仮想化ストレージマネージャ２６０によって実行され、以下のステップを含む。
【００３４】
ステップ１５１０：処理はバックエンドストレージネットワーク１６０上に存在するすべてのストレージシステムを発見する。発見は、例えば、サービスロケーションプロトコルを用いることによってなど、一般的な機構を用いることによって実行され得る。
【００３５】
ステップ１５２０：処理はステップ１５１０の結果からストレージシステムを選択する。すべてのストレージシステムがすでに処理に向けて選択されている場合、処理は終了する。
【００３６】
ステップ１５３０：処理は、選択されたストレージシステム１００内のアレイグループ２１０を収集し、識別するための要求を、選択されたストレージシステム１００の記憶動作プロバイダ２４１に送る。
【００３７】
ステップ１５４０：処理はステップ１５３０の結果からアレイグループ２１０を選択する。すべてのアレイグループ２１０がすでに処理されている場合、システム内の次のストレージシステム１００を処理するために処理はステップ１５２０に戻る。
【００３８】
ステップ１５５０：処理は、選択されたアレイグループの特性及び選択されたアレイグループの空き領域サイズ２１２を示すプロパティを取得するための要求を、選択されたアレイグループ２１０が属する、ストレージシステム１００の記憶動作プロバイダ２４１に送る。
【００３９】
ステップ１５６０：処理は、ステップ１５５０で取得された選択されたアレイグループの特徴の値をもつ記録を挿入する（または、そのアレイグループに関する記録がすでに存在する場合は更新する）。処理は次いで、次のアレイグループを処理するためにステップ１５４０に戻る。すべての発見されたストレージシステム１００に関するすべてのアレイグループ２１０が処理されている場合、ストレージシステムプロファイルテーブル２６１は作成／更新されており、処理は終了する。
【００４０】
図６は仮想化装置プロファイルテーブル２６２を作成かつ／又は更新するための例示的な処理を示す。処理は仮想化ストレージマネージャ２６０によって実行され、以下のステップを含む。
【００４１】
ステップ１６１０：処理は、フロントエンドストレージネットワーク１５０上に存在するすべてのストレージ仮想化装置１２０を発見する。発見は、例えば、サービスロケーションプロトコルなど、一般的な機構を用いることによって実行され得る。
【００４２】
ステップ１６２０：処理はステップ１６１０で取得された結果からストレージ仮想化装置を選択する。結果内のすべてのストレージ仮想化装置がすでに処理されている場合、処理は終了する。
【００４３】
ステップ１６３０：処理はステップ１６２０で取得されたストレージ仮想化装置１２０の識別子をもつ記録を挿入する（または、そのストレージ仮想化装置に関する記録がすでに存在する場合は更新する）。平均作業負荷が変更している場合、それらの記録も更新され得る。処理は次いで、次のストレージ仮想化装置１２０の処理のためにステップ１６２０に戻る。システム内のすべての仮想化装置が処理されている場合、処理は終了する。
【００４４】
図７は、ストレージシステム１００上の管理者、仮想化ストレージマネージャ２６０、及び記憶動作プロバイダ２４１と、仮想化装置１２０上の仮想化装置動作プロバイダ２４３との間で実行される記憶ボリュームを割り当てるための例示的な処理を示す。処理は以下のステップを含む。
【００４５】
ステップ１７０１：管理者は仮想化ストレージマネージャ２６０に、所望のサイズ、特性、及び新たなボリュームが対応付けられる、又はそうでない場合はアクセス可能にされるクライアントホストＩＤを含む新たな記憶ボリュームを要求する。
【００４６】
ステップ１７０２：仮想化ストレージマネージャ２６０は、１つ又は複数の特定条件を満たすアレイグループ２１０をストレージシステムプロファイルテーブル２６１から選択する。好ましい実施形態では、特定条件は、少なくとも十分利用可能な空き領域を有することを含む。その他の特定条件は、アレイグループが特別なＲＡＩＤ形式に適合することであってもよく、又は管理者が要求するその他の特定特性を含む。
【００４７】
ステップ１７０３：仮想化ストレージマネージャ２６０は、ステップ１７０２で選択されたアレイグループ２１０を含む要求をストレージシステム１００の記憶動作プロバイダ２４１に送る。記憶動作プロバイダ２４１への要求は、新たな論理ボリュームの要求されたサイズ及び特徴を含む。
【００４８】
ステップ１７０４：記憶動作プロバイダ２４１は、受け取られた要求に応じて新たな論理ボリュームを割り当て、新たに割り当てられた記憶ボリュームに関するボリュームＩＤを仮想化ストレージマネージャ２６０に戻す。
【００４９】
ステップ１７０５：新たに割り当てられたボリュームを作成するために選択されたアレイグループ２１０の空き領域サイズは新たに割り当てられたボリュームのサイズだけ減少しているため、仮想化ストレージマネージャ２６０は、上の図５で説明されたように、ストレージシステムプロファイルテーブルを更新するための処理を実行する。ステップ１７０５は、以下のステップ１７１２の完了以降も実行し得る。
【００５０】
ステップ１７０６：仮想化ストレージマネージャ２６０は、次いで仮想化装置プロファイルテーブル２６２からストレージ仮想化装置を選択する。この選択は、現在の作業負荷及び／又は平均作業負荷など、１つ又は複数の所定の基準に基づいて行ってもよい。図７で例示される実施形態では、仮想化ストレージマネージャ２６０は、所定の基準として最も低い現在の作業負荷を有する仮想化装置を選択するために、システム内の各仮想化装置１２０の現在の作業負荷を検査する。
【００５１】
ステップ１７０７：仮想化ストレージマネージャ２６０は、選択されたストレージ仮想化装置１２０の現在の作業負荷を検査するよう、選択された仮想化装置１２０上の仮想化動作プロバイダ２４３に要求を送る。ストレージ仮想化装置１２０の作業負荷を測定するために用いることができるいくつかの測定基準が存在し、本発明は特定の測定基準又は任意の特定の組合せに限定されない。具体的に使用される１つの測定基準は、仮想化装置のポート上で毎秒行われる、全入力及び出力動作の測定であるポートＩＯＰＳ（１秒当たりの入力／出力動作）である。別の測定基準は、キャッシュ可用性、仮想ボリューム上のエラーなどを含んでもよい。
【００５２】
ステップ１７０８：ストレージ仮想化装置上の仮想化動作プロバイダ２４３は、要求された測定基準を仮想化ストレージマネージャ２６０に戻す。仮想化ストレージマネージャ２６０は、取得された測定基準値を保持し、次いで、すべての仮想化装置上の作業負荷が検査されるまでステップ１７０６及び１７０７を繰り返す。作業負荷のすべてが検査されると、処理はステップ１７０９に進む。別の実施形態では、ボリュームが作成されるべき時点で現在の作業負荷を検査するのではなく、作業負荷はある期間にわたって収集されてもよく、平均作業負荷が取得される。この平均作業負荷は、次いでどの仮想化装置を選択するかを決定する際に考慮事項として使用されてよい。
【００５３】
ステップ１７０９：ステップ１７０６から１７０８で取得された結果に基づき、仮想化ストレージマネージャ２６０は、最も軽い現在の作業負荷を有するストレージ仮想化装置、あるいは予め定義された基準より低くかつ／又はその他の点で、過去の平均作業負荷など、上記で議論された所定の考慮事項を満たす現在の作業負荷を有する仮想化装置を選択する。
【００５４】
ステップ１７１０：仮想化ストレージマネージャ２６０は、ステップ１７０９で選択されたストレージ仮想化装置１２０上の仮想化動作プロバイダ２４３に、新たな仮想ボリュームの作成を要求し、ステップ１７０３及び１７０４でストレージシステム上で作成された新たに割り当てられた記憶ボリュームに新たな仮想ボリュームを対応付けるよう、要求を送る。この要求は１つ又は複数のクライアントホスト１４０に仮想ボリュームを対応付けるための、又はそうでない場合は、仮想ボリュームをステップ１７０１で管理者の元の要求内で管理者によって特定された１つ又は複数のクライアントホスト１４０にアクセス可能にするための情報も提供する。
【００５５】
ステップ１７１１：作成され、対応付けられた仮想ボリュームに関する仮想ボリュームＩＤは、仮想化装置動作プロバイダ２４３によって仮想化ストレージマネージャ２６０に戻される。
【００５６】
ステップ１７１２：仮想化ストレージマネージャ２６０は取得された仮想ボリュームＩＤを管理者に戻し、処理は完了する。
【００５７】
前述の説明から、本発明は、ストレージ仮想化技術が採用される場合、システム内の記憶の管理及び構成に役立つことが明らかになるであろう。本発明は、それぞれのストレージシステム情報及び仮想化装置情報の収集及び組織を自動化し、新たな記憶ボリュームの割当て、実際の記憶ボリュームと仮想ボリュームとの間の対応付け、仮想ボリュームとクライアントホストとの間の対応付けを自動化する。さらに、複数の仮想化装置が存在する場合、本発明はその相対的作業負荷を決定し、又は仮想化装置の他のプロパティを考慮し、適切な仮想化装置上に仮想ボリュームを作成するよう要求する。本発明はアレイベースの仮想化装置又はインテリジェントスイッチベースの仮想化装置を用いてシステムに応用され得る。
【００５８】
したがって、本発明は、仮想化環境を構築するために、バックエンドドメインストレージネットワークを構成する努力から管理者を解放することが理解できる。また、本発明は仮想ボリューム割当ての構成を自動化し、作業負荷のバランスを保つために複数の仮想化装置が利用可能である場合、ストレージシステム上の実際の記憶ボリュームに対応付け、その結果、仮想化装置の総合作業負荷のより良いバランスなど、ある種の考慮事項を実現するために仮想ボリュームが仮想化装置に割り当てられることになる。さらに本明細書では、特定の実施形態が例示され、説明されているが、当業者には、同じ目的を実現するために計算された任意の構成が開示された特定の実施形態の代わりになり得ることを理解されよう。この開示は、本発明の任意の及びすべての適合形態又は変更形態を網羅することを意図されており、上記の説明は限定的な形ではなく、例示的な形で行われていることを理解されたい。したがって、本発明の範囲は、添付の特許請求の範囲の権利が与えられたすべての均等物の全範囲と共に、そのような特許請求の範囲を参照して適切に決定されるべきである。
【図面の簡単な説明】
【００５９】
【図１】本発明の一実施形態の例示的な物理ハードウェアアーキテクチャを示す図である。
【図２】図１の実施形態の例示的なソフトウェア及び論理要素構造を示す図である。
【図３】ストレージシステムプロファイルテーブルの例示的なデータ構造を示す図である。
【図４】仮想化装置プロファイルテーブルの例示的なデータ構造を示す図である。
【図５】ストレージシステムプロファイルテーブルを作成／更新するための例示的な処理を示す図である。
【図６】仮想化装置プロファイルテーブルを作成／更新するための例示的な処理を示す図である。
【図７】記憶ボリュームを割り当てるための例示的な処理を示す図である。
【図１】
2008033920.tif 000003
【図２】
2008033920.tif 000004
【図３】
2008033920.tif 000005
【図４】
2008033920.tif 000006
【図５】
2008033920.tif 000007
【図６】
2008033920.tif 000008
【図７】
2008033920.tif 000009
【外国語明細書】
2008033920000001.pdf