(57)【要約】【課題】仮想ストレージ装置において、ストレージプールの作成を省力化する。【解決手段】仮想ストレージ装置を制御するストレージ制御装置１１は、仮想ストレージ装置に存在する複数のボリュームの性能情報を取得する性能測定部１３と、複数のボリュームの性能情報とグループ化ルール１７とに基づいて、複数のボリュームを、要求性能の異なる複数の性能グループに振り分けるグループ化部１４と、ストレージプールの要求条件１８が満たされるまで、仮想ボリューム７が切り出される複数の性能グループに振り分けたボリュームをストレージプールに追加するストレージプール管理部１６と、をそなえる。【選択図】図２
2015158711.tif 000002
【特許請求の範囲】
【請求項１】
仮想ストレージ装置を制御するストレージ制御装置であって、
前記仮想ストレージ装置に存在する複数のボリュームの性能情報を取得する性能測定部と、
前記複数のボリュームの前記性能情報とグループ化ルールとに基づいて、前記複数のボリュームを、要求性能の異なる複数の性能グループに振り分けるグループ化部と、
ストレージプールの要求条件が満たされるまで、仮想ボリュームが切り出される前記複数の性能グループに振り分けたボリュームを前記ストレージプールに追加するストレージプール管理部と、
をそなえることを特徴とするストレージ制御装置。
【請求項２】
前記複数の性能グループのうち、その要求性能に満たない性能グループが存在する場合に、該性能グループが前記要求性能を満たすように、前記要求性能に満たない性能グループよりも要求性能の低い性能グループに振り分けられたボリュームを複数集約した再編成ボリュームを生成して前記前記要求性能に満たない性能グループに追加する再編成部
をさらにそなえることを特徴とする請求項１記載のストレージ制御装置。
【請求項３】
前記ストレージ制御装置はデータ再配置フラグをさらにそなえ、
前記ストレージプール管理部は、前記データ再配置フラグが無効に設定されている場合、前記仮想ストレージ装置において新しいボリュームが作成されたときに、前記新しいボリュームにデータが移動されるのを阻止する
ことを特徴とする請求項１又は２記載のストレージ制御装置。
【請求項４】
前記性能測定部は、前記性能情報から、前記複数のボリュームのそれぞれについて、同一の冗長グループに属するかどうかを示す多重度を推定する
ことを特徴とする請求項１〜３のいずれか１項に記載のストレージ制御装置。
【請求項５】
前記仮想ストレージ装置における新たなボリュームの追加を検出するボリューム検出部
をさらにそなえることを特徴とする請求項１〜４のいずれか１項記載のストレージ制御装置。
【請求項６】
複数のボリュームと、
ストレージ制御装置とをそなえ、
前記ストレージ制御装置は、
前記複数のボリュームの性能情報を取得する性能測定部と、
前記複数のボリュームの前記性能情報とグループ化ルールとに基づいて、前記複数のボリュームを、要求性能の異なる複数の性能グループに振り分けるグループ化部と、
ストレージプールの要求条件が満たされるまで、仮想ボリュームが切り出される前記複数の性能グループに振り分けたボリュームを前記ストレージプールに追加するストレージプール管理部と、
をそなえることを特徴とする仮想ストレージ装置。
【請求項７】
仮想ストレージ装置を制御するストレージ制御方法であって、
前記仮想ストレージ装置に存在する複数のボリュームの性能情報を取得し、
前記複数のボリュームの前記性能情報とグループ化ルールとに基づいて、前記複数のボリュームを、要求性能の異なる複数の性能グループに振り分け、
ストレージプールの要求条件が満たされるまで、仮想ボリュームが切り出される前記複数の性能グループに振り分けたボリュームを前記ストレージプールに追加する
ことを特徴とするストレージ制御方法。
【請求項８】
仮想ストレージ装置を制御するストレージ制御プログラムであって、
前記仮想ストレージ装置に存在する複数のボリュームの性能情報を取得し、
前記複数のボリュームの前記性能情報とグループ化ルールとに基づいて、前記複数のボリュームを、要求性能の異なる複数の性能グループに振り分け、
ストレージプールの要求条件が満たされるまで、仮想ボリュームが切り出される前記複数の性能グループに振り分けたボリュームを前記ストレージプールに追加する
処理をコンピュータに実行させることを特徴とするストレージ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ制御装置、仮想ストレージ装置、ストレージ制御方法、及びストレージ制御プログラムに関する。
【背景技術】
【０００２】
近年、情報処理システムで処理されるデータ量が急増しており、このデータ量の急増に対応するために、ストレージ仮想化と呼ばれる技術が採用されている。
ストレージ仮想化とは、複数のストレージ装置を仮想的に統合し、大容量のストレージプールを構成する技術である。ストレージ仮想化によりストレージプールを構成することにより、業務の状況に応じて、ストレージプールから業務に必要な容量を切り出したり、不要になった容量を解放することが可能となる。さらに、仮想ストレージ装置においては入出力（Input/Output：Ｉ／Ｏ）が分散されるので、特定のストレージ装置にＩ／Ｏが集中して遅延が発生するのを回避することができる。
【０００３】
このようなストレージ仮想化を実現する装置はストレージ仮想化装置と呼ばれる。又、ストレージ仮想化装置によって実現されるストレージプールをそなえるストレージ装置を、仮想ストレージ装置と呼ぶ。
図１６は、従来の仮想ストレージ装置１０３の構成を示す模式図である。
仮想ストレージ装置１０３は、ストレージ仮想化装置１０８と、ディスクアレイ装置１０５とを有する。ディスクアレイ装置１０５は、Control Module（ＣＭ）１０４−１,１０４−２（ＣＭ＃０，ＣＭ＃１）と、複数のRedundant Array of Independent Disks（ＲＡＩＤ）４０１〜４０３（ＲＡＩＤ＃０〜＃２）とを有する。
【０００４】
ストレージ仮想化装置１０８とＲＡＩＤ４０１〜４０３とは、ＣＭ１０４−１,１０４−２を介して接続されている。
ストレージ仮想化装置１０８は、複数のＲＡＩＤ４０１〜４０３に作成されている不図示の物理ボリュームから１以上のストレージプール１０６（ストレージプール＃０）を構成し、このストレージプール１０６から一定容量を切り出して、仮想ボリュームとして上位のホスト装置に提供する。
【０００５】
ここで、「物理ボリューム」とは、ＲＡＩＤ４０１〜４０３が提供する記憶領域を任意に振り分けたものであり、Logical Unit（ＬＵＮ）に相当する。物理ボリュームも実際には論理的なボリュームであり、ＲＡＩＤ４０１〜４０３内部で実際にデータを記憶している、Hard Disk Drive（ＨＤＤ）やSolid State Drive（ＳＳＤ）等の物理記憶装置（これらを以下、総称して物理ディスクとも呼ぶ）とは異なる。しかし、後述する論理ボリュームである仮想ボリュームと対比するため、模擬的に「物理ボリューム」と呼ぶ。
【０００６】
ＲＡＩＤ４０１〜４０３は、データの記憶領域を提供するＨＤＤやＳＳＤ等の物理ディスクを有する。又、各ＲＡＩＤ４０１〜４０３には、１以上の物理ボリュームが作成（定義）されている。
このような仮想ストレージ装置１０３においては、一般に、性能向上や負荷分散を図るために、物理ディスクから記憶領域を切り出して、１つの仮想ボリュームとしてホスト装置等に見せるストライピング構成が多く採用されている。
【０００７】
仮想ストレージ装置１０３においては、ストレージプール１０６に含まれる物理ボリュームには、様々なストレージ種別（ベンダー、モデル、ディスク種別等）の物理ディスクが使用される。このような仮想ストレージ装置１０３でストライピングを構成する場合、提供される仮想ボリュームのパフォーマンスは、最も低速の物理ボリュームによって制限される。
【０００８】
例えば、アクセス速度の低いＲＡＩＤ５のＲＡＩＤ４０１、及びアクセス速度の高いＲＡＩＤ１＋０のＲＡＩＤ４０２，４０３など、ＲＡＩＤレベルが異なる複数のＲＡＩＤ４０１〜４０３の物理ボリュームから１つのストレージプール１０６を構成する場合を考える。この場合、ＲＡＩＤ１＋０に比べてアクセス速度の低いＲＡＩＤ５のＲＡＩＤ４０１により、ストレージプール１０６全体のパフォーマンスが低下してしまう。
【０００９】
このような性能差は、ＨＤＤやＳＳＤ等のディスク種別の違い、ＨＤＤの回転数の違いなどによっても発生する。
又、ＲＡＩＤ４０１〜４０３の物理ボリュームに性能差がない場合でも、システム管理者がストレージプール１０６を手動で作成する際に、ミスが生じて意図せずにパフォーマンスの低下が発生する場合がある。
【００１０】
このため、物理ボリュームから構成されるストレージプールを有する仮想ストレージ装置において、物理ボリュームの性能や特性を意識せずに、ストレージプールを容易に作成できることが望ましい。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０１１−１５４６６９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
上記課題に鑑みて、１つの側面では、本発明は、仮想ストレージ装置において、ストレージプールの作成を省力化することを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の１つとして位置付けることができる。
【課題を解決するための手段】
【００１３】
このため、仮想ストレージ装置を制御するストレージ制御装置は、前記仮想ストレージ装置に存在する複数のボリュームの性能情報を取得する性能測定部と、前記複数のボリュームの前記性能情報とグループ化ルールとに基づいて、前記複数のボリュームを、要求性能の異なる複数の性能グループに振り分けるグループ化部と、ストレージプールの要求条件が満たされるまで、仮想ボリュームが切り出される前記複数の性能グループに振り分けたボリュームを前記ストレージプールに追加するストレージプール管理部と、をそなえる。
【００１４】
又、仮想ストレージ装置は、複数のボリュームと、ストレージ制御装置とをそなえ、前記ストレージ制御装置は、前記複数のボリュームの性能情報を取得する性能測定部と、前記複数のボリュームの前記性能情報とグループ化ルールとに基づいて、前記複数のボリュームを、要求性能の異なる複数の性能グループに振り分けるグループ化部と、ストレージプールの要求条件が満たされるまで、仮想ボリュームが切り出される前記複数の性能グループに振り分けたボリュームを前記ストレージプールに追加するストレージプール管理部と、をそなえる。
【００１５】
さらに、仮想ストレージ装置を制御するストレージ制御方法は、前記仮想ストレージ装置に存在する複数のボリュームの性能情報を取得し、前記複数のボリュームの前記性能情報とグループ化ルールとに基づいて、前記複数のボリュームを、要求性能の異なる複数の性能グループに振り分け、ストレージプールの要求条件が満たされるまで、仮想ボリュームが切り出される前記複数の性能グループに振り分けたボリュームを前記ストレージプールに追加する。
【００１６】
又、仮想ストレージ装置を制御するストレージ制御プログラムは、前記仮想ストレージ装置に存在する複数のボリュームの性能情報を取得し、前記複数のボリュームの前記性能情報とグループ化ルールとに基づいて、前記複数のボリュームを、要求性能の異なる複数の性能グループに振り分け、ストレージプールの要求条件が満たされるまで、仮想ボリュームが切り出される前記複数の性能グループに振り分けたボリュームを前記ストレージプールに追加する処理をコンピュータに実行させる。
【発明の効果】
【００１７】
開示の技術によれば、仮想ストレージ装置において、ストレージプールの作成を省力化することができる。
【図面の簡単な説明】
【００１８】
【図１】実施形態の一例としての情報処理システムの構成を示す模式図である。
【図２】実施形態の一例としてのストレージ仮想化装置の構成を示す模式図である。
【図３】実施形態の一例としての性能測定部によって取得された性能スコアを例示する図である。
【図４】実施形態の一例としてのグループ化部によるグループ分け及びグループ化ルールを例示する模式図である。
【図５】実施形態の一例としての物理ボリューム編成部による物理ボリューム再編成処理を例示する模式図である。
【図６】実施形態の一例としての管理テーブルの構成を示す図である。
【図７】実施形態の一例としてのストレージプールテーブルの構成を示す図である。
【図８】実施形態の一例としての情報処理システムにおける処理の概要を示すフローチャートである。
【図９】実施形態の一例としての情報処理システムにおける仮想ストレージ装置の初期導入時の処理を示すフローチャートである。
【図１０】図９のステップＳ１３，Ｓ１４実行後の管理テーブルを例示する模式図である。
【図１１】実施形態の一例としての情報処理システムにおける物理ボリューム追加時の処理を示すフローチャートである。
【図１２】実施形態の一例としての情報処理システムにおける物理ボリューム追加時の処理を示すフローチャートである。
【図１３】図１１のステップＳ２５，Ｓ２６実行後の管理テーブルを例示する模式図である。
【図１４】実施形態の一例としてのストレージプールテーブルを例示する図である。
【図１５】実施形態の一例としての物理ボリューム編成部による物理ボリューム再編成処理を示すフローチャートである。
【図１６】従来の仮想ストレージ装置の構成を示す模式図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照して本ストレージ制御装置、仮想ストレージ装置、ストレージ制御方法、及びストレージ制御プログラムに係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。又、各図は、図中に示す構成要素のみをそなえるという趣旨ではなく、他の機能等を含むことができる。
（Ａ）構成
図１は、実施形態の一例としての情報処理システム１の構成を示す模式図である。
【００２０】
本情報処理システム１においては、仮想ストレージ装置３が、１以上のホスト装置２−１〜２−ｋ（ｋは１以上の整数）に対して通信可能に接続されている。ホスト装置２と仮想ストレージ装置３とは、例えばLocal Area Network（ＬＡＮ）やInternet Small Computer System Interface（ｉＳＣＳＩ）により接続されている。
ホスト装置２−１〜２−ｋは、例えば、サーバ機能をそなえたコンピュータであり、不図示のCentral Processing Unit（ＣＰＵ）やメモリをそなえる。ホスト装置２−１〜２−ｋは、後述する仮想ストレージ装置３に対してリード／ライト等のディスクアクセスコマンドを送信することにより、仮想ストレージ装置３が提供する１以上の仮想ボリューム７−１〜７−ｌ（ｌは１以上の整数）にデータの書き込みや読み出しを行なう。
【００２１】
仮想ストレージ装置３は、ストレージ仮想化装置８とディスクアレイ装置４−１〜４−ｍ（ｍは２以上の整数）とをそなえる。
ストレージ仮想化装置８は、ディスクアレイ装置４−１〜４−ｍに作成（定義）されている物理ボリューム５−１〜５−ｎ（ｎは２以上の整数）（図４，５参照）を、ストレージプール６にプールし、ストレージプール６から、ホスト装置２に対して１以上の仮想ボリューム７−１〜７−ｌを提供する。
【００２２】
ディスクアレイ装置４−１〜４−ｍは、ＨＤＤやＳＳＤなど、内部にデータを記憶可能な複数の物理ディスク９−１〜９−ｏ（ｏは２以上の整数）を有する、例えばＲＡＩＤディスクアレイ装置である。このディスクアレイ装置４−１〜４−ｍの１つ以上が、１つのＲＡＩＤグループを構成している。又、各ディスクアレイ装置４−１〜４−ｍには、１以上の物理ボリューム５−１〜５−ｎが作成（定義）されている。
【００２３】
ここで、「物理ボリューム」とは、ディスクアレイ装置４−１〜４−ｍが提供する記憶領域を任意に振り分けたものであり、ＬＵＮに相当する。物理ボリュームも実際には論理的なボリュームであり、ディスクアレイ装置４−１〜４−ｍ内部で実際にデータを記憶している物理ディスク９−１〜９−ｏとは異なる。しかし、後述する論理ボリュームである仮想ボリューム７−１〜７−ｌと対比するため、模擬的に「物理ボリューム」と呼ぶ。
【００２４】
以下、「物理ボリューム」をＬＵＮとも呼ぶことがある。
本実施形態の仮想ストレージ装置３においては、物理ボリューム５−１〜５−ｎは、１つのＲＡＩＤグループから作成される場合もあれば、複数のＲＡＩＤグループにまたがって作成される場合もある。
なお、以下、ディスクアレイ装置を示す符号としては、複数のディスクアレイ装置のうち１つを特定する必要があるときには符号４−１〜４−ｍを用いるが、任意のディスクアレイ装置を指すときには符号４を用いる。
【００２５】
又、以下、物理ボリュームを示す符号としては、複数の物理ボリュームのうち１つを特定する必要があるときには符号５−１〜５−ｎを用いるが、任意の物理ボリュームを指すときには符号５を用いる。
又、以下、仮想ボリュームを示す符号としては、複数の仮想ボリュームのうち１つを特定する必要があるときには符号７−１〜７−ｌを用いるが、任意の仮想ボリュームを指すときには符号７を用いる。
【００２６】
図２は、実施形態の一例としてのストレージ仮想化装置８の構成を示す模式図である。
ストレージ仮想化装置８は、ストレージ制御部（ストレージ制御装置）１１をそなえる。
ストレージ制御部１１は、ディスクアレイ装置４に作成されている物理ボリューム５を１以上のストレージプール６として仮想的に統合し、そのストレージプール６から仮想ボリューム７を切り出して、ホスト装置２に提供する。本実施形態においては、ストレージ制御部１１は、ディスクアレイ装置４の性能及び構成によらず、ストレージプール６に対して、仮想的に同等の性能の物理ボリューム５を提供する。
【００２７】
なお、ここで、物理ボリューム５の「性能が同等」又は「性能が同じ」であるとは、両者の性能の差が、所定範囲（例えば５％）以内であることを指す。又、「性能」とは、後述する性能測定部１３によって求められる性能値、性能スコア、及び／又は合計性能スコアを指す。性能値とは、データ転送速度、レスポンスタイム、Input Output Per Second（ＩＯＰＳ）等、物理ボリューム５の性能を示す個々の測定値を指す。又、性能スコアとは、物理ボリューム５の個々の性能値を、例えば０〜１０の範囲に規格化したスコアである。又、合計性能スコアとは、物理ボリューム５の個々のスコアを集計した値である。
【００２８】
ストレージ制御部１１は、物理ボリューム検出部（ボリューム検出部）１２、性能測定部１３、グループ化部１４、物理ボリューム編成部（再編成部）１５、ストレージプール管理部１６、グループ化ルール１７、ストレージプールルール（要求条件）１８、管理テーブル２１、ストレージプールテーブル２２、及びデータ再配置フラグ２３を有する。
物理ボリューム検出部１２は、ディスクアレイ装置４に新たな物理ボリューム５が作成（追加）されると、ディスクアレイ装置４から、例えば状態変更通知（Remote State Change Notification：ＲＳＣＮ）を受信し、ディスクアレイ装置４に新たに物理ボリューム５が作成されたことを検出する。なお、ＲＳＣＮは公知であるため、その詳細な説明は省略する。
【００２９】
性能測定部１３は、物理ボリューム検出部１２が検出した物理ボリューム５について性能検証を実施し、所定のアクセスパターン毎の性能スコアを取得して、合計性能スコアを求める。その際、性能測定部１３は、物理ボリューム５に対して、性能を検証するためのＩ／Ｏ走行（Ｉ／Ｏの発行及びレスポンス取得）を行ない、そのＩ／Ｏ走行におけるデータ転送速度、レスポンスタイム、ＩＯＰＳ等の性能値の実測値を取得する。そして、性能測定部１３は、アクセスパターン毎に取得した各性能値を、例えば０〜１０に規格化した性能スコアに変換する。又、性能測定部１３は、後述する多重度を推定する。
【００３０】
例えば、性能測定部１３は、Sequential Read、Sequential Write、Random Read、Random Writeなどを組み合わせて、物理ボリューム５に対してＩ／Ｏ走行を行なう。このとき、性能測定部１３は、複数の物理ボリューム５に対して同時にＩ／Ｏ走行を行ない、性能の低下が発生しないことも確認する。
ここで、性能測定部１３が、複数の物理ボリューム５に対して同時にＩ／Ｏ走行を行なう理由を説明する。
【００３１】
１つのＲＡＩＤグループから複数の物理ボリューム５が作成されている場合、１つの物理ボリューム５単独の性能値のほうが、同一ＲＡＩＤグループ内の複数の物理ボリューム５に同時に負荷をかけたときの性能値よりも高い。つまり、１つのＲＡＩＤグループから複数の物理ボリューム５が作成されているかどうかは、物理ボリューム５の性能値に大きく影響する。
【００３２】
以下、ある物理ボリューム５について、その物理ボリューム５が属するＲＡＩＤグループから作成されている物理ボリューム５の総数を、「多重度」と呼ぶ。
ここで、ＲＡＩＤグループが複数のディスクアレイ装置４にまたがって構成されていれば、物理ボリューム５の多重度は、各ディスクアレイ装置４の識別情報（World Wide Node Name：ＷＷＮＮ）を参照することにより判断できる。
【００３３】
しかし、一般に、ＲＡＩＤグループが１つのディスクアレイ装置４で構成されている場合には、当該ディスクアレイ装置４のＷＷＮＮを使用して、このディスクアレイ装置４の物理ボリューム５の多重度を取得することができない。
そこで、性能測定部１３は、ＷＷＮＮ等から物理ボリューム５の多重度を取得できない場合には、複数の物理ボリューム５に対して同時に性能検証を行なうことで各物理ボリューム５の多重度を推測する。
【００３４】
性能測定部１３は、物理ボリューム５のうち、例えば、物理ボリューム５−１と物理ボリューム５−２とに対して、同時にＩ／Ｏ負荷をかけて性能検証を行ない、物理ボリューム５−１と物理ボリューム５−２との多重度を取得する。
このとき、物理ボリューム５−１と５−２との性能値（又は性能スコア）の総和が、性能の高い方の物理ボリューム５の２倍近くになった場合、性能測定部１３は、物理ボリューム５−１と物理ボリューム５−２とは、１つのＲＡＩＤグループから作成された複数の物理ボリューム５ではない（それぞれが独立した物理ボリューム５である）と推測する。そして、性能測定部１３は、物理ボリューム５−１と物理ボリューム５−２とに異なる多重度ＩＤを割り当てて、その値を、後述する管理テーブル２１（図６参照）の多重度ＩＤ２１２に記録する。なお、管理テーブル２１については、図６を参照して後述する。
【００３５】
一方、物理ボリューム５−１と５−２との性能値（又は性能スコア）の総和が、性能の高いほうの物理ボリュームの２倍近くに達しない場合、性能測定部１３は、物理ボリューム５−１と物理ボリューム５−２とは、１つのＲＡＩＤグループから作成された複数の物理ボリューム５であると推定する。例えば、性能測定部１３は、物理ボリューム５−１と５−２との性能値（又は性能スコア）の総和が、性能の高い方の物理ボリューム５の性能値を２倍した値を、所定範囲（例えば１０％）下回る場合に、この複数の物理ボリューム５が、１つのＲＡＩＤグループから作成されていると推定する。性能測定部１３は、１つのＲＡＩＤグループから作成されていると推測した物理ボリューム５に対して、同一の多重度ＩＤを割り当て、その値を、管理テーブル２１の多重度ＩＤ２１２に記録する。
【００３６】
ただし、ＲＡＩＤグループが複数のディスクアレイ装置４にまたがって形成されている場合には、性能測定部１３は、ディスクアレイ装置４のＷＷＮＮから複数のＲＡＩＤグループから複数の物理ボリューム５が形成されていることを判定できるので、組み合わせ性能検証を実施しない。
ここで、仮想ストレージ装置３に存在する物理ボリューム５の数をｉとすると、性能測定部１３を、組み合わせ性能検証を、ｉＣ２＝（ｉ×（ｉ−１））／２通り実行する。例えば、物理ボリューム５が２０存在する場合、性能測定部１３は、（２０×（２０−１））／２＝１９０通りの組み合わせ性能検証を実行する。
【００３７】
例えば、３つのディスクアレイ装置４−１，４−２，４−３から、それぞれ１０，４，６ボリュームずつ、計２０の物理ボリューム５が提供されている場合、性能測定部１３は、それぞれのディスクアレイ装置４について、
ディスクアレイ装置４−１：（１０×（１０−１））／２＝４５
ディスクアレイ装置４−２：（４×（４−１））／２＝６
ディスクアレイ装置４−３：（６×（６−１））／２＝１５
通り、合計で４５＋６＋１５＝６６通りの組み合わせ性能検証を実行する。
【００３８】
このようにして性能測定部１３が取得した性能スコアの例を図３に示す。
図３は、実施形態の一例としての性能測定部１３によって取得された性能スコアを例示する図である。
図３の例では、性能測定部１３は、各物理ボリューム５について、Sequential Read、Sequential Write、Random Read、Random Writeのデータ転送速度及びレスポンスタイム、ＩＯＰＳ（平均値、最小値、最大値）など、例えば１０種類の性能値を取得し、これらを、例えば０〜１０の範囲の性能スコアに規格化する。そして、これら１０種類の性能スコアを合計して、０〜１００の合計性能スコアを求める。
【００３９】
グループ化部１４は、グループ化ルール１７に従い、性能測定部１３が求めた各物理ボリューム５の合計性能スコアに基づいて、物理ボリューム５を、複数の性能グループに振り分ける（グループ分けする）。なお、グループ化ルール１７は、事前にシステム管理者等によって定義される。
そして、性能測定部１３は、取得した性能スコアを後述する管理テーブル２１の性能スコア２１３に記録する。
【００４０】
図４は、実施形態の一例としてのグループ化部１４によるグループ分け及びグループ化ルール１７を例示する模式図である。
図４の例では、性能スコア（０〜１００）を０〜１０，１１〜２０、…，９１〜１００の１０ずつの範囲で区切った１０のグループが、情報処理システム１のシステム管理者等によって、事前に定義されている。そして、グループ化部１４は、このグループ化ルール１７に従い、各物理ボリューム５を、その合計性能スコアに基づいて、グループ１〜１０のいずれかに振り分ける。そして、グループ化部１４は、グループ分けした結果を、管理テーブル２１の性能グループ２１４に記録する。
【００４１】
図４の例では、グループ化部１４は、例えば、図３に例示した性能スコアに基づいて、物理ボリューム５−４（ＬＵＮ４）と物理ボリューム５−１０（ＬＵＮ１０）とを、合計性能スコアが９１〜１００のグループ１０に振り分ける。同様に、グループ化部１４は、物理ボリューム５−１（ＬＵＮ１）を、合計性能スコアが８１〜９０のグループ９に振り分ける。
【００４２】
ところで、一般に、１つの物理ボリューム５から連続する記憶領域を取得するよりも、複数の物理ボリューム５から分散して記憶領域を取得する（以下、これをストライプ又はストライピングと呼ぶ）ほうが性能が向上する。この理由は、複数の物理ボリューム５から記憶領域を取得した場合は、シーケンシャルアクセス時に、複数の物理ボリューム５に対してＩ／Ｏが発行され、リードまたはライトが同時に行なわれるためである。
【００４３】
複数の物理ボリューム５をストライピングする場合には、性能が最大で、物理ボリューム５自体の性能の数倍に向上する場合がある。
又、ランダムアクセスの場合も、２多重以上のアクセスでは、複数の物理ボリューム５へのアクセスとしてアクセスが分散され、リード及び／又はライトが同時に行なわれる。このため、多重度が十分高い場合には、性能が最大で、物理ボリューム５自体の性能の数倍に向上する場合がある。
【００４４】
ここで、多重度とは、同時に複数のＩＯ要求に応えることが可能なことを表す。例えば、１つの仮想ボリューム７が、４つのＩＯ要求を同時に処理可能である場合、この仮想ボリューム７の多重度は「４」である。
又、物理ボリューム５自体の性能が数倍に向上する場合、性能が物理ボリューム５の台数倍（ｘ倍）に向上する場合がある。
【００４５】
そこで、物理ボリューム編成部１５は、性能グループに属する物理ボリューム５の合計の容量が規定の容量に達しない場合に、当該性能グループがその要求性能を満足するように、当該性能グループの下位の性能グループの物理ボリューム５を複数束ね、物理ボリューム５′（図５参照）として再編成する。以下、物理ボリューム５を複数束ねる処理をストライピングと呼ぶ。
【００４６】
物理ボリューム編成部１５による物理ボリューム再編成処理を図５に示す。
図５は、実施形態の一例としての物理ボリューム編成部１５による物理ボリューム再編成処理を例示する模式図である。
このとき、まず、物理ボリューム編成部１５は、ストライピングを行なう候補となる物理ボリューム５を決定する。
【００４７】
詳細には、物理ボリューム編成部１５は、後述する管理テーブル２１を参照して、同等の性能グループに属し、かつ同じ容量を持つ未割り当ての物理ボリューム５を複数選択し、ストライピングする候補とする。なお、ストライプ時には各物理ボリューム５から同じサイズの領域が切り出される。このため、物理ボリューム５の領域の一部が使用されずに無駄になるのを回避するために、物理ボリューム編成部１５は、ストライプ候補として同じ容量の物理ボリュームを選択する。又、物理ボリューム編成部１５は、管理テーブル２１の多重度ＩＤ２１２の値が一致する（すなわち同一のＲＡＩＤグループに属する）物理ボリューム５は選択しない。
【００４８】
異なる筐体のディスクアレイ装置４から提供される物理ボリューム５は、厳密には同容量ではない（例えば１ＭＢの誤差がある）場合が考えられる。このため、物理ボリューム編成部１５は、物理ボリューム５の容量の差が所定の許容差範囲（例えば５％以内）であれば、同容量の物理ボリューム５であるとみなす。
そして、物理ボリューム編成部１５は、候補として選択した物理ボリューム５をストライピングすることにより、上位の性能ストレージプール６と同等の性能が得られるかどうかを判定するための仮性能検証を実施する。
【００４９】
このとき物理ボリューム編成部１５は、仮性能検証を、前述の性能測定部１３が実施する性能検証と同様の手法で実施する。そして、物理ボリューム編成部１５は、仮性能検証で得られた性能スコアと、管理テーブル２１に記憶されている上位のストレージプール６の要求性能２１３とを比較する。仮性能検証で得られた性能スコアが、上位のストレージプール６の要求性能２１３と同等（例えば上位のストレージプール６の要求性能２１３の９０％以上）である場合には、物理ボリューム編成部１５は、ストライプにより、上位のストレージプール６の要求性能が満たされると判定する。
【００５０】
そして、仮性能検証で上位の性能ストレージプール６と同等の性能が得られた場合、候補とした物理ボリューム５をストライプに追加する。以下、上位のストレージプール６の要求性能２１３に相当する性能スコアを得るために、物理ボリューム５をストライピングすることを「物理ボリューム５を再編成する」と呼ぶ。物理ボリューム編成部１５は、再編成した物理ボリューム５を、上位の性能グループに追加する。
【００５１】
図５の例では、物理ボリューム編成部１５は、グループ３に振り分けられた物理ボリューム５を再編成された物理ボリューム５′にストライピングする。そして、後述するように、これら再編成された物理ボリューム５′を、後述するストレージプール管理部１６が、ストレージプール６−１，６−２にそれぞれ追加する。
ストレージプール管理部１６は、グループ分けされた各物理ボリューム５を、ストレージプールルール１８に従って、要求性能毎にストレージプール６に振り分けて、その結果を、後述するストレージプールテーブル２２（図７参照）に登録する。
【００５２】
ストレージプールルール１８は、グループ分けされた各物理ボリューム５をストレージプール６に追加するためのルールである。ストレージプールルール１８は、例えば、ストレージプール６の個数や、各ストレージプール６に要求される性能値又は性能スコア（以下、この性能値又は性能スコアを総称して「要求性能」と呼ぶ）及び容量を規定している。ストレージプールルール１８は、システム管理者等によってストレージ制御部１１に事前に定義される。
【００５３】
管理テーブル２１は、ストレージ制御部１１による物理ボリューム５の管理に使用されるテーブルである。
図６は、実施形態の一例としての管理テーブル２１の構成を示す図である。
管理テーブル２１は、物理ボリュームＩＤ２１１、多重度ＩＤ２１２、性能スコア２１３、性能グループ２１４、更新用性能スコア２１５、及び更新用性能グループ２１６を有し、これらが相互に関連付けられている。
【００５４】
物理ボリュームＩＤ２１１は、仮想ストレージ装置３に存在する物理ボリューム５を一意に識別する情報（識別子等）を格納する。
多重度ＩＤ２１２は、物理ボリューム５の多重度ＩＤが格納される。多重度ＩＤ２１２は、例えば、物理ボリューム５が作成されているディスクアレイ装置４のＷＷＮＮを参照することにより、物理ボリューム検出部１２によって設定される。
【００５５】
或いは、ＷＷＮＮ等から物理ボリューム５の多重度を取得できない場合には、多重度ＩＤ２１２に、複数の物理ボリューム５に対して同時に性能検証を行なうことで性能測定部１３が推定した多重度ＩＤの値が格納される。
性能スコア２１３は、性能測定部１３が取得した物理ボリューム５毎の合計性能スコアを格納する。
【００５６】
性能グループ２１４は、グループ化部１４によって決定された、物理ボリューム５が所属する性能グループを一意に特定する情報（識別子等）を格納する。
更新用性能スコア２１５は、仮想ストレージ装置３に新しい物理ボリューム５が追加されたときに、性能測定部１３が取得した物理ボリューム５の合計性能スコアを格納する。
更新用性能グループ２１６は、仮想ストレージ装置３に新しい物理ボリューム５が追加されたときに、グループ化部１４によって決定された、物理ボリューム５が所属する性能グループを示す値を格納する。
【００５７】
ストレージプールテーブル２２は、ストレージ制御部１１によるストレージプール６の管理に使用されるテーブルである。
図７は、実施形態の一例としてのストレージプールテーブル２２の構成を示す図である。
ストレージプールテーブル２２は、ストレージプールＩＤ２２１、ストレージプール容量２２２、グループＩＤ２２３、及び物理ボリュームＩＤ２２４を有し、これらが相互に関連付けられている。
【００５８】
ストレージプールＩＤ２２１は、仮想ストレージ装置３に存在するストレージプールＩＤ２２１を一意に識別する情報（識別子等）を格納する。
ストレージプール容量２２２は、ストレージプール６の合計の記憶容量を示す値を格納する。
グループＩＤ２２３は、ストレージプール６に割り当て済みの物理ボリューム５（後述する物理ボリュームＩＤ２２４によって示される）が所属する性能グループを一意に識別する情報（識別子等）を格納する。１つのストレージプールＩＤ２２１はグループＩＤ２２３を１つ以上、通常は複数有する。グループＩＤ２２３は、ストレージプール管理部１６によって設定される。
【００５９】
物理ボリュームＩＤ２２４は、ストレージプール６に割り当て済みの物理ボリューム５を一意に識別する情報（識別子等）を格納する。１つのストレージプールＩＤ２２１は物理ボリュームＩＤ２２４を１つ以上、通常は複数有する。物理ボリュームＩＤ２２４は、ストレージプール管理部１６によって設定される。
データ再配置フラグ２３（図２）は、仮想ストレージ装置３に新しい物理ボリューム５が追加されたときに、ストレージプール管理部１６が、既存の物理ボリューム５に記憶されているユーザデータを、新たに追加された物理ボリューム５にマイグレーション（移行）するかどうかを示すフラグである。データ再配置フラグ２３は、例えば、情報処理システム１のシステム管理者等によって設定される。
【００６０】
例えば、データ再配置フラグ２３がオフ（例えば値‘０’）に設定されている場合、ストレージプール管理部１６は、既存の物理ボリューム５に記憶されているユーザデータを、追加された物理ボリューム５にマイグレーションしない。一方、データ再配置フラグ２３がオン（例えば値‘１’）に設定されている場合、ストレージプール管理部１６は、既存の物理ボリューム５に記憶されているユーザデータを、追加された物理ボリューム５にマイグレーションする。
【００６１】
データ再配置フラグ２３は、ユーザデータに新しい物理ボリューム５に自動的にマイグレーションさせるかどうかに応じて、システム管理者等によって設定される。
例えば、新しいストレージプール６を作成するために、高速な物理ボリューム５が追加された場合を考える。この場合、仮にデータ再配置フラグ２３がなければ、ユーザデータが新規物理ボリューム５に自動的に再配置されてしまう。システム管理者が、新たなストレージプール６を作成するために追加した物理ボリューム５にデータをマイグレーションするのを避けたい場合、例えば、データ再配置フラグ２３をオフに設定する。
【００６２】
なお、本実施形態では、ストレージ仮想化装置８の不図示のＣＰＵが、ストレージ制御プログラムを実行することにより、上述したストレージ制御部１１は、物理ボリューム検出部１２、性能測定部１３、グループ化部１４、物理ボリューム編成部１５、及びストレージプール管理部１６として機能する。
なお、これらのストレージ制御部１１は、物理ボリューム検出部１２、性能測定部１３、グループ化部１４、物理ボリューム編成部１５、及びストレージプール管理部１６としての機能を実現するためのプログラム（ストレージ制御プログラム）は、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
【００６３】
ストレージ制御部１１は、物理ボリューム検出部１２、性能測定部１３、グループ化部１４、物理ボリューム編成部１５、及びストレージプール管理部１６としての機能を実現する際には、内部記憶装置（本実施形態ではストレージ仮想化装置８の不図示のメモリ等）に格納されたストレージ制御プログラムがコンピュータのマイクロプロセッサ（本実施形態ではストレージ仮想化装置８の不図示のＣＰＵ）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
【００６４】
又、ストレージ仮想化装置８の不図示のメモリ等が、グループ化ルール１７、ストレージプールルール１８、管理テーブル２１、ストレージプールテーブル２２、及びデータ再配置フラグ２３を格納するための格納部として機能する。
（Ｂ）動作
以下、図８〜図１５を参照して、本情報処理システム１における処理を説明する。
（Ｂ−１）全体処理
図８は、実施形態の一例としての情報処理システム１における処理の概要を示すフローチャート（ステップＳ１〜Ｓ５）である。
【００６５】
ステップＳ１において、仮想ストレージ装置３において新しい物理ボリューム５が追加される。このような場合としては、情報処理システム１に仮想ストレージ装置３が新規導入された場合、或いは既存の仮想ストレージ装置３に新しい物理ボリューム５が追加された場合がある。
次にステップＳ２において、物理ボリューム検出部１２が、ステップＳ１で新しい物理ボリューム５が追加されたことを検出する。このとき、物理ボリューム検出部１２は、追加された物理ボリューム５が存在するディスクアレイ装置４から送信されるＲＳＣＮを受信して、該当ディスクアレイ装置４に物理ボリューム５が追加されたことを検出する。
【００６６】
ステップＳ３において、性能測定部１３がステップＳ１で追加された物理ボリューム５を含め、全ての物理ボリューム５について所定のアクセスパターン毎の性能スコアを測定して、合計性能スコアを求める。そして、グループ化部１４が、求めた合計性能スコアを用いて、グループ化ルール１７に従って、各物理ボリューム５を性能グループに振り分ける。
【００６７】
次に、ステップＳ３で振り分けた上位の性能グループの容量が、予め定められた要求性能に満たない場合に、ステップＳ４において、物理ボリューム編成部１５が物理ボリューム再編成処理を行なう。詳細には、物理ボリューム編成部１５は、上位の性能グループが、その要求性能を満足するように、下位の性能グループの物理ボリューム５を複数束ねて（ストライピングし）、要求性能に満たない上位の性能グループに追加する。
【００６８】
ステップＳ５において、ストレージプール管理部１６が、ステップＳ３〜Ｓ４において、性能グループに振り分けた各物理ボリューム５を、ストレージプールルール１８に従って、ストレージプール６に追加する。
以下、図８に示した処理の詳細を、仮想ストレージ装置３の初期導入時と、既存の仮想ストレージ装置３に物理ボリュームが追加された場合とに分けて説明する。
（Ｂ−２）初期導入時
図９は、実施形態の一例としての情報処理システム１における仮想ストレージ装置３の初期導入時の処理を示すフローチャート（ステップＳ１１〜Ｓ１９）である。
【００６９】
ストレージ仮想化装置８の初期起動時に、物理ボリューム５が作成されているディスクアレイ装置４が接続されると、物理ボリューム検出部１２が、ディスクアレイ装置４からＲＳＣＮを受け取ることにより、物理ボリューム５を検出する。
そして、ステップＳ１１〜Ｓ１３において、性能測定部１３が性能検証処理を実行する。
【００７０】
詳細には、ステップＳ１１において、性能測定部１３は、各物理ボリューム５に対して、性能を検証するためのＩ／Ｏ走行を行なう。
ステップＳ１２において、性能測定部１３は、ステップＳ１１で実施したＩ／Ｏ走行時の性能値を取得する。
ステップＳ１３において、性能測定部１３は、ステップＳ１２で実施した性能値から、各物理ボリューム５の性能スコアを求め、合計性能スコアを算出する。性能測定部１３は、算出した合計性能スコアを、管理テーブル２１の性能スコア２１３に登録する。
【００７１】
又、性能測定部１３は、各物理ボリューム５の多重度を判定し、判定結果を管理テーブル２１の多重度ＩＤ２１２に登録する。性能測定部１３は、１つのＲＡＩＤグループから作成されている物理ボリューム５には同一の多重度ＩＤを割り当て、別個のＲＡＩＤグループから作成されている物理ボリューム５にはそれぞれ異なる多重度ＩＤを割り当てる。そして、性能測定部１３は、物理ボリューム５に割り当てた多重度ＩＤを、管理テーブル２１の多重度ＩＤ２１２に登録する。
【００７２】
ステップＳ１４において、グループ化部１４が、ステップＳ１３で算出した性能スコアに基づいて、各物理ボリューム５を性能グループに振り分ける。例えば、図４に示した例では、物理ボリューム５の性能スコアが１〜１０であれば、当該物理ボリューム５を性能グループ０に振り分ける。そして、グループ分けの結果を管理テーブル２１の性能グループ２１４に記録する。
【００７３】
図１０に、ステップＳ１３，Ｓ１４実行後の管理テーブル２１を例示する。
図１０のこの例では、ステップＳ１３において、ＩＤ“ＬＵＮ００１”の物理ボリューム５の多重度ＩＤが０、性能スコアが８５であると決定され、ステップＳ１４でこの物理ボリューム５が性能グループ９に振り分けられている。同様に、ＩＤ“ＬＵＮ００２”の物理ボリューム５の多重度ＩＤが１、性能スコアが５３であると決定され、この物理ボリューム５が性能グループ６に振り分けられている。ＩＤ“ＬＵＮ００３”の物理ボリューム５の多重度ＩＤが１、性能スコアが５７であると決定され、この物理ボリューム５が性能グループ６に振り分けられている。なお、ステップＳ１３において、性能測定部１３は、ＩＤ“ＬＵＮ００２”の物理ボリューム５とＩＤ“ＬＵＮ００３”の物理ボリューム５とが同じＲＡＩＤグループに属すると判定し、この２つの物理ボリューム５に対して同一の多重度ＩＤ“１”を付与する。
【００７４】
次に、ステップＳ１５〜Ｓ１９において、ストレージプール管理部１６がストレージプール管理処理を実行する。
詳細には、ステップＳ１５において、ストレージプール管理部１６は、例えば、情報処理システム１の管理者等が事前に設定した情報等に基づいて、作成するストレージプール６の容量、数、及び性能順位を設定し、ストレージプールテーブル２２を生成する。
【００７５】
ここで、例えば、ストレージプール管理部１６は、以下の３つのストレージプール６を作成するとする。
ストレージプール６−１：１テラバイト（ＴＢ）（性能順位＝１）
ストレージプール６−２：２ＴＢ（性能順位＝２）
ストレージプール６−３：２ＴＢ（性能順位＝３）
ステップＳ１６において、ストレージプール管理部１６は、ステップＳ１５で設定したストレージプール６を、性能順位が高いストレージプール６から作成する。ストレージプール管理部１６は、作成するストレージプール６の容量を、最上位の性能グループの合計容量のみで割り当てることができるかどうかを判定する。
【００７６】
例えば、ストレージプール管理部１６が、図４に例示したグループ化ルール１７を用いて、１ＴＢのストレージプール６−１を作成する場合を考える。図４の例では最上位の性能グループはグループ１０である。このとき、グループ１０に属する物理ボリューム５の合計容量が、少なくとも１ＴＢであるかどうかを判定する。
最上位の性能グループのみで割り当てられる場合（ステップＳ１６のＹＥＳルート参照）、処理が後述するステップＳ１８に移る。
【００７７】
一方、最上位の性能グループだけでは割り当てられない場合（ステップＳ１６のＮＯルート参照）、ステップＳ１７において、物理ボリューム編成部１５が、図１５を参照して後述する物理ボリューム再編成処理を実行して、作成しようとしているストレージプール６に不足している容量を追加する。
ここで例えば、物理ボリューム編成部１５は、図５に例示するように、グループ６に属する物理ボリューム５を３台ストライピングしてグループ９の性能を満たすように再編成する。
【００７８】
ステップＳ１８において、ストレージプール管理部１６は、ストレージプール６に物理ボリューム５を割り当てて、各ストレージプール６に割り当てた物理ボリューム５をストレージプールテーブル２２に記録する。
ステップＳ１９において、ストレージプール管理部１６は、ステップＳ１５で設定したストレージプール６を全て作成したかどうかを判定する。
【００７９】
全てのストレージプール６の作成が完了している場合（ステップＳ１９のＹＥＳルート参照）、本処理が終了する。
全てのストレージプール６の作成が完了していない場合（ステップＳ１９のＮＯルート参照）、ストレージプール管理部１６は、ステップＳ１６に戻り、全ストレージプール６の作成が完了するまで、上記のステップＳ１６〜Ｓ１８の処理を繰り返す。
（Ｂ−３）物理ボリューム５の追加時
図１１，図１２は、実施形態の一例としての情報処理システム１における物理ボリューム５追加時の処理を示すフローチャート（図１１のステップＳ２１〜Ｓ３１、図１２のステップＳ３２〜Ｓ３９）である。
【００８０】
ディスクアレイ装置４にストレージ仮想化装置８が追加されると、物理ボリューム検出部１２が、ディスクアレイ装置４からＲＳＣＮを受け取ることにより、物理ボリューム５を検出する。
そして、ステップＳ２１〜Ｓ２５において、性能測定部１３が性能検証処理を実行する。
【００８１】
詳細には、ステップＳ２１において、性能測定部１３は、各物理ボリューム５に対して、性能を検証するためのＩ／Ｏ走行を行なう。
ステップＳ２２において、性能測定部１３は、ステップＳ２１で実施したＩ／Ｏ走行時の性能値を取得する。
ステップＳ２３において、性能測定部１３は、ステップＳ２２で取得した新規物理ボリューム５の性能値の値が、既存の物理ボリューム５の性能値の最大値と最小値との間に入るかどうかを判定する。
【００８２】
性能値が、既存の物理ボリューム５の性能値の最大値と最小値との間に入る場合（ステップＳ２３のＹＥＳルート参照）、ステップＳ２４において、性能測定部１３は、ステップＳ２２で取得した性能値から、追加された物理ボリューム５の性能スコアを求め、合計性能スコアを算出する。性能測定部１３は、算出した合計性能スコアを、管理テーブル２１の性能スコア２１３に登録する。
【００８３】
一方、合計性能スコアの値が、既存の物理ボリューム５の合計性能スコアの最大値と最小値との間に入らない場合（ステップＳ２３のＮＯルート参照）、ステップＳ２５において、性能測定部１３は、ステップＳ２２で取得した性能値から、全ての物理ボリューム５の性能スコアを求め、合計性能スコアを算出する。性能測定部１３は、算出した合計性能スコアを、管理テーブル２１の更新用性能スコア２１５に登録する。
【００８４】
ステップＳ２５の処理を行なわれる場合としては、例えば、従来はＨＤＤで構成された物理ボリューム５のみが仮想ストレージ装置３に作成されていたが、ＳＳＤで構成された物理ボリューム５が新たに作成された場合などが挙げられる。
ステップＳ２６において、ステップＳ２３で性能値が既存の物理ボリューム５の性能値の最大値と最小値との間に入った場合には、グループ化部１４が、ステップＳ２４で算出した性能スコアに基づいて、各物理ボリューム５を性能グループに振り分ける。そして、グループ分けの結果を管理テーブル２１の性能グループ２１４に記録する。一方、ステップＳ２３で性能値が既存の物理ボリューム５の性能値の最大値と最小値との間に入らない場合、グループ化部１４は、ステップＳ２５で算出した性能スコアに基づいて、各物理ボリューム５を性能グループに振り分ける。そして、グループ分けの結果を管理テーブル２１の更新用性能グループ２１６に記録する。
【００８５】
図１３に、ステップＳ２５，Ｓ２６実行後の管理テーブル２１を例示する。
図１３のこの例では、ステップＳ２３で、ＩＤ“ＬＵＮ０ｘｘ”及び“ＬＵＮ０ｙｙ”の新規物理ボリューム５の合計性能スコア合計性能スコアの値が、既存の物理ボリューム５の合計性能スコアの最大値と最小値との間に入らないと判定されている。そして、ステップＳ２５において、ＩＤ“ＬＵＮ０ｘｘ”の物理ボリューム５の性能スコアが９７であると決定され、ステップＳ２６でこの物理ボリューム５が性能グループ１０に振り分けられている。同様に、ＩＤ“ＬＵＮ０ｙｙ”の物理ボリューム５の性能スコアが１００であると決定され、性能グループ１０に振り分けられている。一方、既存のＩＤ“ＬＵＮ００１”の物理ボリューム５の以前の性能スコアは８５であり性能グループ９に振り分けられていたが、高性能の新しい物理ボリューム５の追加により、ステップＳ２５において、性能スコアが７３に低下している。ステップＳ２６でこの物理ボリューム５が以前の性能グループ９から性能グループ８に降格されている。同様に、既存のＩＤ“ＬＵＮ００２”の物理ボリューム５の以前の性能スコアは５３であったが今回性能スコアが４１に低下し、性能グループ５に降格されている。
【００８６】
次に、ステップＳ２７〜Ｓ３９において、ストレージプール管理部１６がストレージプール管理処理を実行する。
詳細には、ステップＳ２７において、ストレージプール管理部１６は、データ再配置フラグ２３がオンに設定されているかどうかを確認する。
データ再配置フラグ２３がオンに設定されている（ステップＳ２７のＹＥＳルート参照）場合、データ再配置（性能グループへのデータマイグレーション）が必要である。そこで、ステップＳ２８において、ストレージプール管理部１６は、ストレージプールテーブル２２を参照して、既存のストレージプール６が属する性能グループよりも上位の性能グループに、未割り当ての物理ボリューム５が存在するかどうかを判定する。
【００８７】
一方、データ再配置フラグ２３がオンに設定されてない（ステップＳ２７のＮＯルート参照）場合、処理が後述するステップＳ３１に移る。
例えば、ストレージプール６−１が、性能グループ８に属する物理ボリューム５から構成されていた場合を考える。この場合、ストレージプール管理部１６は、まず、ストレージプール６−１に属する性能グループ８よりも上位の性能グループに、未割り当ての物理ボリューム５が存在するかどうかを判定する。
【００８８】
例えば、ストレージプールテーブル２２が図１４に例示する状態にあると仮定する。図１４の例では、性能グループ８よりも上位の性能グループ１０のストレージプールＩＤ２２１及びストレージプール容量２２２が空欄であり、ストレージプール管理部１６は、未割り当ての物理ボリューム５が存在すると判定する。
上位の性能グループに、未割り当ての物理ボリューム５が存在する場合（ステップＳ２８のＹＥＳルート参照）、ステップＳ２９において、ストレージプール管理部１６は、見つかった上位の性能グループの未割り当ての物理ボリューム５に、データをマイグレーションする。データのマイグレーション後に、ストレージプール管理部１６は、移動前にデータを格納していた物理ボリューム５の割り当てを解放する。その際、ストレージプール管理部１６は、後述する物理ボリューム再編成処理によって再編成されていた物理ボリューム５も解放する。
【００８９】
ステップＳ３０において、ステップＳ２８の判定を全てのストレージプール６に実施したかどうかを判定する。
ステップＳ２８の判定を全てのストレージプール６に実施していない場合（ステップＳ３０のＮＯルート参照）、ストレージプール管理部１６はステップＳ２８に戻り、全ストレージプールに対してＳ２８〜Ｓ２９の処理を繰り返す。
【００９０】
一方、ステップＳ２８の判定を全てのストレージプール６に実施した場合（ステップＳ３０のＹＥＳルート参照）、或いはステップＳ２７又はＳ２８の判定がＮＯであった場合、ステップＳ３１において、ストレージプール管理部１６は、ステップＳ２３で性能値が既存の物理ボリューム５の性能値の最大値と最小値との間に入ったかどうかを判定する。
ステップＳ２３で性能値が既存の物理ボリューム５の性能値の最大値と最小値との間に入った場合（ステップＳ３１のＹＥＳルート参照）、処理が後述する図１２のステップＳ３９に移動する。
【００９１】
一方、ステップＳ２３で性能値が既存の物理ボリューム５の性能値の最大値と最小値との間に入っていなかった場合（ステップＳ３１のＮＯルート参照）、図１２のステップＳ３２において、ストレージプール管理部１６は、作成するストレージプール６の容量及び数を設定し、新たなストレージプールテーブル２２を生成する。
ステップＳ３３において、ストレージプール管理部１６は、ステップＳ３２で設定したストレージプール６を、性能順位が高いストレージプール６から作成する。ストレージプール管理部１６は、作成するストレージプール６の容量を、最上位の性能グループの合計容量のみで割り当てることができるかどうかを判定する。
【００９２】
最上位の性能グループのみで割り当てられる場合（ステップＳ３３のＹＥＳルート参照）、処理が後述するステップＳ３５に移る。
一方、最上位の性能グループだけでは割り当てられない場合（ステップＳ３３のＮＯルート参照）、ステップＳ３４において、物理ボリューム編成部１５が、図１５を参照して後述する物理ボリューム再編成処理を実行して、作成しようとしているストレージプール６に不足している容量を追加する。
【００９３】
ステップＳ３５において、ストレージプール管理部１６は、ストレージプール６に物理ボリューム５を割り当てて、各ストレージプール６に割り当てた物理ボリューム５をストレージプールテーブル２２に記録する。
ステップＳ３６において、ストレージプール管理部１６は、全てのストレージプール６の容量及び数が、ステップＳ３２で設定した値を満たしているかどうかを判定する。
【００９４】
全てのストレージプール６の容量及び数がステップＳ３２で設定した値を満たしていない場合（ステップＳ３６のＮＯルート参照）、処理がステップＳ３３に戻る。
全てのストレージプール６の容量及び数がステップＳ３２で設定した値を満たす場合（ステップＳ３６のＹＥＳルート参照）、ステップＳ３７において、ストレージプール管理部１６は、古い（既存の）ストレージプールテーブル２２のデータを、新しいストレージプールテーブル２２に移動する。
【００９５】
ステップＳ３８において、ストレージプール管理部１６は、古いストレージプールテーブル２２を解放する。
ステップＳ３９において、ストレージプール管理部１６は、管理テーブル２１を更新して本処理を終了する。
（Ｂ−４）物理ボリューム再編成処理
以下、物理ボリューム編成部１５による物理ボリューム再編成処理について図１５を参照して説明する。
【００９６】
図１５は、実施形態の一例としての物理ボリューム編成部１５による物理ボリューム再編成処理を示すフローチャート（ステップＳ４１〜Ｓ４７）である。
ステップＳ４１において、物理ボリューム編成部１５は、ストライピングを行なう物理ボリューム５を決定する。
次にステップＳ４２において、物理ボリューム編成部１５は、ステップＳ４１で選択したボリュームをストライピングすることで、上位性能ストレージプール６と同等の性能が得られるか仮性能検証を行なう。この性能検証は、物理ボリューム５を組み込んだときに測定する性能検証と同様に行なわれる。
【００９７】
次に、ステップＳ４３において、物理ボリューム編成部１５は、ステップＳ４１の仮性能検証において、ストライプにより上位のストレージプール６の要求性能が満たされたかどうかを判定する。
ストライプにより上位のストレージプール６の要求性能が満たされない場合（ステップＳ４３のＮＯルート参照）、ステップＳ４４において、物理ボリューム編成部１５は、ストライプに追加できる未使用の物理ボリューム５が存在するかどうかを判定する。
【００９８】
未使用の物理ボリューム５が存在しない場合（ステップＳ４４のＮＯルート参照）、全ての物理ボリューム５を追加しても目標の性能を達成することができない。そこで、ステップＳ４５において、物理ボリューム編成部１５は、再編成できない旨をオペレータに通知して物理ディスクの増設を促し、本処理を終了する。この後、オペレータが物理ディスクを増設すると、再度本処理が実行されて、追加ディスクを上位のストレージプール６に追加するかどうかを検証する。
【００９９】
一方、未使用の物理ボリューム５が存在する場合（ステップＳ４４のＹＥＳルート参照）、ステップＳ４６において、物理ボリューム編成部１５は、ストライプに物理ボリューム５を追加して、ステップＳ４１に戻り以降の処理を実行する。
一方、ステップＳ４３でストライプにより上位のストレージプール６の要求性能が満たされた場合（ステップＳ４３のＹＥＳルート参照）、ステップＳ４７において、物理ボリューム編成部１５は、ストライプされた物理ボリューム５を作成し、上位のストレージプール６に追加する。ステップＳ４２の仮性能検証で、上位のストレージプール６の性能値と同等であることが証明されているため、ストライプされた物理ボリューム５を上位のストレージプール６に追加し、以降、このボリュームを上位のサーバ２から使用することが可能となる。
（Ｃ）効果
前述のように、本実施形態の一例によれば、ストレージ制御部１１の物理ボリューム検出部１２が、物理ボリューム５の追加を認識し、性能測定部１３が、追加された物理ボリューム５の性能検証を実行する。そして、グループ化部１４が、性能検証の結果に応じて、物理ボリューム５をグループ分けして、物理ボリューム５を適切なストレージプール６に追加する。
【０１００】
このため、性能値が近い物理ボリューム５同士が性能グループに振り分けられるので、要求される要求性能に応じたストレージプール６が自律的に構成される。
これにより、システム管理者は、各物理ボリューム５の性能や特性を知る必要なしに、適切な性能を有する所定の容量のストレージプール６を構成することができる。
又、物理ボリューム編成部１５が、低速な物理ボリューム５で構成された複数の物理ボリューム５をストライピングして、単体の物理ボリューム５を超える要求性能を有する１つの物理ボリューム５を作成する。そして、作成した物理ボリューム５を、上位のストレージプール６に追加する。
【０１０１】
これにより、仮想ストレージ装置３に低速な物理ボリューム５が多く存在する場合であっても、ストレージ仮想化装置８が低速な物理ボリューム５をストライピングすることで、ストレージブール６に属する高速な物理ボリューム５として運用することが可能となる。
又、本実施形態においては、ストレージプール管理部１６が、データ再配置フラグ２３を参照して、既存の物理ボリューム５に記憶されているユーザデータを、新たに追加された物理ボリューム５にマイグレーションするかどうかを判定する。これにより、新しいストレージプール６を作成するために、高速な物理ボリューム５が追加された場合などに、新規ボリューム５へのデータマイグレーションを阻止することができる。
【０１０２】
さらに、本実施形態においては、性能測定部１３は、性能検証時に、物理ボリューム５のそれぞれについて、同一のＲＡＩＤグループに属するかどうかを示す多重度を推定する。これにより、物理ボリューム５の性能を正確に把握することができ、物理ボリューム５から作成されるストレージプール６の性能向上を図ることができる。
又、本実施形態においては、物理ボリューム検出部１２が、新しい物理ボリューム５の作成を検出する。このため、多くの物理ボリューム５が作成された場合であっても、ストレージプール６の作成や管理を省力化することができる。
（Ｄ）その他
そして、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
【０１０３】
例えば、上記の実施形態においては、性能測定部１３は、物理ボリューム５の実測した性能値を０〜１０の性能スコアに変換したが、性能測定部１３が他の方法によって、物理ボリューム５の性能を示す尺度を取得してもよい。
（Ｅ）付記
以上の実施形態に関し、更に以下の付記を開示する。
【０１０４】
（付記１）
仮想ストレージ装置を制御するストレージ制御装置であって、
前記仮想ストレージ装置に存在する複数のボリュームの性能情報を取得する性能測定部と、
前記複数のボリュームの前記性能情報とグループ化ルールとに基づいて、前記複数のボリュームを、要求性能の異なる複数の性能グループに振り分けるグループ化部と、
ストレージプールの要求条件が満たされるまで、仮想ボリュームが切り出される前記複数の性能グループに振り分けたボリュームを前記ストレージプールに追加するストレージプール管理部と、
をそなえることを特徴とするストレージ制御装置。
【０１０５】
（付記２）
前記複数の性能グループのうち、その要求性能に満たない性能グループが存在する場合に、該性能グループが前記要求性能を満たすように、前記要求性能に満たない性能グループよりも要求性能の低い性能グループに振り分けられたボリュームを複数集約した再編成ボリュームを生成して前記前記要求性能に満たない性能グループに追加する再編成部
をさらにそなえることを特徴とする付記１記載のストレージ制御装置。
【０１０６】
（付記３）
前記ストレージ制御装置はデータ再配置フラグをさらにそなえ、
前記ストレージプール管理部は、前記データ再配置フラグが無効に設定されている場合、前記仮想ストレージ装置において新しいボリュームが作成されたときに、前記新しいボリュームにデータが移動されるのを阻止する
ことを特徴とする付記１又は２記載のストレージ制御装置。
【０１０７】
（付記４）
前記性能測定部は、前記性能情報から、前記複数のボリュームのそれぞれについて、同一の冗長グループに属するかどうかを示す多重度を推定する
ことを特徴とする付記１〜３のいずれか１項に記載のストレージ制御装置。
（付記５）
前記仮想ストレージ装置における新たなボリュームの追加を検出するボリューム検出部
をさらにそなえることを特徴とする付記１〜４のいずれか１項記載のストレージ制御装置。
【０１０８】
（付記６）
複数のボリュームと、
ストレージ制御装置とをそなえ、
前記ストレージ制御装置は、
前記複数のボリュームの性能情報を取得する性能測定部と、
前記複数のボリュームの前記性能情報とグループ化ルールとに基づいて、前記複数のボリュームを、要求性能の異なる複数の性能グループに振り分けるグループ化部と、
ストレージプールの要求条件が満たされるまで、仮想ボリュームが切り出される前記複数の性能グループに振り分けたボリュームを前記ストレージプールに追加するストレージプール管理部と、
をそなえることを特徴とする仮想ストレージ装置。
【０１０９】
（付記７）
仮想ストレージ装置を制御するストレージ制御方法であって、
前記仮想ストレージ装置に存在する複数のボリュームの性能情報を取得し、
前記複数のボリュームの前記性能情報とグループ化ルールとに基づいて、前記複数のボリュームを、要求性能の異なる複数の性能グループに振り分け、
ストレージプールの要求条件が満たされるまで、仮想ボリュームが切り出される前記複数の性能グループに振り分けたボリュームを前記ストレージプールに追加する
ことを特徴とするストレージ制御方法。
【０１１０】
（付記８）
前記複数の性能グループのうち、その要求性能に満たない性能グループが存在する場合に、該性能グループが前記要求性能を満たすように、前記要求性能に満たない性能グループよりも要求性能の低い性能グループに振り分けられたボリュームを複数集約した再編成ボリュームを生成して前記前記要求性能に満たない性能グループに追加する
ことを特徴とする付記７記載のストレージ制御方法。
【０１１１】
（付記９）
データ再配置フラグが無効に設定されている場合、前記仮想ストレージ装置において新しいボリュームが作成されたときに、前記新しいボリュームにデータが移動されるのを阻止する
ことを特徴とする付記７又は８記載のストレージ制御方法。
【０１１２】
（付記１０）
前記性能情報から、前記複数のボリュームのそれぞれについて、同一の冗長グループに属するかどうかを示す多重度を推定する
ことを特徴とする付記７〜９のいずれか１項に記載のストレージ制御方法。
（付記１１）
前記仮想ストレージ装置における新たなボリュームの追加を検出する
ことを特徴とする付記７〜１０のいずれか１項記載のストレージ制御方法。
【０１１３】
（付記１２）
仮想ストレージ装置を制御するストレージ制御プログラムであって、
前記仮想ストレージ装置に存在する複数のボリュームの性能情報を取得し、
前記複数のボリュームの前記性能情報とグループ化ルールとに基づいて、前記複数のボリュームを、要求性能の異なる複数の性能グループに振り分け、
ストレージプールの要求条件が満たされるまで、仮想ボリュームが切り出される前記複数の性能グループに振り分けたボリュームを前記ストレージプールに追加する
処理をコンピュータに実行させることを特徴とするストレージ制御プログラム。
【０１１４】
（付記１３）
前記複数の性能グループのうち、その要求性能に満たない性能グループが存在する場合に、該性能グループが前記要求性能を満たすように、前記要求性能に満たない性能グループよりも要求性能の低い性能グループに振り分けられたボリュームを複数集約した再編成ボリュームを生成して前記前記要求性能に満たない性能グループに追加する
処理を前記コンピュータに実行させることを特徴とする付記１２記載のストレージ制御プログラム。
【０１１５】
（付記１４）
データ再配置フラグが無効に設定されている場合、前記仮想ストレージ装置において新しいボリュームが作成されたときに、前記新しいボリュームにデータが移動されるのを阻止する
処理を前記コンピュータに実行させることを特徴とする付記１２又は１３記載のストレージ制御プログラム。
【０１１６】
（付記１５）
前記性能情報から、前記複数のボリュームのそれぞれについて、同一の冗長グループに属するかどうかを示す多重度を推定する
処理を前記コンピュータに実行させることを特徴とする付記１２〜１４のいずれか１項に記載のストレージ制御プログラム。
【０１１７】
（付記１６）
前記仮想ストレージ装置における新たなボリュームの追加を検出する
処理を前記コンピュータに実行させることを特徴とする付記１２〜１５のいずれか１項記載のストレージ制御プログラム。
【符号の説明】
【０１１８】
１                  情報処理システム
２−１〜２−ｋ      ホスト装置
３                  仮想ストレージ装置
４−１〜４−ｍ，４  ディスクアレイ装置
５−１〜５−ｎ，５  物理ボリューム
６                  ストレージプール
７−１〜７−ｌ，７  仮想ボリューム
８                  ストレージ仮想化装置
１１                ストレージ制御部（ストレージ制御装置）
１２                物理ボリューム検出部（ボリューム検出部）
１３                性能測定部
１４                グループ化部
１５                物理ボリューム編成部（再編成部）
１６                ストレージプール管理部
１７                グループ化ルール
１８                ストレージプールルール（要求条件）
２１                管理テーブル
２２                ストレージプールテーブル
２３                データ再配置フラグ
【図１】
2015158711.tif 000003
【図２】
2015158711.tif 000004
【図３】
2015158711.tif 000005
【図４】
2015158711.tif 000006
【図５】
2015158711.tif 000007
【図６】
2015158711.tif 000008
【図７】
2015158711.tif 000009
【図８】
2015158711.tif 000010
【図９】
2015158711.tif 000011
【図１０】
2015158711.tif 000012
【図１１】
2015158711.tif 000013
【図１２】
2015158711.tif 000014
【図１３】
2015158711.tif 000015
【図１４】
2015158711.tif 000016
【図１５】
2015158711.tif 000017
【図１６】
2015158711.tif 000018