(57)【要約】【課題】性能特性が異なる複数の記憶装置を備えるストレージ装置のシステム構成を容易に決定する。【解決手段】所定時刻における第１及び第２記憶装置３１，３２に対する単位時間あたりのアクセス回数を示す第１のアクセス回数と、所定時刻における第１及び第２の記憶装置３１，３２のビジー率とに基づき、第１及び第２記憶装置３１，３２に対する単位時間当たりのアクセス回数の最大値を示す第２のアクセス回数を算出する算出部１２と、ビジー率と、算出部１２によって算出された第２のアクセス回数とに基づき、ストレージ装置に対する単位時間あたりのアクセス回数を示す第３のアクセス回数を推定する推定部１３と、を備える。【選択図】図１
2017090959.tif 000002
【特許請求の範囲】
【請求項１】
第１記憶装置と、前記第１記憶装置とは異なる性能特性を有する第２記憶装置とを備えるストレージ装置であって、
所定時刻における前記第１及び第２記憶装置に対する単位時間あたりのアクセス回数を示す第１のアクセス回数と、前記所定時刻における前記第１及び第２の記憶装置のビジー率とに基づき、前記第１及び第２記憶装置に対する単位時間当たりのアクセス回数の最大値を示す第２のアクセス回数を算出する算出部と、
前記ビジー率と、前記算出部によって算出された前記第２のアクセス回数とに基づき、当該ストレージ装置に対する単位時間あたりのアクセス回数を示す第３のアクセス回数を推定する推定部と、
を備える、ストレージ装置。
【請求項２】
前記第３のアクセス回数の推定は、
前記第１記憶装置についての前記第２のアクセス回数が、前記第２記憶装置についての第２のアクセス回数以下である場合に、
前記第１記憶装置に対する単位時間あたりのアクセス回数が前記第２のアクセス回数に達した際における、前記第２記憶装置に対する単位時間あたりのアクセス回数を示す第４のアクセス回数を算出し、
前記第１記憶装置についての前記第２のアクセス回数と、前記第２記憶装置についての前記第４のアクセス回数との和を算出する、
ことによって行なわれる、請求項１に記載のストレージ装置。
【請求項３】
前記第４のアクセス回数の算出は、
前記第１記憶装置についての前記第１のアクセス回数と、前記第２記憶装置についての前記第１のアクセス回数との比率を示す第１の比率を算出し、
前記第１記憶装置についての前記第２のアクセス回数と、前記第１記憶装置に対する単位時間あたりのアクセス回数が前記第２のアクセス回数に達した際における、前記第２記憶装置についての前記第４のアクセス回数との比率を、前記第１の比率と等しくする、
ことによって行なわれる、請求項２に記載のストレージ装置。
【請求項４】
前記第４のアクセス回数の算出は、
前記第１記憶装置についての前記ビジー率と、前記第２記憶装置についての前記ビジー率との比率を示す第２の比率を算出し、
前記第１記憶装置に対する単位時間あたりのアクセス回数が前記第２のアクセス回数に達した際における、前記第１記憶装置についてのビジー率と、前記第２記憶装置についてのビジー率との比率を、前記第２の比率と等しくする、
ことによって行なわれる、請求項２に記載のストレージ装置。
【請求項５】
第１記憶装置と、前記第１記憶装置とは異なる性能特性を有する第２記憶装置とを備えるストレージ装置に備えられるコンピュータに、
所定時刻における前記第１及び第２記憶装置に対する単位時間あたりのアクセス回数を示す第１のアクセス回数と、前記所定時刻における前記第１及び第２の記憶装置のビジー率とに基づき、前記第１及び第２記憶装置に対する単位時間当たりのアクセス回数の最大値を示す第２のアクセス回数を算出し、
前記ビジー率と、前記算出された前記第２のアクセス回数とに基づき、当該ストレージ装置に対する単位時間あたりのアクセス回数を示す第３のアクセス回数を推定する、
処理を実行させる、性能推定プログラム。
【請求項６】
第１記憶装置と、前記第１記憶装置とは異なる性能特性を有する第２記憶装置とを備えるストレージ装置において、
所定時刻における前記第１及び第２記憶装置に対する単位時間あたりのアクセス回数を示す第１のアクセス回数と、前記所定時刻における前記第１及び第２の記憶装置のビジー率とに基づき、前記第１及び第２記憶装置に対する単位時間当たりのアクセス回数の最大値を示す第２のアクセス回数を算出し、
前記ビジー率と、前記算出された前記第２のアクセス回数とに基づき、当該ストレージ装置に対する単位時間あたりのアクセス回数を示す第３のアクセス回数を推定する、
性能推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置，性能推定プログラム及び性能推定方法に関する。
【背景技術】
【０００２】
データのＩＯ（Input Output；入出力）性能を考慮して、複数のファイルサーバ等を備えるストレージ装置のシステム構成を容易に決定できる技術が知られている（例えば、下記特許文献２）。
【０００３】
ユーザからのＩＯ（以下、単に「ユーザＩＯ」と称する場合がある。）によるアクセスパターンが変化すると、ファイルサーバに備えられるＨＤＤ（Hard Disk Drive）に対してデータをリード／ライトする位置が変化する。これにより、ＨＤＤのオーバヘッド量が変化し、ＩＯ性能の最大値も変化する。
【０００４】
「アクセスパターン」は、リード及びライトの各ディスクアクセスのそれぞれについて、１回あたりのディスクアクセスサイズ（「ＩＯサイズ」と称されてもよい。）毎のアクセス発生比率を表す。別言すれば、「アクセスパターン」は、ファイルサーバの実際の運用に際して、ストレージ装置に対して生じたリード及びライトのディスクアクセスについて、ＩＯサイズ毎の発生回数を測定及び分析し、その結果を統計的に表した情報である。「アクセスパターン」は、「ワークロード」と称されてもよい。
【０００５】
ＩＯ性能の最大値を考慮したシステム構成が行なわれない場合には、ファイルサーバに備えられる複数のＨＤＤのうち、一部のＨＤＤに対するディスクアクセスが集中して、システム全体におけるＩＯ性能が低下するおそれがある。以下、「ＩＯ性能の最大値」を、単に「最大ＩＯ性能」と称する場合がある。
【０００６】
そこで、ＩＯＰＳ（Input Output Per Second）とＩＯビジー率との関係をモニタし、モニタ結果に基づいて現時点での最大ＩＯ性能を算出することにより、ストレージ装置のシステム構成を決定する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１３−１７１３０５号公報
【特許文献２】特開２０１１−２４３０４３号公報
【特許文献３】特開２０１３−１６４８２０号公報
【特許文献４】特表２０１２−５０９５３８号公報
【特許文献５】国際公開２０１１／０９２７３８号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した技術においては、ＨＤＤに加えて、ＳＳＤ（Solid State Drive）等のＨＤＤとは異なる性能特性を有する記憶装置を備えるストレージ装置のシステム構成を、最大ＩＯ性能を考慮して行なうことができない。これにより、ファイルサーバに備えられる複数のＨＤＤやＳＳＤのうち、一部のＨＤＤやＳＳＤに対するディスクアクセスが集中して、システム全体におけるＩＯ性能が低下するおそれがある。
【０００９】
１つの側面では、本発明は、性能特性が異なる複数の記憶装置を備えるストレージ装置のシステム構成を容易に決定することを目的とする。
【課題を解決するための手段】
【００１０】
このため、このストレージ装置は、第１記憶装置と、前記第１記憶装置とは異なる性能特性を有する第２記憶装置とを備えるストレージ装置であって、所定時刻における前記第１及び第２記憶装置に対する単位時間あたりのアクセス回数を示す第１のアクセス回数と、前記所定時刻における前記第１及び第２の記憶装置のビジー率とに基づき、前記第１及び第２記憶装置に対する単位時間当たりのアクセス回数の最大値を示す第２のアクセス回数を算出する算出部と、前記ビジー率と、前記算出部によって算出された前記第２のアクセス回数とに基づき、当該ストレージ装置に対する単位時間あたりのアクセス回数を示す第３のアクセス回数を推定する推定部と、を備える。
【発明の効果】
【００１１】
開示のストレージ装置によれば、性能特性が異なる複数の記憶装置を備えるストレージ装置のシステム構成を容易に決定することができる。
【図面の簡単な説明】
【００１２】
【図１】実施形態の一例としてのストレージ装置の機能構成を模式的に示す図である。
【図２】実施形態の一例としてのストレージ装置におけるストレージボリューム構成を模式的に例示する図である。
【図３】実施形態の一例としてのストレージ装置における性能推定処理例を説明する図である。
【図４】実施形態の一例としてのストレージ装置が備えるＨＤＤ及びＳＳＤにおけるＩＯＰＳとビジー率との関係の例を説明する図である。
【図５】実施形態の一例としてのストレージ装置における性能推定処理例を説明するフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面を参照して一実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。
【００１４】
また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【００１５】
以下、図中において、同一の各符号は同様の部分を示しているので、その説明は省略する。
【００１６】
〔Ａ〕実施形態の一例
〔Ａ−１〕システム構成
図１は、実施形態の一例としてのストレージ装置１の機能構成を模式的に示す図である。
【００１７】
ストレージ装置１は、例示的に、後述するＨＤＤ３１やＳＳＤ３２を搭載し、ホスト装置（不図示）に対して記憶領域を提供する装置である。ストレージ装置１は、例えば、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）を用いてＨＤＤ３１やＳＳＤ３２にデータを分散又は冗長化した状態で保存してよい。
【００１８】
また、ストレージ装置１は、例示的に、ＨＤＤ３１及びＳＳＤ３２のＩＯＰＳとビジー率との実測値と、ＩＯＰＳとビジー率との線形特性とに基づき、ストレージ装置１全体のＩＯＰＳを推定する。ストレージ装置１全体のＩＯＰＳを推定方法の詳細については、図３等を用いて後述される。
【００１９】
ストレージ装置１は、ＣＰＵ（Central Processing Unit）１０，メモリ２０，ＨＤＤ３１及びＳＳＤ３２を備えてよい。また、ストレージ装置１には、階層制御ドライバ４０，仮想ボリューム５０及びユーザアプリケーション６０が展開されてよい。
【００２０】
ＨＤＤ３１及びＳＳＤ３２は、記憶装置の一例であり、例示的に、データを読み書き可能に記憶する記憶装置である。ＨＤＤ３１は、ＳＳＤ３２とは異なる性能特性を有してよい。「性能特性」は、「性能値」と称されてもよく、例えば、ＩＯＰＳやアクセス速度である。一般に、ＨＤＤ３１及びＳＳＤ３２が同一条件下で使用される場合には、ＳＳＤ３２は、ＨＤＤ３１よりも性能値（例えば、ＩＯＰＳやアクセス速度）が高い。また、ＨＤＤ３１の記憶容量は、ＳＳＤ３２の記憶容量よりも大きくてよい。
【００２１】
なお、図１においてはＨＤＤ３１及びＳＳＤ３２はそれぞれ１つずつ示されているが、これに限定されるものではなく、ストレージ装置１に備えられるＨＤＤ３１及びＳＳＤ３２の数は種々変更されてよい。以下、「ＨＤＤ３１」と「ＳＳＤ３２」とをまとめて、「記憶装置３１及び３２」という場合がある。「記憶装置」は、「サブプール」と称されてもよい。
【００２２】
階層制御ドライバ４０は、例示的に、記憶装置３１及び３２に格納するデータの階層制御を行なう。別言すれば、階層制御ドライバ４０は、アクセス頻度が高いデータをＩＯＰＳ及びアクセス速度が高いＳＳＤ３２に格納するように制御して、アクセス頻度が低いデータをＩＯＰＳ及びアクセス速度が低いＨＤＤ３１に格納するように制御してよい。すなわち、階層制御ドライバ４０は、発生したユーザＩＯをＨＤＤ３１とＳＳＤ３２とに分離して格納する制御を行なう。
【００２３】
また、階層制御ドライバ４０は、図４を用いて後述するように、記憶装置３１及び３２におけるＩＯＰＳとビジー率とを定期的に測定してよい。
【００２４】
仮想ボリューム５０は、例示的に、ユーザによって認識可能な論理的なボリュームである。「仮想ボリューム」は、「論理ボリューム」や「ＬＵ（Logical Unit）」と称されてもよい。
【００２５】
ユーザアプリケーション６０は、例示的に、データの格納処理の実行等の機能を有するソフトウェアである。ユーザアプリケーション６０は、ユーザからの入力に基づき、仮想ボリューム５０に対して、ユーザＩＯを発行してよい。「ユーザアプリケーション」は、「ＶＭ（Virtual Machine）」であってもよい。
【００２６】
図２は、実施形態の一例としてのストレージ装置１におけるストレージボリューム構成を模式的に例示する図である。
【００２７】
ユーザアプリケーション６０は、例えばデータの書き込みに係るユーザＩＯを仮想ボリューム５０に対して発行してよい（符号Ａ１参照）。これにより、仮想ボリューム５０には、例えば１Ｇバイトや２５６ＧバイトのサブＬＵＮ（Logical Unit Number）７単位に分割されたデータが格納されてよい。図２においては、ＩＤ（識別子）１〜１２で特定される１２個のサブＬＵＮ７が、仮想ボリューム５０に格納されている例を示している。
【００２８】
「サブＬＵＮ」は、「セグメント」と称されてもよい。なお、図２においては、一部の「サブＬＵＮ」に対してのみ符号が図示され、その他の「サブＬＵＮ」に対する符号の図示は省略されている。
【００２９】
階層制御ドライバ４０は、仮想ボリューム５０に格納されているサブＬＵＮ７のうち、一部のサブＬＵＮ７をＨＤＤ３１に格納してよい（符号Ａ２参照）。図２においては、ＩＤ１〜１２で特定されるサブＬＵＮ７のうち、ＩＤ２，３，４，６及び７で特定されるサブＬＵＮ７がＨＤＤ３１に格納される例が示されている。
【００３０】
階層制御ドライバ４０は、仮想ボリューム５０に格納されているサブＬＵＮ７のうち、一部のサブＬＵＮ７をＳＳＤ３２に格納してよい（符号Ａ３参照）。図２においては、ＩＤ１〜１２で特定されるサブＬＵＮ７のうち、ＩＤ１，５及び９で特定されるサブＬＵＮ７がＳＳＤ３２に格納される例が示されている。なお、図２の仮想ボリューム５０及びＳＳＤ３２において、ＳＳＤ３２に格納されるサブＬＵＮ７は、太枠で示されている。
【００３１】
メモリ２０は、例示的に、ＲＯＭ（Read Only Memory）及びＲＡＭ（Random Access Memory）を含む記憶装置である。メモリ２０のＲＯＭには、ＢＩＯＳ（Basic Input/Output System）や階層制御ドライバ４０，ユーザアプリケーション６０等のプログラムが書き込まれてよい。メモリ２０のプログラムは、ＣＰＵ１０に適宜に読み込まれて実行されてよい。また、メモリ２０のＲＡＭは、一次記録メモリあるいはワーキングメモリとして利用されてよい。
【００３２】
ＣＰＵ１０は、例示的に、種々の制御や演算を行なう処理装置であり、メモリ２０に格納されたＯＳ（Operating System）やプログラム（本実施形態の一例においては、性能推定プログラム）を実行することにより、種々の機能を実現する。すなわち、ＣＰＵ１０は、図１に示すように、取得部１１，算出部１２及び推定部１３として機能してよい。ＣＰＵ１０は、性能推定プログラムを一定間隔で起動することにより、ストレージ装置１全体の性能を定期的に推定してよい。
【００３３】
なお、これらの取得部１１，算出部１２及び推定部１３としての機能を実現するためのプログラムは、例えばフレキシブルディスク、ＣＤ（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ等）、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ、ＤＶＤ＋Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、ＨＤ  ＤＶＤ等）、ブルーレイディスク、磁気ディスク、光ディスク、光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供されてよい。そして、コンピュータ（本実施形態ではＣＰＵ１０）は上述した記録媒体から図示しない読取装置を介してプログラムを読み取って内部記録装置または外部記録装置に転送し格納して用いてよい。また、プログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、記憶装置から通信経路を介してコンピュータに提供してもよい。
【００３４】
取得部１１，算出部１２及び推定部１３としての機能を実現する際には、内部記憶装置（本実施形態ではメモリ２０）に格納されたプログラムがコンピュータ（本実施形態ではＣＰＵ１０）によって実行されてよい。また、記録媒体に記録されたプログラムをコンピュータが読み取って実行してもよい。
【００３５】
ＣＰＵ１０は、例示的に、ストレージ装置１全体の動作を制御する。ストレージ装置１全体の動作を制御するための装置は、ＣＰＵ１０に限定されず、例えば、ＭＰＵ（Micro Processing Unit）やＤＳＰ（Digital Signal Processor），ＡＳＩＣ（Application Specific Integrated Circuit），ＰＬＤ（Programmable Logic Device），ＦＰＧＡ（Field Programmable Gate Array）のいずれか１つであってもよい。また、ストレージ装置１全体の動作を制御するための装置は、ＣＰＵ，ＭＰＵ，ＤＳＰ，ＡＳＩＣ，ＰＬＤ及びＦＰＧＡのうちの２種類以上の組み合わせであってもよい。
【００３６】
取得部１１は、例示的に、ＨＤＤ３１のＩＯＰＳ及びビジー率と、ＳＳＤ３２のＩＯＰＳ及びビジー率とを取得する。ＨＤＤ３１のＩＯＰＳ及びビジー率と、ＳＳＤ３２のＩＯＰＳ及びビジー率とは、いずれも同時刻におけるものであってよい。
【００３７】
取得部１１によって取得された「ＩＯＰＳ」は、「第１のアクセス回数」の一例であり、例示的に、記憶装置３１及び３２に対する単位時間あたりのアクセス回数である。「ビジー率」は、例示的に、記憶装置３１及び３２に対して許容される負荷の割合である。「ビジー率」は、「％ｕｔｉｌ」と称されてもよい。
【００３８】
取得部１１は、階層制御ドライバ４０によって測定された記憶装置３１及び３２のＩＯＰＳ及びビジー率を定期的に取得してよい。取得部１１によって定期的に取得された複数組のＩＯＰＳ及びビジー率に関する情報は、「サブプール統計情報」や「統計情報」と称されてもよい。
【００３９】
算出部１２は、例示的に、ＨＤＤ３１におけるＩＯＰＳの最大値と、ＳＳＤ３２におけるＩＯＰＳの最大値とを算出する。算出部１２は、取得部１１によって取得されたＨＤＤ３１のＩＯＰＳ及びビジー率に基づき、ＨＤＤ３１におけるＩＯＰＳの最大値を算出してよい。また、算出部１２は、取得部１１によって取得されたＳＳＤ３２のＩＯＰＳ及びビジー率に基づき、ＳＳＤ３２におけるＩＯＰＳの最大値を算出してよい。
【００４０】
「ＩＯＰＳの最大値」は、「第２のアクセス回数」の一例であり、例示的に、記憶装置３１及び３２の性能が飽和状態に達する際（例えば、ビジー率が８０％の際）におけるＩＯＰＳである。「ＩＯＰＳの最大値」は、「最大性能値」と称されてもよい。
【００４１】
推定部１３は、例示的に、ストレージ装置１全体におけるＩＯＰＳを推定する。推定部１３は、取得部１１によって取得された記憶装置３１及び３２のビジー率と、算出部１２によって算出された記憶装置３１及び３２についてのＩＯＰＳの最大値とに基づき、ストレージ装置１全体におけるＩＯＰＳを推定してよい。
【００４２】
「ストレージ装置１全体におけるＩＯＰＳ」は、「第３のアクセス回数」の一例である。
【００４３】
推定部１３は、ＨＤＤ３１についてのＩＯＰＳの最大値が、ＳＳＤ３２についてのＩＯＰＳの最大値以下である場合に、ＨＤＤ３１のＩＯＰＳが最大値に達した際におけるＳＳＤ３２のＩＯＰＳを算出してよい。そして、推定部１３は、ＨＤＤ３１についてのＩＯＰＳの最大値と、ＨＤＤ３１のＩＯＰＳが最大値に達した際におけるＳＳＤ３２のＩＯＰＳとの和を算出することにより、ストレージ装置１全体におけるＩＯＰＳを算出してよい。
【００４４】
また、推定部１３は、ＳＳＤ３２についてのＩＯＰＳの最大値が、ＨＤＤ３１についてのＩＯＰＳの最大値以下である場合に、ＳＳＤ３２のＩＯＰＳが最大値に達した際におけるＨＤＤ３１のＩＯＰＳを算出してよい。そして、推定部１３は、ＳＳＤ３２についてのＩＯＰＳの最大値と、ＳＳＤ３２のＩＯＰＳが最大値に達した際におけるＨＤＤ３１のＩＯＰＳとの和を算出することにより、ストレージ装置１全体におけるＩＯＰＳを算出してよい。
【００４５】
「ＨＤＤ３１のＩＯＰＳが最大値に達した際におけるＳＳＤ３２のＩＯＰＳ」及び「ＳＳＤ３２のＩＯＰＳが最大値に達した際におけるＨＤＤ３１のＩＯＰＳ」は、「第４のアクセス回数」の一例である。
【００４６】
推定部１３は、取得部１１によってそれぞれ取得されたＨＤＤ３１のＩＯＰＳとＳＳＤ３２のＩＯＰＳとの比率を示す第１の比率を算出してよい。
【００４７】
そして、ＨＤＤ３１についてのＩＯＰＳの最大値が、ＳＳＤ３２についてのＩＯＰＳの最大値以下である場合に、推定部１３は、ＨＤＤ３１についてのＩＯＰＳの最大値と、ＨＤＤ３１のＩＯＰＳが最大値に達した際におけるＳＳＤ３２のＩＯＰＳとの比率を、第１の比率と等しくしてよい。これにより、「ＨＤＤ３１のＩＯＰＳが最大値に達した際におけるＳＳＤ３２のＩＯＰＳ」が算出される。
【００４８】
一方、ＳＳＤ３２についてのＩＯＰＳの最大値が、ＨＤＤ３１についてのＩＯＰＳの最大値以下である場合に、推定部１３は、ＳＳＤ３２についてのＩＯＰＳの最大値と、ＳＳＤ３２のＩＯＰＳが最大値に達した際におけるＨＤＤ３１のＩＯＰＳとの比率を、第１の比率と等しくしてよい。これにより、「ＳＳＤ３２のＩＯＰＳが最大値に達した際におけるＨＤＤ３１のＩＯＰＳ」が算出される。
【００４９】
推定部１３は、取得部１１によってそれぞれ取得されたＨＤＤ３１のビジー率とＳＳＤ３２のビジー率との比率を示す第２の比率を算出してよい。
【００５０】
そして、ＨＤＤ３１についてのＩＯＰＳの最大値が、ＳＳＤ３２についてのＩＯＰＳの最大値以下である場合に、推定部１３は、ＨＤＤ３１のＩＯＰＳが最大値に達した際における、ＨＤＤ３１のビジー率と、ＳＳＤ３２のビジー率との比率を、第２の比率と等しくしてよい。これにより、「ＨＤＤ３１のＩＯＰＳが最大値に達した際におけるＳＳＤ３２のＩＯＰＳ」が算出される。
【００５１】
一方、ＳＳＤ３２についてのＩＯＰＳの最大値が、ＨＤＤ３１についてのＩＯＰＳの最大値以下である場合に、推定部１３は、ＳＳＤ３２のＩＯＰＳが最大値に達した際における、ＳＳＤ３２のビジー率と、ＨＤＤ３１のビジー率との比率を第２の比率と等しくしてよい。これにより、「ＳＳＤ３２のＩＯＰＳが最大値に達した際におけるＨＤＤ３１のＩＯＰＳ」が算出される。
【００５２】
図３は、実施形態の一例としてのストレージ装置１における性能推定処理例を説明する図である。図４は、実施形態の一例としてのストレージ装置１が備えるＨＤＤ３１及びＳＳＤ３２におけるＩＯＰＳとビジー率との関係の例を説明する図である。
【００５３】
まず、図３のＨＤＤ３１及びＳＳＤ３２におけるＩＯＰＳとビジー率との関係を示すグラフの導出方法の概略を、図４に示すグラフを用いて説明する。
【００５４】
ビジー率がある値に達するまでは、ビジー率は、ＩＯＰＳに対して線形に増加する（図４の符号Ｃ１参照）。一方、ビジー率がある値を超えると、ビジー率は、ＩＯＰＳに対して非線形に増加する（図４の符号Ｃ２参照）。ビジー率がＩＯＰＳに対して非線形に増加し始める際におけるビジー率は、例示的に、「比例限界ビジー率」や「最大ビジー率」と称されてよい（図４の符号Ｃ３参照）。
【００５５】
比例限界ビジー率は、図４に示すように、ワークロード（「アクセスパターン」と称されてもよい。）の変動に応じて変化する。そこで、階層制御ドライバ４０が記憶装置３１及び３２のＩＯＰＳとビジー率とを定期的に測定することにより、測定結果に基づいて複数のワークロード（図４に示す例では、ワークロード１〜３）の中から現在のワークロードに対応するグラフが選択（別言すれば、導出）される。また、ワークロードに変動がない場合には、同一のグラフが選択される。これにより、現在のワークロードに応じた記憶装置３１及び３２の最大性能を容易に推定することができる。
【００５６】
なお、ＩＯＰＳとビジー率との関係を示すグラフの導出方法の詳細については、特開２０１１−２４３０４３号公報に開示されているため、本明細書における詳細な説明は省略される。
【００５７】
取得部１１は、階層制御ドライバ４０によって同時に測定されたＨＤＤ３１及びＳＳＤ３２のＩＯＰＳとビジー率とをそれぞれ実測値として取得してよい。図３に示す例において、ＨＤＤ３１のＩＯＰＳは約６００［回／ｓ］であり、ＨＤＤ３１のビジー率は約４８％である（図３の符号Ｂ１参照）。また、ＳＳＤ３２のＩＯＰＳは約２２００［回／ｓ］であり、ＳＳＤ３２のビジー率は約１５．５％である（図３の符号Ｂ２参照）。
【００５８】
算出部１２は、ＨＤＤ３１についてのＩＯＰＳの最大値とＳＳＤ３２についてのＩＯＰＳの最大値とをそれぞれ見積値として算出してよい。図３に示す例において、ＨＤＤ３１及びＳＳＤ３２の最大ビジー率は、ともに８０％に設定されている。なお、最大ビジー率の設定は、事前にオペレータからの入力等に基づいて行なってよい。ストレージ装置１は、記憶装置３１及び３２のビジー率がともに最大ビジー率以下となるように、運用されてよい。
【００５９】
図３に示す例において、ビジー率が最大ビジー率である８０％に達した際のＨＤＤ３１についてのＩＯＰＳの最大値は、約１０００［回／ｓ］である（図３の符号Ｂ３参照）。また、ビジー率が最大ビジー率である８０％に達した際のＳＳＤ３２についてのＩＯＰＳの最大値は、約１１５００［回／ｓ］である（図３の符号Ｂ４参照）。
【００６０】
推定部１３は、複数の記憶装置３１及び３２の中から、最も低いＩＯＰＳで最大ビジー率に達する記憶装置３１又は３２を選択する。図３に示す例において、最大ビジー率におけるＨＤＤ３１のＩＯＰＳは約１０００［回／ｓ］であり、最大ビジー率におけるＳＳＤ３２のＩＯＰＳは約１１５００［回／ｓ］である。そこで、推定部１３は、ＨＤＤ３１を選択する。
【００６１】
推定部１３は、記憶装置３１及び３２に対するユーザＩＯのロードバランスが維持されると仮定して、選択した記憶装置３１又は３２のＩＯＰＳが最大値に達した際における、選択しなかった記憶装置３１又は３２のＩＯＰＳを算出してよい。図３に示す例において、推定部１３は、ＨＤＤ３１のＩＯＰＳが最大値に達した際における、ＳＳＤ３２のＩＯＰＳを算出する。図示する例において、ＨＤＤ３１のＩＯＰＳが最大値に達した際におけるＳＳＤ３２のＩＯＰＳは、約３６６５［回／ｓ］である（図３の符号Ｂ５参照）。
【００６２】
ここで、図３の符号Ｂ１で示す点と符号Ｂ２で示す点とを結ぶ線分と、符号Ｂ３で示す点と符号Ｂ５で示す点とを結ぶ線分とは、互いに平行になる。
【００６３】
推定部１３は、選択した記憶装置３１又は３２におけるＩＯＰＳの最大値と、選択した記憶装置３１又は３２のＩＯＰＳが最大値に達する際における、選択しなかった記憶装置３１又は３２のＩＯＰＳとの和を算出する。図３に示す例において、推定部１３は、ＨＤＤ３１におけるＩＯＰＳの最大値約１０００［回／ｓ］（図３の符号Ｂ６参照）と、ＨＤＤ３１のＩＯＰＳが最大値に達した際における、ＳＳＤ３２のＩＯＰＳ約３６６５［回／ｓ］（図３の符号Ｂ７参照）との和を算出する。図示する例において、和は、約４６６５［回／ｓ］である。これにより、ストレージ装置１全体におけるＩＯＰＳが推定される。
【００６４】
〔Ａ−２〕動作
上述の如く構成された実施形態の一例としてのストレージ装置１における性能推定処理例を、図５に示すフローチャート（ステップＳ１〜Ｓ７）に従って説明する。
【００６５】
算出部１２は、オペレータからの入力等に基づき、最大ビジー率を設定してよい（ステップＳ１）。なお、設定された最大ビジー率に関する情報は、例えば、メモリ２０が備えるＲＡＭ（不図示）に格納される。
【００６６】
取得部１１は、例えば階層制御ドライバ４０によって定期的に測定されたＨＤＤ３１及びＳＳＤ３２のＩＯＰＳとビジー率とを取得してよい（ステップＳ２）。
【００６７】
算出部１２は、ＨＤＤ３１及びＳＳＤ３２の最大性能（別言すれば、「ＩＯＰＳの最大値」）を推定してよい（ステップＳ３）。
【００６８】
推定部１３は、複数のＨＤＤ３１及びＳＳＤ３２の中から、最小のＩＯＰＳで最大ビジー率に達するＨＤＤ３１又はＳＳＤ３２を選択してよい（ステップＳ４）。
【００６９】
推定部１３は、ステップＳ４において選択しなかったＨＤＤ３１又はＳＳＤ３２の推定ビジー率を算出する（ステップＳ５）。「推定ビジー率」は、「選択したＨＤＤ３１又はＳＳＤ３２のビジー率が最大ビジー率に達した際における、選択しなかったＨＤＤ３１又はＳＳＤ３２のビジー率」と称されてもよい。また、「ＨＤＤ３１の推定ビジー率」は「第１の推定ビジー率」と称され、「ＳＳＤ３２の推定ビジー率」は「第２の推定ビジー率」と称されてもよい。
【００７０】
推定部１３は、ＨＤＤ３１及びＳＳＤ３２の推定ＩＯＰＳを算出してよい（ステップＳ６）。「推定ＩＯＰＳ」は、「選択したＨＤＤ３１又はＳＳＤ３２のＩＯＰＳの最大値」及び「選択したＨＤＤ３１又はＳＳＤ３２のＩＯＰＳが最大値に達した際における、選択しなかったＨＤＤ３１又はＳＳＤ３２のＩＯＰＳ」と称されてもよい。また、「ＨＤＤ３１の推定ＩＯＰＳ」は「第１の推定ＩＯＰＳ」と称され、「ＳＳＤ３２の推定ＩＯＰＳ」は「第２の推定ＩＯＰＳ」と称されてもよい。
【００７１】
推定部１３は、ＨＤＤ３１の推定ＩＯＰＳとＳＳＤ３２の推定ＩＯＰＳとの和を算出してよい（ステップＳ７）。これにより、ストレージ装置１全体におけるＩＯＰＳが推定され、処理は終了する。
【００７２】
上述した実施形態の一例におけるストレージ装置１によれば、例えば、以下の効果を奏することができる。
【００７３】
算出部１２は、所定時刻における記憶装置３１及び３２のＩＯＰＳとビジー率とに基づき、ＨＤＤ３１及びＳＳＤ３２のＩＯＰＳの最大値を算出する。また、推定部１３は、ビジー率と、算出部１２によって算出されたＩＯＰＳの最大値とに基づき、ストレージ装置１のＩＯＰＳを推定する。
【００７４】
これにより、性能特性が異なる複数の記憶装置３１及び３２を備えるストレージ装置１のシステム構成を容易に決定することができる。具体的には、性能特性が異なる複数の記憶装置３１及び３２を備えるストレージ装置１において、要求される入出力性能を満たすストレージ装置１のシステム設計を容易にすることができる。また、ストレージ装置１全体のＩＯＰＳを推定することにより、要求される入出力性能を満たすために必要なＨＤＤ３１又はＳＳＤ３２の容量や数を容易に計算することができる。
【００７５】
ＨＤＤ３１のＩＯＰＳの最大値がＳＳＤ３２のＩＯＰＳの最大値以下である場合に、推定部１３は、ＨＤＤ３１のＩＯＰＳが最大値に達した際における、ＳＳＤ３２のＩＯＰＳのＩＯＰＳを算出する。そして、推定部１３は、ＨＤＤ３１のＩＯＰＳの最大値と、ＨＤＤ３１のＩＯＰＳが最大値に達した際におけるＳＳＤ３２のＩＯＰＳとの和を算出することによって、ストレージ装置１のＩＯＰＳを算出する。
【００７６】
これにより、ＳＳＤ３２よりも性能値が低いＨＤＤ３１のＩＯＰＳの最大値を基準としたストレージ装置１全体におけるＩＯＰＳを推定できるため、大量のユーザＩＯによるストレージ装置１における過負荷の発生を防ぐことができる。
【００７７】
推定部１３は、ＨＤＤ３１のＩＯＰＳと、ＳＳＤ３２のＩＯＰＳとの比率を示す第１の比率を算出する。そして、推定部１３は、ＨＤＤ３１についてのＩＯＰＳの最大値と、ＨＤＤ３１のＩＯＰＳが最大値に達した際におけるＳＳＤ３２のＩＯＰＳとの比率を、第１の比率と等しくするように、ＨＤＤ３１のＩＯＰＳが最大値に達した際におけるＳＳＤ３２のＩＯＰＳの値を設定する。
【００７８】
また、推定部１３は、ＨＤＤ３１のビジー率と、ＳＳＤ３２のビジー率との比率を示す第２の比率を算出する。そして、推定部１３は、ＨＤＤ３１のＩＯＰＳが最大値に達した際における、ＨＤＤ３１のビジー率とＳＳＤ３２のビジー率との比率を、第２の比率と等しくするように、ＨＤＤ３１のＩＯＰＳが最大値に達した際におけるＳＳＤ３２のビジー率の値を設定する。
【００７９】
これらにより、実測値であるＨＤＤ３１のＩＯＰＳ又はビジー率とＳＳＤ３２のＩＯＰＳ又はビジー率との比率に基づいたロードバランスを考慮して、ストレージ装置１全体におけるＩＯＰＳを推定できる。
【００８０】
〔Ｂ〕その他
開示の技術は上述した実施形態に限定されるものではなく、実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
【００８１】
〔Ｃ〕付記
（付記１）
第１記憶装置と、前記第１記憶装置とは異なる性能特性を有する第２記憶装置とを備えるストレージ装置であって、
所定時刻における前記第１及び第２記憶装置に対する単位時間あたりのアクセス回数を示す第１のアクセス回数と、前記所定時刻における前記第１及び第２の記憶装置のビジー率とに基づき、前記第１及び第２記憶装置に対する単位時間当たりのアクセス回数の最大値を示す第２のアクセス回数を算出する算出部と、
前記ビジー率と、前記算出部によって算出された前記第２のアクセス回数とに基づき、当該ストレージ装置に対する単位時間あたりのアクセス回数を示す第３のアクセス回数を推定する推定部と、
を備える、ストレージ装置。
【００８２】
（付記２）
前記第３のアクセス回数の推定は、
前記第１記憶装置についての前記第２のアクセス回数が、前記第２記憶装置についての第２のアクセス回数以下である場合に、
前記第１記憶装置に対する単位時間あたりのアクセス回数が前記第２のアクセス回数に達した際における、前記第２記憶装置に対する単位時間あたりのアクセス回数を示す第４のアクセス回数を算出し、
前記第１記憶装置についての前記第２のアクセス回数と、前記第２記憶装置についての前記第４のアクセス回数との和を算出する、
ことによって行なわれる、付記１に記載のストレージ装置。
【００８３】
（付記３）
前記第４のアクセス回数の算出は、
前記第１記憶装置についての前記第１のアクセス回数と、前記第２記憶装置についての前記第１のアクセス回数との比率を示す第１の比率を算出し、
前記第１記憶装置についての前記第２のアクセス回数と、前記第１記憶装置に対する単位時間あたりのアクセス回数が前記第２のアクセス回数に達した際における、前記第２記憶装置についての前記第４のアクセス回数との比率を、前記第１の比率と等しくする、
ことによって行なわれる、付記２に記載のストレージ装置。
【００８４】
（付記４）
前記第４のアクセス回数の算出は、
前記第１記憶装置についての前記ビジー率と、前記第２記憶装置についての前記ビジー率との比率を示す第２の比率を算出し、
前記第１記憶装置に対する単位時間あたりのアクセス回数が前記第２のアクセス回数に達した際における、前記第１記憶装置についてのビジー率と、前記第２記憶装置についてのビジー率との比率を、前記第２の比率と等しくする、
ことによって行なわれる、付記２に記載のストレージ装置。
【００８５】
（付記５）
第１記憶装置と、前記第１記憶装置とは異なる性能特性を有する第２記憶装置とを備えるストレージ装置に備えられるコンピュータに、
所定時刻における前記第１及び第２記憶装置に対する単位時間あたりのアクセス回数を示す第１のアクセス回数と、前記所定時刻における前記第１及び第２の記憶装置のビジー率とに基づき、前記第１及び第２記憶装置に対する単位時間当たりのアクセス回数の最大値を示す第２のアクセス回数を算出し、
前記ビジー率と、前記算出された前記第２のアクセス回数とに基づき、当該ストレージ装置に対する単位時間あたりのアクセス回数を示す第３のアクセス回数を推定する、
処理を実行させる、性能推定プログラム。
【００８６】
（付記６）
前記第３のアクセス回数の推定は、
前記第１記憶装置についての前記第２のアクセス回数が、前記第２記憶装置についての第２のアクセス回数以下である場合に、
前記第１記憶装置に対する単位時間あたりのアクセス回数が前記第２のアクセス回数に達した際における、前記第２記憶装置に対する単位時間あたりのアクセス回数を示す第４のアクセス回数を算出し、
前記第１記憶装置についての前記第２のアクセス回数と、前記第２記憶装置についての前記第４のアクセス回数との和を算出する、
ことによって行なわれる、付記５に記載の性能推定プログラム。
【００８７】
（付記７）
前記第４のアクセス回数の算出は、
前記第１記憶装置についての前記第１のアクセス回数と、前記第２記憶装置についての前記第１のアクセス回数との比率を示す第１の比率を算出し、
前記第１記憶装置についての前記第２のアクセス回数と、前記第１記憶装置に対する単位時間あたりのアクセス回数が前記第２のアクセス回数に達した際における、前記第２記憶装置についての前記第４のアクセス回数との比率を、前記第１の比率と等しくする、
ことによって行なわれる、付記６に記載の性能推定プログラム。
【００８８】
（付記８）
前記第４のアクセス回数の算出は、
前記第１記憶装置についての前記ビジー率と、前記第２記憶装置についての前記ビジー率との比率を示す第２の比率を算出し、
前記第１記憶装置に対する単位時間あたりのアクセス回数が前記第２のアクセス回数に達した際における、前記第１記憶装置についてのビジー率と、前記第２記憶装置についてのビジー率との比率を、前記第２の比率と等しくする、
ことによって行なわれる、付記６に記載の性能推定プログラム。
【００８９】
（付記９）
第１記憶装置と、前記第１記憶装置とは異なる性能特性を有する第２記憶装置とを備えるストレージ装置において、
所定時刻における前記第１及び第２記憶装置に対する単位時間あたりのアクセス回数を示す第１のアクセス回数と、前記所定時刻における前記第１及び第２の記憶装置のビジー率とに基づき、前記第１及び第２記憶装置に対する単位時間当たりのアクセス回数の最大値を示す第２のアクセス回数を算出し、
前記ビジー率と、前記算出された前記第２のアクセス回数とに基づき、当該ストレージ装置に対する単位時間あたりのアクセス回数を示す第３のアクセス回数を推定する、
性能推定方法。
【００９０】
（付記１０）
前記第３のアクセス回数の推定は、
前記第１記憶装置についての前記第２のアクセス回数が、前記第２記憶装置についての第２のアクセス回数以下である場合に、
前記第１記憶装置に対する単位時間あたりのアクセス回数が前記第２のアクセス回数に達した際における、前記第２記憶装置に対する単位時間あたりのアクセス回数を示す第４のアクセス回数を算出し、
前記第１記憶装置についての前記第２のアクセス回数と、前記第２記憶装置についての前記第４のアクセス回数との和を算出する、
ことによって行なわれる、付記９に記載の性能推定方法。
【００９１】
（付記１１）
前記第４のアクセス回数の算出は、
前記第１記憶装置についての前記第１のアクセス回数と、前記第２記憶装置についての前記第１のアクセス回数との比率を示す第１の比率を算出し、
前記第１記憶装置についての前記第２のアクセス回数と、前記第１記憶装置に対する単位時間あたりのアクセス回数が前記第２のアクセス回数に達した際における、前記第２記憶装置についての前記第４のアクセス回数との比率を、前記第１の比率と等しくする、
ことによって行なわれる、付記１０に記載の性能推定方法。
【００９２】
（付記１２）
前記第４のアクセス回数の算出は、
前記第１記憶装置についての前記ビジー率と、前記第２記憶装置についての前記ビジー率との比率を示す第２の比率を算出し、
前記第１記憶装置に対する単位時間あたりのアクセス回数が前記第２のアクセス回数に達した際における、前記第１記憶装置についてのビジー率と、前記第２記憶装置についてのビジー率との比率を、前記第２の比率と等しくする、
ことによって行なわれる、付記１０に記載の性能推定方法。
【符号の説明】
【００９３】
１    ストレージ装置
１０  ＣＰＵ
１１  取得部
１２  算出部
１３  推定部
２０  メモリ
３１  ＨＤＤ
３２  ＳＳＤ
４０  階層制御ドライバ
５０  仮想ボリューム
６０  ユーザアプリケーション
７    サブＬＵＮ
【図１】
2017090959.tif 000003
【図２】
2017090959.tif 000004
【図３】
2017090959.tif 000005
【図４】
2017090959.tif 000006
【図５】
2017090959.tif 000007