(57)【特許請求の範囲】
【請求項１】
複数の記憶装置と、
各前記記憶装置を組み合わせて冗長化され、それぞれを識別するための論理ボリューム識別情報が割り当てられた論理ボリュームと、
それぞれを識別するための仮想ボリューム識別情報が割り当てられた、前記論理ボリュームを論理分割してなる仮想ボリュームと、
少なくとも１つの仮想マシンを識別するために各仮想マシンに割り当てられた仮想マシン識別情報と、前記論理ボリューム識別情報とを関連づけて保持する論理ボリューム情報記憶手段と、
論理ボリューム制御手段と
を含み、
前記論理ボリューム制御手段は、
１つの前記仮想マシンを示す第１の仮想マシン識別情報と、その仮想マシンに割り当てる第１の仮想ボリュームの大きさを示す第１の容量値とを取得し、
前記論理ボリューム情報記憶手段に前記第１の仮想マシン識別情報に関連づけられた論理ボリューム識別情報が存在する場合は、その論理ボリューム識別情報が示す第１の論理ボリュームを前記第１の容量値と同じ分だけ前記記憶装置の未使用領域を組み合わせて論理的に拡張し、その拡張した部分を前記第１の仮想ボリュームとし、
一方、前記論理ボリューム情報記憶手段に前記第１の仮想マシン識別情報に関連づけられた論理ボリューム識別情報が存在しない場合は、各前記記憶装置の未使用領域を組み合わせて前記第１の容量値と同じ大きさの第２の論理ボリュームを作成し、その作成した前記第２の論理ボリュームを前記第１の仮想ボリュームとし、前記第１の仮想マシン識別情報に関連づけて前記第２の論理ボリュームを示す論理ボリューム識別情報を前記論理ボリューム情報記憶手段に登録する
ストレージ装置。
【請求項２】
前記論理ボリューム制御手段は、拡張した前記第１の論理ボリュームの論理的な領域を示す第１の論理領域の値、または、前記第２の論理ボリュームの論理的な領域を示す第２の論理領域の値を、各々前記第１または第２の論理ボリュームが示す論理ボリューム識別情報と関連づけて前記論理ボリューム情報記憶手段に登録する
請求項１に記載のストレージ装置。
【請求項３】
前記仮想マシン識別情報と、前記論理ボリューム識別情報と、前記仮想ボリューム識別情報とを関連付けて保持する仮想ボリューム情報記憶手段をさらに含み、
前記論理ボリューム制御手段は、
前記第１の論理ボリュームを拡張した場合は、前記第１の仮想ボリュームを示す仮想ボリューム識別情報と、前記第１の仮想マシン識別情報と、前記第１の論理ボリュームを示す論理ボリューム識別情報とを関連づけて前記仮想ボリューム情報記憶手段に登録し、
一方、前記第２の論理ボリュームを作成した場合は、前記第１の仮想ボリュームを示す仮想ボリューム識別情報と、前記第１の仮想マシン識別情報と、前記第２の論理ボリュームを示す論理ボリューム識別情報とを関連づけて前記仮想ボリューム情報記憶手段に登録する
請求項１または２に記載のストレージ装置。
【請求項４】
前記論理ボリューム制御手段は、前記第１の仮想ボリュームの前記第１または第２の論理ボリューム内での仮想的な領域を示す第１の仮想領域の値を、前記第１の仮想ボリュームを示す仮想ボリューム識別情報と関連づけて前記仮想ボリューム情報記憶手段に登録する
請求項３に記載のストレージ装置。
【請求項５】
それぞれを識別するための仮想マシン識別情報が割り当てられた少なくとも１つの仮想マシンと、
ストレージ制御装置と、
前記仮想マシンおよび前記ストレージ制御装置に接続したストレージ装置と
を備え、
前記ストレージ制御装置は、１つの前記仮想マシンを示す第１の仮想マシン識別情報と、その仮想マシンに割り当てる第１の仮想ボリュームの大きさを示す第１の容量値とを含む仮想ボリューム割り当て指示を前記ストレージ装置に送付し、
前記ストレージ装置は、
複数の記憶装置と、
各前記記憶装置を組み合わせて冗長化され、それぞれを識別するための論理ボリューム識別情報が割り当てられた論理ボリュームと、
それぞれを識別するための仮想ボリューム識別情報が割り当てられた、前記論理ボリュームを論理分割してなる仮想ボリュームと、
前記仮想マシン識別情報と前記論理ボリューム識別情報とを関連づけて保持する論理ボリューム情報記憶手段と、
論理ボリューム制御手段と
を含み、
前記論理ボリューム制御手段は、前記仮想ボリューム割り当て指示を取得し、前記論理ボリューム情報記憶手段に前記第１の仮想マシン識別情報に関連づけられた論理ボリューム識別情報が存在する場合は、その論理ボリューム識別情報が示す第１の論理ボリュームを前記第１の容量値と同じ分だけ前記記憶装置の未使用領域を組み合わせて論理的に拡張し、その拡張した部分を前記第１の仮想ボリュームとし、一方、前記論理ボリューム情報記憶手段に前記第１の仮想マシン識別情報に関連づけられた論理ボリューム識別情報が存在しない場合は、各前記記憶装置の未使用領域を組み合わせて前記第１の容量値と同じ大きさの第２の論理ボリュームを作成し、その作成した前記第２の論理ボリュームを前記第１の仮想ボリュームとし、前記第１の仮想マシン識別情報に関連づけて前記第２の論理ボリュームを示す論理ボリューム識別情報を前記論理ボリューム情報記憶手段に登録する
仮想ボリューム制御システム。
【請求項６】
前記ストレージ装置は、前記仮想マシン識別情報と、前記論理ボリューム識別情報と、前記仮想ボリューム識別情報とを関連付けて保持する仮想ボリューム情報記憶手段をさらに含み、
前記論理ボリューム制御手段は、
前記第１の論理ボリュームを拡張した場合は、前記第１の仮想ボリュームを示す仮想ボリューム識別情報と、前記第１の仮想マシン識別情報と、前記第１の論理ボリュームを示す論理ボリューム識別情報とを関連づけて前記仮想ボリューム情報記憶手段に登録し、
一方、前記第２の論理ボリュームを作成した場合は、前記第１の仮想ボリュームを示す仮想ボリューム識別情報と、前記第１の仮想マシン識別情報と、前記第２の論理ボリュームを示す論理ボリューム識別情報とを関連づけて前記仮想ボリューム情報記憶手段に登録する
請求項５に記載の仮想ボリューム制御システム。
【請求項７】
前記論理ボリューム制御手段は、前記第１の仮想ボリュームを示す仮想ボリューム識別情報と、その仮想ボリュームの前記第１または第２の論理ボリューム内での仮想的な領域を示す第１の仮想領域の値とを含む仮想ボリューム割り当て完了通知を、前記ストレージ制御装置に送付する
請求項５または６に記載の仮想ボリューム制御システム。
【請求項８】
ストレージ装置が、
１つの仮想マシンを示す第１の仮想マシン識別情報と、その仮想マシンに割り当てる第１の仮想ボリュームの大きさを示す第１の容量値とを取得し、
論理ボリューム情報記憶手段に前記第１の仮想マシン識別情報に関連づけられた論理ボリュームを示す論理ボリューム識別情報が存在する場合は、その論理ボリューム識別情報が示す第１の論理ボリュームを前記第１の容量値と同じ分だけ複数の記憶装置の未使用領域を組み合わせて論理的に拡張し、その拡張した部分を前記第１の仮想ボリュームとし、
一方、前記論理ボリューム情報記憶手段に前記第１の仮想マシン識別情報に関連づけられた論理ボリューム識別情報が存在しない場合は、各前記記憶装置の未使用領域を組み合わせて前記第１の容量値と同じ大きさの第２の論理ボリュームを作成し、その作成した前記第２の論理ボリュームを前記第１の仮想ボリュームとし、前記第１の仮想マシン識別情報に関連づけて前記第２の論理ボリュームを示す論理ボリューム識別情報を前記論理ボリューム情報記憶手段に登録する
仮想ボリューム制御方法。
【請求項９】
前記ストレージ装置が、
前記第１の論理ボリュームを拡張した場合は、前記第１の仮想ボリュームを示す仮想ボリューム識別情報と、前記第１の仮想マシン識別情報と、前記第１の論理ボリュームを示す論理ボリューム識別情報とを関連づけて仮想ボリューム情報記憶手段に登録し、
一方、前記第２の論理ボリュームを作成した場合は、前記第１の仮想ボリュームを示す仮想ボリューム識別情報と、前記第１の仮想マシン識別情報と、前記第２の論理ボリュームを示す論理ボリューム識別情報とを関連づけて前記仮想ボリューム情報記憶手段に登録する
請求項８に記載の仮想ボリューム制御方法。
【請求項１０】
１つの仮想マシンを示す第１の仮想マシン識別情報と、その仮想マシンに割り当てる第１の仮想ボリュームの大きさを示す第１の容量値とを取得する取得処理と、
論理ボリューム情報記憶手段に前記第１の仮想マシン識別情報に関連づけられた論理ボリューム識別情報が存在する場合は、その論理ボリューム識別情報が示す第１の論理ボリュームを前記第１の容量値と同じ分だけ複数の記憶装置の未使用領域を組み合わせて論理的に拡張し、その拡張した部分を前記第１の仮想ボリュームとする仮想ボリューム拡張処理と、
一方、前記論理ボリューム情報記憶手段に前記第１の仮想マシン識別情報に関連づけられた論理ボリューム識別情報が存在しない場合は、各前記記憶装置の未使用領域を組み合わせて前記第１の容量値と同じ大きさの第２の論理ボリュームを作成し、その作成した前記第２の論理ボリュームを前記第１の仮想ボリュームとし、前記第１の仮想マシン識別情報に関連づけて前記第２の論理ボリュームを示す論理ボリューム識別情報を前記論理ボリューム情報記憶手段に登録する仮想ボリューム作成処理と
をコンピュータに実行させる仮想ボリューム制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置、仮想ボリューム制御システムおよび仮想ボリューム制御方法に関し、特に、仮想マシンに仮想ボリュームを割り当てるストレージ装置、仮想ボリューム制御システムおよび仮想ボリューム制御方法に関する。
【背景技術】
【０００２】
ホスト・コンピュータとストレージ装置を結ぶネットワークであるＳＡＮ（「Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ」の略称）において、ホスト・コンピュータは、ブロックレベル・プロトコル（例えば、ファイバチャネル（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ）など。）を用いて接続先のストレージ装置とデータをやり取りする。また、ストレージ装置としてディスクアレイ装置が利用されることも多い。ディスクアレイ装置は、論理的なストレージであるＬＵ（「Ｌｏｇｉｃａｌ  Ｕｎｉｔ」の略称）をホスト・コンピュータに提供する。
【０００３】
また、ホスト・コンピュータやサーバの仮想化技術が一般的になり、システムによっては数百〜数万といった規模で仮想マシン（以降、「ＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）」とも言う。）が作成される。そして、各ＶＭがそれぞれ複数のストレージを必要とする。管理者にとって、これら多数のＶＭが使用するストレージを、論理的なストレージへマッピングし、人手で管理することは非常に手間がかかる。
【０００４】
特許文献１に記載の技術では、論理ボリューム（ＬＵに相当する。）と、論理ボリュームを論理分割してなる複数の仮想ボリュームとを関連づけたボリューム管理情報を用意する。そして、ＶＭが要求した複数のボリュームを、仮想ボリュームとしてストレージ装置内の論理ボリュームの空き領域（未使用領域）に自動的に割り当てる。そして、割り当てた仮想ボリュームを、要求したＶＭに関連づけて利用可能とする。これにより、必要な大きさのボリュームを、必要な数だけ、必要なタイミングで自動的にＶＭに割り当てることができ、管理者の作業負荷が大幅に削減される。
【０００５】
特許文献２には、仮想装置（ＶＭに相当する。）の構成変更（追加、削除、移動）が行われた場合でも、仮想論理ボリュームの割り当てや記憶領域のパーティショニング作業などが発生せず、ユーザの作業負荷を軽減することができる技術が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−０７９２４５号公報
【特許文献２】特開２０１０−１４０２７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１では、論理ボリュームにアクセス可能なＶＭの識別情報をボリュームセキュリティ情報として保持している。しかしながら、ＶＭが要求した複数のボリュームに仮想ボリュームを割り当てるときに、要求元のＶＭを示す識別情報がボリュームセキュリティ情報に存在しない場合の処理の記載が無い。そのため、要求元のＶＭを示す識別情報がボリュームセキュリティ情報に存在しない場合は、そのＶＭに仮想ボリュームを割り当てることができないという問題がある。
【０００８】
また、実際の物理ディスクに空き領域がある場合でも、論理ボリュームに割り当てられた空き領域が無いか、または必要な容量より少ない場合は、仮想ボリュームの割り当て処理が失敗してしまう、という問題がある。
【０００９】
なお、特許文献２には、１つの仮想装置に仮想ボリュームを割り当てる場合の構成変更の技術については、何ら記載がない。
【００１０】
本発明の目的は、１つのＶＭ（仮想マシン）に仮想ボリュームを割り当てるときに、そのＶＭに関連づけられた論理ボリュームが無い場合でも、また、関連づけられた論理ボリュームに仮想ボリュームを追加するための空きが無い場合でも、新たな仮想ボリュームをＶＭに割り当てることができるストレージ装置、仮想ボリューム制御システムおよび仮想ボリューム制御方法を提供することにある。
【課題を解決するための手段】
【００１１】
本発明のストレージ装置は、
複数の記憶装置と、
各前記記憶装置を組み合わせて冗長化され、それぞれを識別するための論理ボリューム識別情報が割り当てられた論理ボリュームと、
それぞれを識別するための仮想ボリューム識別情報が割り当てられた、前記論理ボリュームを論理分割してなる仮想ボリュームと、
少なくとも１つの仮想マシンを識別するために各仮想マシンに割り当てられた仮想マシン識別情報と、前記論理ボリューム識別情報とを関連づけて保持する論理ボリューム情報記憶手段と、
論理ボリューム制御手段と
を含み、
前記論理ボリューム制御手段は、
１つの前記仮想マシンを示す第１の仮想マシン識別情報と、その仮想マシンに割り当てる第１の仮想ボリュームの大きさを示す第１の容量値とを取得し、
前記論理ボリューム情報記憶手段に前記第１の仮想マシン識別情報に関連づけられた論理ボリューム識別情報が存在する場合は、その論理ボリューム識別情報が示す第１の論理ボリュームを前記第１の容量値と同じ分だけ前記記憶装置の未使用領域を組み合わせて論理的に拡張し、その拡張した部分を前記第１の仮想ボリュームとし、
一方、前記論理ボリューム情報記憶手段に前記第１の仮想マシン識別情報に関連づけられた論理ボリューム識別情報が存在しない場合は、各前記記憶装置の未使用領域を組み合わせて前記第１の容量値と同じ大きさの第２の論理ボリュームを作成し、その作成した前記第２の論理ボリュームを前記第１の仮想ボリュームとし、前記第１の仮想マシン識別情報に関連づけて前記第２の論理ボリュームを示す論理ボリューム識別情報を前記論理ボリューム情報記憶手段に登録する。
【００１２】
また、本発明の仮想ボリューム制御システムは、
それぞれを識別するための仮想マシン識別情報が割り当てられた少なくとも１つの仮想マシンと、
ストレージ制御装置と、
前記仮想マシンおよび前記ストレージ制御装置に接続したストレージ装置と
を備え、
前記ストレージ制御装置は、１つの前記仮想マシンを示す第１の仮想マシン識別情報と、その仮想マシンに割り当てる第１の仮想ボリュームの大きさを示す第１の容量値とを含む仮想ボリューム割り当て指示を前記ストレージ装置に送付し、
前記ストレージ装置は、
複数の記憶装置と、
各前記記憶装置を組み合わせて冗長化され、それぞれを識別するための論理ボリューム識別情報が割り当てられた論理ボリュームと、
それぞれを識別するための仮想ボリューム識別情報が割り当てられた、前記論理ボリュームを論理分割してなる仮想ボリュームと、
前記仮想マシン識別情報と前記論理ボリューム識別情報とを関連づけて保持する論理ボリューム情報記憶手段と、
論理ボリューム制御手段と
を含み、
前記論理ボリューム制御手段は、前記仮想ボリューム割り当て指示を取得し、前記論理ボリューム情報記憶手段に前記第１の仮想マシン識別情報に関連づけられた論理ボリューム識別情報が存在する場合は、その論理ボリューム識別情報が示す第１の論理ボリュームを前記第１の容量値と同じ分だけ前記記憶装置の未使用領域を組み合わせて論理的に拡張し、その拡張した部分を前記第１の仮想ボリュームとし、一方、前記論理ボリューム情報記憶手段に前記第１の仮想マシン識別情報に関連づけられた論理ボリューム識別情報が存在しない場合は、各前記記憶装置の未使用領域を組み合わせて前記第１の容量値と同じ大きさの第２の論理ボリュームを作成し、その作成した前記第２の論理ボリュームを前記第１の仮想ボリュームとし、前記第１の仮想マシン識別情報に関連づけて前記第２の論理ボリュームを示す論理ボリューム識別情報を前記論理ボリューム情報記憶手段に登録する。
【００１３】
また、本発明の仮想ボリューム制御方法は、
１つの仮想マシンを示す第１の仮想マシン識別情報と、その仮想マシンに割り当てる第１の仮想ボリュームの大きさを示す第１の容量値とを取得し、
論理ボリューム情報記憶手段に前記第１の仮想マシン識別情報に関連づけられた論理ボリュームを示す論理ボリューム識別情報が存在する場合は、その論理ボリューム識別情報が示す第１の論理ボリュームを前記第１の容量値と同じ分だけ複数の記憶装置の未使用領域を組み合わせて論理的に拡張し、その拡張した部分を前記第１の仮想ボリュームとし、
一方、前記論理ボリューム情報記憶手段に前記第１の仮想マシン識別情報に関連づけられた論理ボリューム識別情報が存在しない場合は、各前記記憶装置の未使用領域を組み合わせて前記第１の容量値と同じ大きさの第２の論理ボリュームを作成し、その作成した前記第２の論理ボリュームを前記第１の仮想ボリュームとし、前記第１の仮想マシン識別情報に関連づけて前記第２の論理ボリュームを示す論理ボリューム識別情報を前記論理ボリューム情報記憶手段に登録する。
【００１４】
また、本発明の仮想ボリューム制御プログラムは、
１つの仮想マシンを示す第１の仮想マシン識別情報と、その仮想マシンに割り当てる第１の仮想ボリュームの大きさを示す第１の容量値とを取得する取得処理と、
論理ボリューム情報記憶手段に前記第１の仮想マシン識別情報に関連づけられた論理ボリューム識別情報が存在する場合は、その論理ボリューム識別情報が示す第１の論理ボリュームを前記第１の容量値と同じ分だけ複数の記憶装置の未使用領域を組み合わせて論理的に拡張し、その拡張した部分を前記第１の仮想ボリュームとする仮想ボリューム拡張処理と、
一方、前記論理ボリューム情報記憶手段に前記第１の仮想マシン識別情報に関連づけられた論理ボリューム識別情報が存在しない場合は、各前記記憶装置の未使用領域を組み合わせて前記第１の容量値と同じ大きさの第２の論理ボリュームを作成し、その作成した前記第２の論理ボリュームを前記第１の仮想ボリュームとし、前記第１の仮想マシン識別情報に関連づけて前記第２の論理ボリュームを示す論理ボリューム識別情報を前記論理ボリューム情報記憶手段に登録する仮想ボリューム作成処理と
をコンピュータに実行させる。
【発明の効果】
【００１５】
本発明には、１つのＶＭ（仮想マシン）に仮想ボリュームを割り当てるときに、そのＶＭに関連づけられた論理ボリュームが無い場合でも、また、関連づけられた論理ボリュームに仮想ボリュームを追加するための空きが無い場合でも、新たな仮想ボリュームをＶＭに割り当てることができるという効果がある。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態を示すブロック図である。
【図２】第１の実施形態における、論理ボリュームテーブル１５１の一例を示す図である。
【図３】第１の実施形態における、仮想ボリュームテーブル１５２の一例を示す図である。
【図４】第１の実施形態における、図２に示す論理ボリュームテーブル１５１および図３に示す仮想ボリュームテーブル１５２に格納された情報の一例を基にしたＬＵ２０の模式図である。
【図５】第１の実施形態における、ディスクアレイ制御装置２の動作を示すフローチャートである。
【図６】第１の実施形態における、コントローラ１０の動作を示すフローチャートである。
【図７】第１の実施形態における、論理ボリュームテーブル１５１の他の例を示す図である。
【図８】第１の実施形態における、仮想ボリュームテーブル１５２の他の例を示す図である。
【図９】第１の実施形態における、図７に示す論理ボリュームテーブル１５１および図８に示す仮想ボリュームテーブル１５２に格納された情報の一例を基にしたＬＵ２０の模式図である。
【図１０】本発明の第２の実施形態を示すブロック図である。
【発明を実施するための形態】
【００１７】
次に、本発明の実施形態について図面を参照して詳細に説明する。
【００１８】
［第１の実施形態］
図１は本発明の第１の実施形態を示すブロック図である。
【００１９】
図１を参照すると、本システムは、ディスクアレイ装置１と、ディスクアレイ制御装置２と、それぞれを識別する固有のＶＭ識別情報が割り当てられた少なくとも１つの仮想マシン（ＶＭ）３と、ＶＭ制御装置４とを含む。ＶＭ３とディスクアレイ装置１とは、ＳＡＮを介して接続されている。また、ＶＭ３とＶＭ制御装置４、ＶＭ制御装置４とディスクアレイ制御装置２、およびディスクアレイ制御装置２とディスクアレイ装置１は、ＬＡＮ（「Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ」の略称。）等の通信ネットワークを介して接続されている。なお、ディスクアレイ制御装置２は、ディスクアレイ装置１内にあってもよい。
【００２０】
ディスクアレイ装置１は、コントローラ１０と、複数の物理的な記憶装置３０と、複数の記憶装置３０を組み合わせて冗長化された論理的なストレージである少なくとも１つのＬＵ（以降、「論理ボリューム」とも言う。）２０とを備える。なお、ＬＵ２０には、ディスクアレイ装置１内で識別するための情報であるＬＵＮ（「Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｕｍｂｅｒ」の略称）がそれぞれに割り当てられている。また、記憶装置３０は一般的にＨＤＤ（「Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ」の略称）やＳＳＤ（「Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ」の略称）であるが、これらに限られるものではない。
【００２１】
コントローラ１０は、ＶＭ３とのデータの送受信やＬＵ２０へのデータの読み書きを行う制御部１１と、論理ボリュームテーブル１５１および仮想ボリュームテーブル１５２を含む記憶部１５と、ＬＵ２０の作成や拡張および記憶部１５に含まれる各テーブルの制御を行うＬＵ制御部１２とを備える。
【００２２】
コントローラ１０は、プログラムを記憶する記憶デバイス（図示せず）と、そのプログラムをメモリに読み込んで命令を実行する少なくとも１つのプロセッサ（図示せず）とを含む。
【００２３】
ＶＭ制御装置４は、ＶＭ３が使用するＣＰＵ、メモリ、ディスクなどのリソースの制御を行う。また、ディスクアレイ制御装置２に、ＶＭ３が必要とするディスクボリュームの割り当て指示を送付する。
【００２４】
ディスクアレイ制御装置２は、ＶＭ制御装置４から受け取ったディスクボリュームの割り当て指示に基づき、ＬＵ２０を論理分割してなる仮想ボリューム（以降、「ＶＶＯＬ（Ｖｉｒｔｕａｌ  Ｖｏｌｕｍｅ）の略称」とも言う。）の作成指示を生成してディスクアレイ装置１に送付する。
【００２５】
図２は、本実施形態における論理ボリュームテーブル１５１の一例を示す図である。
【００２６】
図２を参照すると、論理ボリュームテーブル１５１は、装置内ＬＵＮ欄と、ＬＵ容量欄と、論理セクタ欄と、ＶＭ識別欄とを含む。
【００２７】
装置内ＬＵＮ欄には、ディスクアレイ装置１内でＬＵ２０を識別するためのＬＵＮが事前に登録される。
【００２８】
ＬＵ容量欄には、装置内ＬＵＮ欄に登録されたＬＵＮが示すＬＵの、大きさ（容量）を示す値が登録される。
【００２９】
論理セクタ欄には、当該ＬＵの論理的な領域を「開始セクタを示す値（１６進数）〜終了セクタを示す値（１６進数）」の形式で示したものが登録される。
【００３０】
ＶＭ識別欄には、当該ＬＵが割り当てられたＶＭ３を示すＶＭ識別情報が登録される。
【００３１】
例えば、図２の１行目のレコードを参照すると、装置内ＬＵＮ欄には「１」が登録され、ＬＵ容量欄には「４ＧＢ」が登録され、論理セクタ欄には「０〜７ＦＦＦＦＦ」が登録され、ＶＭ識別欄には「ＶＭ−Ａ」が登録されている。すなわち、ＬＵＮが１であるＬＵは、大きさが４ＧＢ（ギガバイト）であり、０（ゼロ）セクタから７ＦＦＦＦＦセクタ（１６進数）までの領域に存在し、割り当てられているＶＭ３はＶＭ−Ａという識別情報で示されるＶＭ３であることが判る。なお、ＬＵ２０の１セクタの容量は５１２バイトであるとする。
【００３２】
図３は、本実施形態における仮想ボリュームテーブル１５２の一例を示す図である。仮想ボリュームテーブル１５２は、ＬＵ２０の情報と、そのＬＵ２０を論理分割して生成した仮想ボリューム（ＶＶＯＬ）の情報とを関連づけて保持する。
【００３３】
図３を参照すると、仮想ボリュームテーブル１５２は、ＶＶＯＬ識別欄と、ＶＭ識別欄と、ＶＶＯＬ容量欄と、仮想論理セクタ欄と、装置内ＬＵＮ欄と、論理セクタ欄とを含む。
【００３４】
ＶＶＯＬ識別欄には、ディスクアレイ装置１内でＶＶＯＬを識別するために各ＶＶＯＬに割り当てられた識別情報であるＶＶＯＬ識別情報が登録される。
【００３５】
ＶＭ識別欄には、ＶＶＯＬ識別欄に登録されたＶＶＯＬ識別情報が示すＶＶＯＬが割り当てられたＶＭ３を示すＶＭ識別情報が登録される。
【００３６】
ＶＶＯＬ容量欄には、当該ＶＶＯＬの大きさ（容量）を示す値が登録される。
【００３７】
仮想論理セクタ欄には、当該ＶＶＯＬの仮想的な領域を「開始セクタを示す値（１６進数）〜終了セクタを示す値（１６進数）」の形式で示したものが登録される。
【００３８】
装置内ＬＵＮ欄には、当該ＶＶＯＬが生成されたＬＵ２０を示すＬＵＮが登録される。
【００３９】
論理セクタ欄には、当該ＶＶＯＬの、装置内ＬＵＮ欄に登録されたＬＵＮが示すＬＵ２０内での論理的な領域を示す値を「開始セクタを示す値（１６進数）〜終了セクタを示す値（１６進数）」の形式で示したものが登録される。
【００４０】
例えば、図３の１行目のレコードを参照すると、ＶＶＯＬ識別欄には「１」が登録され、ＶＭ識別欄には「ＶＭ−Ａ」が登録され、ＶＶＯＬ容量欄には「４ＧＢ」が登録され、仮想論理セクタ欄には「０〜７ＦＦＦＦＦ」が登録され、装置内ＬＵＮ欄には「１」が登録され、論理セクタ欄には「０〜７ＦＦＦＦＦ」が登録されている。
【００４１】
すなわち、ＶＶＯＬ識別が１であるＶＶＯＬは、割り当てられているＶＭ３はＶＭ−Ａという識別情報で示されるＶＭ３であり、大きさが４ＧＢ（ギガバイト）であり、仮想的な領域は０セクタから７ＦＦＦＦＦセクタ（１６進数）までであり、自身が生成されたＬＵ２０を示すＬＵＮは１であり、そのＬＵ２０内での自身の論理的な領域は０セクタから７ＦＦＦＦＦセクタ（１６進数）までであることが判る。なお、この状態では、ＬＵＮが１であるＬＵ２０に生成されたＶＶＯＬは１つなので、仮想論理セクタ欄に格納されている仮想的な領域を示す値と、論理セクタ欄に格納されている論理的な領域を示す値とは、同じ値になる。
【００４２】
図４は、図２に示す論理ボリュームテーブル１５１および図３に示す仮想ボリュームテーブル１５２に格納された情報の一例を基にしたＬＵ２０の模式図である。
【００４３】
図４を参照すると、「ＶＭ−Ａ」というＶＭ識別情報が示すＶＭ３に割り当てられたＬＵ２０は、ＬＵＮが「１」であり、論理的な領域は０セクタから７ＦＦＦＦＦセクタまでである。そして、そのＬＵ２０には仮想ボリュームが１つだけ作成されており、その仮想ボリュームのＶＶＯＬ識別は「１」であり、仮想的な領域は０セクタから７ＦＦＦＦＦセクタまでであることが判る。
【００４４】
次に、仮想ボリューム（ＶＶＯＬ）作成時のディスクアレイ制御装置２およびディスクアレイ装置１の動作について図５および図６のフローチャートを参照して説明する。
【００４５】
図５は、仮想ボリューム（ＶＶＯＬ）作成時のディスクアレイ制御装置２の動作を示すフローチャートである。
【００４６】
図５を参照すると、まず、ディスクアレイ制御装置２が、必要なディスクボリューム容量と、そのディスクボリュームを割り当てるＶＭ３を示すＶＭ識別情報とを含むボリューム割り当て指示を、ＶＭ制御装置４から受信する（ステップＳ１０１）。そして、ディスクアレイ制御装置２は、そのボリューム割り当て指示に基づいてＶＶＯＬ作成指示を生成し、ディスクアレイ装置１へ送付する（ステップＳ１０２）。なお、送付するＶＶＯＬ作成指示には、ボリューム割り当て指示に含まれるＶＭ識別情報と、作成するＶＶＯＬ容量（すなわち、必要なディスクボリューム容量と同じ容量）を示す値とを含む。
【００４７】
次に、ディスクアレイ制御装置２は、ＶＶＯＬ作成指示に基づいて、ディスクアレイ装置１で作成されたＶＶＯＬを示すＶＶＯＬ識別情報と、そのＶＶＯＬの仮想領域を示す仮想論理セクタを示す値とを含むＶＶＯＬ作成完了通知を受信する。そして、ディスクアレイ制御装置２は、ＶＭ制御装置４へ、上記ＶＶＯＬ識別情報と仮想論理セクタを示す値とを含む割り当て完了通知を送付する（ステップＳ１０３）。
【００４８】
図６は、ディスクアレイ制御装置２からＶＶＯＬ作成指示を受信した際の、ディスクアレイ装置１に含まれるコントローラ１０の動作を示すフローチャートである。
【００４９】
図６を参照すると、まず、コントローラ１０に含まれるＬＵ制御部１２は、ディスクアレイ制御装置２から、ＶＶＯＬ作成指示を受信する（ステップＳ２０１）。
【００５０】
ＬＵ制御部１２は、ＶＶＯＬ作成指示に含まれるＶＭ識別情報を基に論理ボリュームテーブル１５１のＶＭ識別欄を検索し、同じＶＭ識別情報が含まれるレコードがあるか否かをチェックする（ステップＳ２０２）。
【００５１】
ＶＶＯＬ作成指示に含まれるＶＭ識別情報と同じＶＭ識別情報が登録されているレコードがある場合（ステップＳ２０２で「ＹＥＳ」の場合）、ＬＵ制御部１２は、そのレコードの装置内ＬＵＮ欄に格納されているＬＵＮを取得する。そして、ＬＵ制御部１２は、そのＬＵＮが示すＬＵ２０の容量を、ＶＶＯＬ作成指示に含まれるＶＶＯＬ容量の分だけ、記憶装置３０の未使用領域を組み合わせて論理的に拡張する（ステップＳ２０３）。
【００５２】
次に、ＬＵ制御部１２は、拡張後のＬＵ２０の容量と拡張後のＬＵ２０の論理的な領域を示す論理セクタの値とで、論理ボリュームテーブル１５１のＬＵ容量欄と論理セクタ欄とを更新する（ステップＳ２０４）。すなわち、ＬＵ制御部１２は、ＬＵ容量欄に登録されている値を、既存のＬＵ２０の容量に新たに拡張した容量を加えた値で更新する。ＬＵ制御部１２は、論理セクタ欄に登録されている既存のＬＵ２０の領域を示す開始セクタの値と終了セクタの値のうち、終了セクタの値を、新たに拡張した容量分のセクタ数を加えたセクタ数で更新する。そして、論理セクタ欄を「開始セクタを示す値〜更新した終了セクタを示す値」の形式で更新する。
【００５３】
次に、ＬＵ制御部１２は、ステップＳ２０３で拡張した、ＬＵ２０の拡張分を、新たなＶＶＯＬとして仮想ボリュームテーブル１５２に追加する（ステップＳ２０５）。すなわち、ＶＶＯＬ識別欄には、新たに決定したＶＶＯＬ識別情報を登録し、ＶＭ識別欄には、ＶＶＯＬ作成指示に含まれるＶＭ識別情報を登録する。そして、ＶＶＯＬ容量欄には、ＬＵ２０の拡張した容量（すなわち、新たなＶＶＯＬ容量）を登録し、装置内ＬＵＮ欄には、拡張したＬＵ２０を示すＬＵＮを登録する。
【００５４】
そして、ＬＵ制御部１２は、新たなＶＶＯＬの仮想的な領域を示す値を仮想論理セクタ欄に登録する。すなわち、開始セクタとして０（ゼロ）セクタを、終了セクタとしては拡張した容量分のセクタ数を設定し、「開始セクタを示す値〜終了セクタを示す値」の形式で登録する。
【００５５】
そして、ＬＵ制御部１２は、新たなＶＶＯＬのＬＵ２０内での論理的な領域を示す値を、論理セクタ欄に登録する。すなわち、装置内ＬＵＮ欄に登録されているＬＵＮが同じであるレコードのうち、論理セクタ欄の終了セクタの値が最も大きいレコードを選択する。そして、その終了セクタの値に１セクタ加えた値を開始セクタとし、さらに、その開始セクタに追加容量分のセクタ数の値を加えたセクタを終了セクタの値とする。そして、「開始セクタを示す値〜終了セクタを示す値」の形式で論理セクタ欄に登録する。
【００５６】
次に、ＬＵ制御部１２は、新たなＶＶＯＬを示すＶＶＯＬ識別情報と、そのＶＶＯＬの仮想領域を示す仮想論理セクタ欄の値とを含むＶＶＯＬ作成完了通知を、ディスクアレイ制御装置２に送付する（ステップＳ２０６）。
【００５７】
ここで、例えば、ＶＭ−ＡというＶＭ識別情報で示されるＶＭ３に割り当てられた、４０ＧＢの容量のＶＶＯＬを新たに作成した場合の、論理ボリュームテーブル１５１と仮想ボリュームテーブル１５２とを、図７および図８に示す。
【００５８】
図７を参照すると、図２に示した当初の論理ボリュームテーブル１５１の内容に比べて、ＬＵ容量欄に登録されている値が、ＬＵ２０の拡張分の４０ＧＢが加わり４４ＧＢに更新されている。また、論理セクタ欄の終了セクタが、ＬＵ２０の拡張分の４０ＧＢ分のセクタ数が加わり「０〜５７ＦＦＦＦＦ」に更新されている。
【００５９】
図８を参照すると、図３に示した当初の仮想ボリュームテーブル１５２に比べて、新たに作成したＶＶＯＬを示すレコードが追加されている。すなわち、新たなＶＶＯＬは、ＶＶＯＬ識別が「２」であり、割り当てられているＶＭ３は「ＶＭ−Ａ」という識別情報で示されるＶＭ３であり、大きさが４０ＧＢであることが判る。そして、新たなＶＶＯＬの仮想論理セクタは０セクタから４ＦＦＦＦＦＦセクタ（１６進数）までであり、自身が生成されたＬＵ２０を示すＬＵＮは１であり、そのＬＵ２０内での自身の論理的な領域は８０００００セクタ（１６進数）から５７ＦＦＦＦＦセクタ（１６進数）までであることが判る。
【００６０】
図９は、図７に示す論理ボリュームテーブル１５１および図８に示す仮想ボリュームテーブル１５２に格納された情報の一例を基にしたＬＵ２０の模式図である。
【００６１】
図９を参照すると、「ＶＭ−Ａ」というＶＭ識別情報が示すＶＭ３に割り当てられたＬＵ２０は、ＬＵＮが「１」であり、論理的な領域は０セクタから５７ＦＦＦＦＦセクタまでである。そして、そのＬＵ２０には、ＶＶＯＬ識別が「１」および「２」の２つの仮想ボリュームが作成されている。すなわち、「ＶＭ−Ａ」というＶＭ識別情報が示すＶＭ３に割り当てられたＶＶＯＬは、ＶＶＯＬ識別が「１」および「２」であるＶＶＯＬの２つである。
【００６２】
ＶＶＯＬ識別が「１」であるＶＶＯＬは、ＬＵ２０内の論理的な領域とＶＶＯＬとしての仮想的な領域とのどちらも、０セクタから７ＦＦＦＦＦセクタまでであることが判る。また、ＶＶＯＬ識別が「２」であるＶＶＯＬは、ＬＵ２０内の論理的な領域は８０００００セクタから５７ＦＦＦＦＦセクタまでであり、ＶＶＯＬとしての仮想的な領域は０セクタから４ＦＦＦＦＦＦセクタまでであることが判る。
【００６３】
図６のフローチャートの説明にもどる。
【００６４】
ステップＳ２０２で、論理ボリュームテーブル１５１にＶＶＯＬ作成指示に含まれるＶＭ識別情報と同じＶＭ識別情報が登録されているレコードが無い場合（ステップＳ２０２で「ＮＯ」の場合）、ＬＵ制御部１２は、ＶＶＯＬ作成指示に基づいて新たなＬＵ２０を作成する（ステップＳ２０７）。すなわち、ＬＵ制御部１２は、ＶＶＯＬ作成指示に含まれるＶＶＯＬ容量と同じ容量のＬＵ２０を、複数の記憶装置３０の未使用領域を組み合わせて論理的に作成する。
【００６５】
次に、ＬＵ制御部１２は、新たに作成したＬＵ２０を示す情報を論理ボリュームテーブル１５１に追加する（ステップＳ２０８）。すなわち、ＬＵ制御部１２は、装置内ＬＵＮ欄に新たに決定したＬＵＮを登録し、ＬＵ容量欄にＶＶＯＬ作成指示に含まれるＶＶＯＬ容量の値を登録する。さらに、ＶＭ識別欄にＶＶＯＬ作成指示に含まれるＶＭ識別情報を登録し、論理セクタ欄には、作成したＬＵ２０の論理的な領域を示す開始セクタの値と終了セクタの値を「開始セクタを示す値〜終了セクタを示す値」の形式で登録する（このとき、開始セクタは０（ゼロ）セクタであり、終了セクタは作成した容量分のセクタ数から１を差し引いた値となる。）。
【００６６】
次に、ＬＵ制御部１２は、新たに作成したＬＵ２０を、新たなＶＶＯＬとして仮想ボリュームテーブル１５２に追加する（ステップＳ２０５）。すなわち、ＶＶＯＬ識別欄には、新たに決定したＶＶＯＬ識別情報を登録し、ＶＭ識別欄には、ＶＶＯＬ作成指示に含まれるＶＭ識別情報を登録する。そして、ＶＶＯＬ容量欄には、新たに作成したＬＵ２０の容量（すなわち、新たなＶＶＯＬ容量）を登録し、装置内ＬＵＮ欄には、作成したＬＵ２０を示すＬＵＮを登録する。
【００６７】
そして、ＬＵ制御部１２は、新たなＶＶＯＬのＬＵ２０内での論理的な領域を示す値を論理セクタ欄に登録する。すなわち、論理ボリュームテーブル１５１の論理セクタ欄に登録された値と同じ値が登録される。
【００６８】
そして、ＬＵ制御部１２は、新たなＶＶＯＬの仮想的な領域を示す値を仮想論理セクタ欄に登録する。すなわち、上記論理セクタ欄に登録された領域を示す値と同じ値が登録される。
【００６９】
次に、ＬＵ制御部１２は、新たなＶＶＯＬを示すＶＶＯＬ識別情報と、そのＶＶＯＬの仮想領域を示す仮想論理セクタ欄の値とを含むＶＶＯＬ作成完了通知を、ディスクアレイ制御装置２に送付する（ステップＳ２０６）。
【００７０】
このようにして、ＬＵ制御部１２は、ディスクアレイ制御装置２から受信したＶＶＯＬ作成指示に含まれるＶＭ識別情報が示すＶＭ３に、既に割り当てられたＬＵ２０が存在していない場合でも、新たなＶＶＯＬを作成し、割り当てることができる。
【００７１】
以上、本実施形態には、１つのＶＭ（仮想マシン）に仮想ボリュームを割り当てるときに、そのＶＭに関連づけられた論理ボリュームが無い場合でも、新たに論理ボリュームと仮想ボリュームとを作成し、ＶＭに割り当てることができる。また、関連づけられた論理ボリュームに仮想ボリュームを追加するための空きが無い場合でも、論理ボリュームを拡張し、仮想ボリュームをＶＭに割り当てることができるという効果がある。
【００７２】
その理由としては、ＶＭ３に関連づけられたＬＵ２０が存在しない場合（すなわち、論理ボリュームテーブル１５１にＶＶＯＬ作成指示に含まれるＶＭ識別情報と同じＶＭ識別情報が登録されているレコードが無い場合）は、ＬＵ制御部１２が、複数の記憶装置３０の未使用領域を組み合わせて新たなＬＵ２０を論理的に作成する。また、ＶＭ３に関連づけられたＬＵ２０が存在する場合（すなわち、論理ボリュームテーブル１５１にＶＶＯＬ作成指示に含まれるＶＭ識別情報と同じＶＭ識別情報が登録されているレコードがある場合）は、ＬＵ制御部１２が、ＶＶＯＬ作成指示に含まれるＶＶＯＬ容量の分だけ、記憶装置３０の未使用領域を組み合わせてＬＵ２０を論理的に拡張するからである。
【００７３】
［第２の実施形態］
次に、本発明の第１の実施形態の基本的な構成を含む、第２の実施形態について説明する。
【００７４】
図１０は本実施形態を示すブロック図である。
【００７５】
図１０を参照すると、ディスクアレイ装置５は、複数の物理的な記憶装置７０と、論理ボリューム６０と、論理ボリューム６０を論理分割してなる仮想ボリューム８０と、論理ボリューム制御部５２と、論理ボリューム情報記憶部５５１とを含む。
【００７６】
論理ボリューム６０は、複数の記憶装置７０を組み合わせて冗長化され、それぞれを識別するための論理ボリューム識別情報が割り当てられている論理的なストレージである。
【００７７】
仮想ボリューム８０には、それぞれを識別するための仮想ボリューム識別情報が割り当てられている。
【００７８】
論理ボリューム情報記憶部５５１には、ディスクアレイ装置５に接続された少なくとも１つの仮想マシン（図示せず）を識別するために各仮想マシンに割り当てられた仮想マシン識別情報と、その仮想マシンがアクセス可能な論理ボリューム６０に割り当てられた論理ボリューム識別情報とが関連づけて保持される。
【００７９】
論理ボリューム制御部５２は、１つの仮想マシン（図示せず）を示す第１の仮想マシン識別情報と、その仮想マシンに割り当てる第１の仮想ボリュームの大きさを示す第１の容量値とを取得する。そして、論理ボリューム制御部５２は、論理ボリューム情報記憶部５５１に第１の仮想マシン識別情報に関連づけられた論理ボリューム識別情報が存在するか否かを判別する。
【００８０】
論理ボリューム情報記憶部５５１に第１の仮想マシン識別情報に関連づけられた論理ボリューム識別情報が存在する場合は、論理ボリューム制御部５２が、その論理ボリューム識別情報が示す第１の論理ボリュームを、第１の容量値と同じ分だけ記憶装置７０の未使用領域を組み合わせて論理的に拡張する。そして、論理ボリューム制御部５２は、その拡張した部分を第１の仮想ボリュームとして割り当てる。
【００８１】
一方、論理ボリューム情報記憶部５５１に第１の仮想マシン識別情報に関連づけられた論理ボリューム識別情報が存在しない場合は、論理ボリューム制御部５２が、記憶装置７０の未使用領域を組み合わせて第１の容量値と同じ大きさの第２の論理ボリュームを作成する。そして、論理ボリューム制御部５２は、その第２の論理ボリュームを第１の仮想ボリュームとして割り当て、第２の論理ボリュームを示す論理ボリューム識別情報と第１の仮想マシン識別情報とを関連づけて論理ボリューム情報記憶部５５１に登録する。
【００８２】
以上、本実施形態には、第１の実施形態と同様に、１つの仮想マシンに仮想ボリュームを割り当てるときに、その仮想マシンに関連づけられた論理ボリュームが無い場合でも、新たに論理ボリュームと仮想ボリュームとを作成し、仮想マシンに割り当てることができる。また、関連づけられた論理ボリュームに仮想ボリュームを追加するための空きが無い場合でも、論理ボリュームを拡張し、仮想ボリュームを仮想マシンに割り当てることができるという効果がある。
【００８３】
その理由としては、仮想マシンに関連づけられた論理ボリュームが存在しない場合（すなわち、論理ボリューム情報記憶部５５１に第１の仮想マシン識別情報に関連づけられた論理ボリューム識別情報が存在しない場合）は、論理ボリューム制御部５２が、複数の記憶装置７０の未使用領域を組み合わせて第２の論理ボリュームを作成する。また、仮想マシンに関連づけられた論理ボリュームが存在する場合（すなわち、論理ボリューム情報記憶部５５１に第１の仮想マシン識別情報に関連づけられた論理ボリューム識別情報が存在する場合）は、論理ボリューム制御部５２が、その論理ボリューム識別情報が示す第１の論理ボリュームを、第１の容量値と同じ分だけ記憶装置７０の未使用領域を組み合わせて論理的に拡張するからである。
【符号の説明】
【００８４】
１    ディスクアレイ装置
２    ディスクアレイ制御装置
３    ＶＭ
４    ＶＭ制御装置
５    ディスクアレイ装置
１０    コントローラ
１１    制御部
１２    ＬＵ制御部
１５    記憶部
２０    ＬＵ
３０    記憶装置
５２    論理ボリューム制御部
６０    論理ボリューム
７０    記憶装置
８０    仮想ボリューム
１５１    論理ボリュームテーブル
１５２    仮想ボリュームテーブル
５５１    論理ボリューム情報記憶部
【図１】
0006657990.tif 000002
【図２】
0006657990.tif 000003
【図３】
0006657990.tif 000004
【図４】
0006657990.tif 000005
【図５】
0006657990.tif 000006
【図６】
0006657990.tif 000007
【図７】
0006657990.tif 000008
【図８】
0006657990.tif 000009
【図９】
0006657990.tif 000010
【図１０】
0006657990.tif 000011