JP2013164822A - 負荷閾値算出プログラム、負荷閾値算出装置および負荷閾値算出方法 - Google Patents

負荷閾値算出プログラム、負荷閾値算出装置および負荷閾値算出方法 Download PDF

Info

Publication number
JP2013164822A
JP2013164822A JP2012028934A JP2012028934A JP2013164822A JP 2013164822 A JP2013164822 A JP 2013164822A JP 2012028934 A JP2012028934 A JP 2012028934A JP 2012028934 A JP2012028934 A JP 2012028934A JP 2013164822 A JP2013164822 A JP 2013164822A
Authority
JP
Japan
Prior art keywords
storage device
iops
storage
calculated
response time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2012028934A
Other languages
English (en)
Inventor
Tetsutaro Maruyama
哲太郎 丸山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012028934A priority Critical patent/JP2013164822A/ja
Priority to US13/693,176 priority patent/US20130212349A1/en
Publication of JP2013164822A publication Critical patent/JP2013164822A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】複数のストレージ装置へのデータの効率的な割り振りを支援すること。
【解決手段】負荷閾値算出装置100は、階層型ストレージのどの階層にデータを割り振るのかを決定するための指標となる各階層の負荷についての負荷閾値を算出する。3階層の階層型ストレージでは、負荷閾値算出装置100は、例えば、4種類の負荷閾値Th1,Th2,Th3,Th4を算出する。負荷閾値Th1は、第2階層のSub−LUNのうち第1階層に移動するSub−LUNを特定するためのものである。負荷閾値Th2は、第3階層のSub−LUNのうち第2階層に移動するSub−LUNを特定するためのものである。負荷閾値Th3は、第1階層のSub−LUNのうち第2階層に移動するSub−LUNを特定するためのものである。負荷閾値Th4は、第2階層のSub−LUNのうち第3階層に移動するSub−LUNを特定するためのものである。
【選択図】図1

Description

本発明は、負荷閾値算出プログラム、負荷閾値算出装置および負荷閾値算出方法に関する。
従来、リード要求、ライト要求といったストレージへのアクセスに対する応答性能の向上および運用コストの低減化を図る技術として、階層型ストレージと呼ばれるものがある。階層型ストレージは、SSD(Solid State Drive)、SAS(Serial Attached SCSI)、NL(Nearline)−SASといった性能の異なるストレージ媒体を組み合わせて形成される。
階層型ストレージでは、頻繁にアクセスするデータは、高速かつ高価なSSDなどのストレージ媒体に保存され、あまりアクセスしないデータは、低速かつ安価なNL−SASなどのストレージ媒体に保存される。これにより、頻繁にアクセスするデータの高速な読み書きとともに、全体としての運用コストの低減化を実現する。
また、性能が異なるストレージ媒体の集合は階層(または、Tier)と呼ばれ、階層型ストレージは、例えば、SSD、SAS、NL−SASの3階層によって構成される。階層型ストレージにおいて、ユーザのデータをどの階層に割り振るのかは、例えば、各階層に容量比率を設定することにより決定される。
具体的には、例えば、階層型ストレージ全体の記憶容量のうち、10[%]をSSD、30[%]をSAS、60[%]をNL−SASという容量比率が設定されているとする。この場合、例えば、頻繁にアクセスする上位10[%]のデータがSSDに割り振られ、つぎにアクセスする頻度が高い30[%]のデータがSASに割り振られ、残りの60[%]のデータがNL−SASに割り振られる。
関連する先行技術としては、例えば、階層化されている複数の種類のデータ格納媒体に対するデータの再配置処理を行うものがある(以下、「先行技術1」)。先行技術1は、階層の異なるデータ格納媒体との間でのデータの再配置時、あるいは階層が同一のデータ格納媒体との間でのデータの再配置時、各データ格納媒体の特性および格納するデータの特性に応じて複数の再配置戦略の1つを選択する。そして、先行技術1は、選択した再配置戦略によりデータの再配置を実行する。
また、大容量の記憶装置を複数備えたストレージシステムの省電力化を図る技術がある(以下、「先行技術2」)。先行技術2は、データアクセス頻度が予め指定した上限を上回るデータブロックを高性能のグループの記憶装置に移動し,予め指定した下限を下回るデータブロックを低性能のグループの記憶装置に移動する。
特開平9−44381号公報 特開2003−108317号公報
しかしながら、従来技術によれば、階層型ストレージのどの階層にデータを割り振ればよいのかを判断することが難しいという問題がある。例えば、階層ごとに設定された容量割合を用いてデータを割り振る場合、複数のユーザが階層型ストレージを使用するときに、SSDやSASといった高性能な階層の容量の奪い合いが発生する危険性がある。
一側面では、本発明は、複数のストレージ装置へのデータの効率的な割り振りを支援することを目的とする。
本発明の一側面によれば、読出要求または書込要求を表すアクセス要求に対する応答性能が第1のストレージ装置より低い第2のストレージ装置に要求される前記読出要求に対する最大応答時間を取得し、前記第2のストレージ装置への単位時間当たりの読出要求数を指数として、前記読出要求数の増加にともなって指数関数的に増加する前記第2のストレージ装置への前記読出要求に対する応答時間を表すレスポンスモデルに、取得した前記最大応答時間を代入することにより、前記最大応答時間の場合の前記読出要求数の値を算出し、算出した前記読出要求数の値と、前記第2のストレージ装置内の記憶領域の個数とに基づいて、前記記憶領域への単位時間当たりの読出要求数の上限値を算出し、算出した前記上限値を出力する負荷閾値算出プログラム、負荷閾値算出装置および負荷閾値算出方法が提案される。
また、本発明の一側面によれば、読出要求または書込要求を表すアクセス要求に対する応答性能が第1のストレージ装置より低い第2のストレージ装置へのアクセス要求の処理時間帯が単位時間当たりに重なる個数が、前記第2のストレージ装置が有する記憶装置の個数となる場合の前記第2のストレージ装置への前記読出要求に対する応答時間を取得し、前記第2のストレージ装置への単位時間当たりの読出要求数を指数として、前記読出要求数の増加にともなって指数関数的に増加する前記第2のストレージ装置への前記読出要求に対する応答時間を表すレスポンスモデルに、取得した前記応答時間を代入することにより、前記応答時間の場合の前記読出要求数の値を算出し、算出した前記読出要求数の値と、前記第2のストレージ装置内の記憶領域の個数とに基づいて、前記第1のストレージ装置内の記憶領域への単位時間当たりの読出要求数の下限値を算出し、算出した前記下限値を出力する負荷閾値算出プログラム、負荷閾値算出装置および負荷閾値算出方法が提案される。
本発明の一態様によれば、複数のストレージ装置へのデータの効率的な割り振りを支援することができるという効果を奏する。
図1は、実施の形態にかかる負荷閾値の一例を示す説明図である。 図2は、階層型ストレージ装置200の構成例を示す説明図である。 図3は、負荷閾値算出装置100のハードウェア構成例を示すブロック図である。 図4は、装置情報の具体例を示す説明図である。 図5は、負荷情報の具体例を示す説明図である。 図6は、負荷閾値算出装置100の機能的構成例を示すブロック図である。 図7は、多重度の定義例を示す説明図である。 図8は、階層型ストレージ装置200のSub−LUN当たりのIOPSの確率分布を表す説明図である。 図9は、負荷閾値算出画面の画面例を示す説明図(その1)である。 図10は、負荷閾値算出画面の画面例を示す説明図(その2)である。 図11は、負荷閾値算出画面の画面例を示す説明図(その3)である。 図12は、負荷閾値算出装置100の負荷閾値算出処理手順の一例を示すフローチャートである。 図13は、レスポンスモデル作成処理の具体的処理手順の一例を示すフローチャートである。 図14は、第1/第2階層上方IOPS閾値算出処理の具体的処理手順の一例を示すフローチャートである。 図15は、第1/第2階層下方IOPS閾値算出処理の具体的処理手順の一例を示すフローチャートである。 図16は、負荷閾値算出装置100の画面作成処理手順の一例を示すフローチャートである。 図17は、負荷閾値算出装置100の運用処理手順の一例を示すフローチャートである。
以下に添付図面を参照して、この発明にかかる負荷閾値算出プログラム、負荷閾値算出装置および負荷閾値算出方法の実施の形態を詳細に説明する。
(負荷閾値の一例)
図1は、実施の形態にかかる負荷閾値の一例を示す説明図である。図1において、負荷閾値算出装置100は、複数のストレージ装置(図1の例では、ストレージ装置101〜103)へのデータの割り振りを支援するコンピュータである。
ストレージ装置101〜103は、I/O(Input/Output)要求に対する応答性能が互いに異なるストレージ媒体の集合であり、それぞれ1以上の記憶装置を有する。I/O要求は、リード要求(読出要求)や書込要求(ライト要求)といったストレージ装置101〜103へのアクセス要求である。応答性能は、例えば、I/O要求に対する平均応答時間である。
記憶装置は、例えば、ハードディスク、磁気テープ、光ディスク、フラッシュメモリなどである。具体的には、ストレージ装置101は、記憶装置111〜113を有している。また、ストレージ装置102は、記憶装置121〜124を有している。また、ストレージ装置103は、記憶装置131〜136を有する。
具体的には、例えば、ストレージ装置101〜103は、データを冗長化して耐障害性を向上させるRAID(Redundant Arrays of Inexpensive Disks)1,5,6等の技術が適用された装置である。
記憶装置111〜113は、例えば、SSDであり、記憶装置121〜124および記憶装置131〜136に比べて、I/O要求に対する応答性能が高い。また、記憶装置121〜124は、例えば、SASであり、記憶装置131〜136に比べて、I/O要求に対する応答性能が高い。また、記憶装置131〜136は、例えば、NL−SASである。
ここでは、I/O要求に対する応答性能が互いに異なるストレージ装置101〜103を組み合わせることにより、3階層の階層型ストレージが構成されている。また、ストレージ装置101を第1階層(Tier1)とし、ストレージ装置102を第2階層(Tier2)とし、ストレージ装置103を第3階層(Tier3)する。
また、各ストレージ装置101〜103の記憶領域は、所定の記憶容量の記憶領域に分割されて、分割された分割後の記憶領域ごとにユーザが使用するボリュームに割り当てられる。以下の説明では、各ストレージ装置101〜103の記憶領域から分割された分割後の記憶領域を「Sub−LUN」と表記する場合がある。また、ユーザが使用するボリュームは、ユーザがアクセスするデータ群の記憶先となるボリュームであり、LUN(Logical Unit Number)と呼ばれる。ここでは、LUNは、Sub−LUN単位で管理される階層型ボリュームである。
複数のユーザが階層型ストレージを使用する場合、階層ごとに設定された容量割合を用いてデータを割り振るとSSDやSASといった高性能な階層の容量の奪い合いが発生する危険性がある。また、ユーザが各階層に設定する適切な容量比率がわからない場合は、例えば、経験による適当な値や階層型ストレージの構成のみに縛られた値を設定することになる。この結果、アクセスに対する応答性能の向上および運用コストの低減化を図るという階層型ストレージのメリットを享受できない場合がある。
そこで、本実施の形態では、負荷閾値算出装置100は、階層型ストレージのどの階層にデータを割り振るのかを決定するための指標となる各階層の負荷についての負荷閾値を算出する。図1に示す3階層の階層型ストレージの例では、負荷閾値算出装置100は、例えば、4種類の負荷閾値Th1,Th2,Th3,Th4を算出する。
ここで、負荷閾値Th1は、第2階層のSub−LUNのうち第1階層に移動するSub−LUNを特定するためのものである。第2階層のSub−LUNとは、第2階層のストレージ装置102から分割されてLUNに割り当てられている記憶領域である。
また、Sub−LUNの移動とは、ある階層のSub−LUNに記憶されているデータを別の階層のSub−LUNに移行することである。すなわち、Sub−LUNの移動とは、ある階層のストレージ装置から割り当てられているSub−LUNの割当先を、別の階層のストレージ装置に変更することである。具体的には、例えば、Sub−LUNの移動とは、移動先の階層において未使用のSub−LUNを確保し、移動元のSub−LUNに記憶されているデータを、確保したSub−LUNにコピーして移動元のSub−LUNを解放するという一連の作業である。
また、負荷は、1秒間に発行されるI/O要求の個数を表すIOPS(Input Output Per Second)によって表現することができる。負荷閾値算出装置100は、例えば、第2階層のSub−LUNにかかる負荷であるIOPSが負荷閾値Th1を下回れば、第2階層のSub−LUNに要求される応答性能を満たすと判断することができる負荷閾値Th1を算出する。
すなわち、負荷閾値Th1は、第2階層のSub−LUNにかかる負荷であるIOPSが負荷閾値Th1を上回る場合は、第2階層のSub−LUNを第1階層に移動したほうがよいと判断することができる値となる。
また、負荷閾値Th2は、第3階層のSub−LUNのうち第2階層に移動するSub−LUNを特定するためのものである。負荷閾値算出装置100は、例えば、第3階層のSub−LUNにかかる負荷であるIOPSが負荷閾値Th2を下回れば、第3階層のSub−LUNに要求される応答性能を満たすと判断することができる負荷閾値Th2を算出する。
すなわち、負荷閾値Th2は、第3階層のSub−LUNにかかる負荷であるIOPSが負荷閾値Th2を上回る場合は、第3階層のSub−LUNを第2階層に移動したほうがよいと判断することができる値となる。
また、負荷閾値Th3は、第1階層のSub−LUNのうち第2階層に移動するSub−LUNを特定するためのものである。負荷閾値算出装置100は、例えば、第1階層のSub−LUNにかかる負荷であるIOPSが負荷閾値Th3を下回れば、第2階層にSub−LUNを移動したほうが最適な処理性能でI/O要求を処理することができる負荷閾値Th3を算出する。
また、負荷閾値Th4は、第2階層のSub−LUNのうち第3階層に移動するSub−LUNを特定するためのものである。負荷閾値算出装置100は、例えば、第2階層のSub−LUNにかかる負荷であるIOPSが負荷閾値Th4を下回れば、第3階層にSub−LUNを移動したほうが最適な処理性能でI/O要求を処理することができる負荷閾値Th4を算出する。
負荷閾値Th1,Th2,Th3,Th4によれば、各Sub−LUNの使用状況に応じて、アクセス頻度が高くなったSub−LUNをより上層の階層に移動し、アクセス頻度が低くなったSub−LUNをより下層の階層に移動することが可能となる。
例えば、負荷閾値Th1によれば、Sub−LUN単位のIOPSが負荷閾値Th1を超えるSub−LUNについて、第2階層から第1階層に移動することが可能となる。また、負荷閾値Th2によれば、Sub−LUN単位のIOPSが負荷閾値Th2を超えるSub−LUNについて、第3階層から第2階層に移動することが可能となる。
また、負荷閾値Th3によれば、Sub−LUN単位のIOPSが負荷閾値Th3を下回るSub−LUNについて、第1階層から第2階層に移動することが可能となる。また、負荷閾値Th4によれば、Sub−LUN単位のIOPSが負荷閾値Th4を下回るSub−LUNについて、第2階層から第3階層に移動することが可能となる。
このように、負荷閾値算出装置100によれば、階層型ストレージの各階層のSub−LUN単位の負荷閾値を求めることにより、階層間で移動したほうがよいSub−LUNの特定を可能にして、各階層へのデータの効率的な割り振りを支援することができる。
(階層型ストレージ装置の構成例)
つぎに、I/O要求に対する応答性能が互いに異なるストレージ媒体の集合を組み合わせて構築される階層型ストレージ装置の構成例について説明する。
図2は、階層型ストレージ装置200の構成例を示す説明図である。図2において、階層型ストレージ装置200は、RAIDコントローラ201と、RAIDグループG1〜G8を含む。ここで、RAIDコントローラ201は、RAIDグループG1〜G8に対するアクセスを制御する。
RAIDコントローラ201は、メモリキャッシュ202を有している。メモリキャッシュ202は、RAIDグループG1〜G8から読み出したデータを一時的に記憶したり、RAIDグループG1〜G8への書込対象となるデータを一時的に記憶する。
RAIDグループG1〜G8は、RAID5によって複数の記憶装置を組み合わせて1つの論理的な記憶装置を構成したものである。具体的には、RAIDグループG1,G2は、3つのSSDを含むRAIDランクが「2」のRAIDグループである。RAIDランクとは、RAIDグループを構成する記憶装置の数である。RAID5の場合、RAIDランクは、例えば、数本のデータディスク(または、データスライス)と1本のパリティディスク(または、パリティスライス)を含むハードディスク群(または、スライス群)のうちのデータディスクの本数を表すものである。
また、RAIDグループG3,G4は、4つのSASを含むRAIDランクが「3」のRAIDグループである。また、RAIDグループG5は、5つのSASを含むRAIDランクが「4」のRAIDグループである。また、RAIDグループG6〜G8は、6つのNL−SASを含むRAIDランクが「5」のRAIDグループである。
また、記憶装置の種類およびRAIDランクが同一のRAIDグループは、ディスクプールと呼ばれる枠によってグループ化されている。具体的には、RAIDグループG1,G2がSSDディスクプールとしてグループ化されている。また、RAIDグループG3,G4がSASディスクプール1としてグループ化されている。また、RAIDグループG5がSASディスクプール2としてグループ化されている。また、RAIDグループG6〜G8がNL−SASディスクプールとしてグループ化されている。ユーザが階層型ストレージ装置200を使用する場合、3種類のディスクプールをそれぞれの階層に指定することになる。
以下の説明では、各ディスクプールにはRAIDグループが一つだけ存在するものとする。また、階層型ストレージ装置200において、SSDディスクプールを第1階層(Tier1)とし、SASディスクプール1およびSASディスクプール2を第2階層(Tier2)とし、NL−SASディスクプールを第3階層(Tier3)とする。また、上述した説明では、階層型ストレージ装置200は、RAIDコントローラ201を一つ有することにしたが、複数のRAIDコントローラを有することにしてもよい。
なお、RAIDグループG1〜G8は、例えば、図1に示したストレージ装置101〜103に相当する。また、各RAIDグループG1〜G8を構成する記憶装置は、例えば、図1に示した記憶装置111〜113,121〜124,131〜136に相当する。また、図1に示した負荷閾値算出装置100は、階層型ストレージ装置200に適用されていてもよい。
(負荷閾値算出装置100のハードウェア構成例)
図3は、負荷閾値算出装置100のハードウェア構成例を示すブロック図である。図3において、負荷閾値算出装置100は、CPU(Central Processing Unit)301と、ROM(Read‐Only Memory)302と、RAM(Random Access Memory)303と、磁気ディスクドライブ304と、磁気ディスク305と、光ディスクドライブ306と、光ディスク307と、I/F(Interface)308と、ディスプレイ309と、キーボード310と、マウス311と、を有する。また、各構成部はバス300によってそれぞれ接続されている。
ここで、CPU301は、負荷閾値算出装置100の全体の制御を司る。ROM302は、ブートプログラムなどのプログラムを記憶している。RAM303は、CPU301のワークエリアとして使用される。磁気ディスクドライブ304は、CPU301の制御にしたがって磁気ディスク305に対するデータのリード/ライトを制御する。磁気ディスク305は、磁気ディスクドライブ304の制御で書き込まれたデータを記憶する。
光ディスクドライブ306は、CPU301の制御にしたがって光ディスク307に対するデータのリード/ライトを制御する。光ディスク307は、光ディスクドライブ306の制御で書き込まれたデータを記憶したり、光ディスク307に記憶されたデータをコンピュータに読み取らせたりする。
I/F308は、通信回線を通じて有線または無線のネットワーク312に接続され、ネットワーク312を介して他の装置に接続される。そして、I/F308は、ネットワーク312と内部のインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。I/F308には、例えば、モデムやLANアダプタなどを採用することができる。また、ネットワーク312は、例えば、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などである。
ディスプレイ309は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ309は、例えば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
キーボード310は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス311は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。なお、負荷閾値算出装置100は、上述した構成部のほかに、スキャナやプリンタなどを有することにしてもよい。
(装置情報の具体例)
つぎに、負荷閾値算出装置100が用いる装置情報の具体例について説明する。装置情報は、例えば、階層型ストレージ装置200に関する情報である。
図4は、装置情報の具体例を示す説明図である。図4において、装置情報400は、階層型ストレージ装置200に関する第1階層装置情報410、第2階層装置情報420および第3階層装置情報430を含む。具体的には、第1階層装置情報410は、階層型ストレージ装置200の第1階層のRAIDグループに関するディスクサイズ、最小時間、シーク時間、RAIDランク、定数Cおよび最大応答時間を示している。
また、第2階層装置情報420は、階層型ストレージ装置200の第2階層のRAIDグループに関するディスクサイズ、最小時間、シーク時間、RAIDランク、定数Cおよび最大応答時間を示している。また、第3階層装置情報430は、階層型ストレージ装置200の第3階層のRAIDグループに関するディスクサイズ、最小時間、シーク時間、RAIDランク、定数Cおよび最大応答時間を示している。
ここで、ディスクサイズ(以下、「ディスクサイズ(D)」と表記する)は、各階層のRAIDグループを構成する記憶装置の記憶容量を表している。最小時間(以下、「最小時間(L)」と表記する)は、各階層のRAIDグループを構成する記憶装置のリード要求に対する応答に要する最小時間の平均値を表している。具体的には、例えば、最小時間(L)は、I/O要求を受け付けてからデータの入出力が完了するまでの時間のうちシーク時間とデータ転送時間とを除外した時間である。
シーク時間(以下、「シーク時間(S)」と表記する)は、各階層のRAIDグループを構成する記憶装置のシーク時間の平均値を表している。RAIDランク(以下、「RAIDランク(R)」と表記する)は、数本のデータディスクと1本のパリティディスクを含むハードディスク群のうちのデータディスクの本数を表している。
定数Cは、後述するレスポンスモデルに含まれる定数であり、各RAIDグループに固有の値である。最大応答時間(以下、「最大応答時間(Wmax)」)は、各階層においてリード要求に対するRAIDグループの応答性能が、要求される応答性能を満たすか否かを判断するための指標である。最大応答時間(Wmax)は、例えば、リード要求に対する応答時間が最大応答時間(Wmax)を下回れば、要求される応答性能を十分に満たすと判断できる値に設定される。なお、最小時間(L)およびシーク時間(S)は、例えば、SSD、SAS、NL−SASといった記憶装置を販売するメーカから公開されている値を用いることができる。
一例として、第2階層装置情報420を例に挙げると、ディスクサイズ(D)は「D=600[GB]」、最小時間(L)は「L=2.0[msec]」、シーク時間(S)は「S=3.4[msec]」である。また、RAIDランク(R)は「R=4」、定数Cは「C=94000」、最大応答時間(Wmax)は「Wmax=30[msec]」である。
図示は省略するが、以下の説明では、階層型ストレージ装置200の第3階層の最大応答時間(Wmax)を「Wmax=40[msec]」として説明する場合がある。また、第1階層は、階層型ストレージ装置200の最上層のため、第1階層装置情報410に最大応答時間(Wmax)を含まないことにしてもよい。
(負荷情報の具体例)
つぎに、負荷閾値算出装置100が用いる負荷情報の具体例について説明する。負荷情報は、例えば、階層型ストレージ装置200の各階層のRAIDグループにかかる負荷を表す情報である。ここでは、階層型ストレージ装置200の第2階層のRAIDグループにかかる負荷を表す負荷情報を例に挙げて説明する。
図5は、負荷情報の具体例を示す説明図である。図5において、負荷情報500は、READ I/Oサイズ、WRITE I/Oサイズ、READ IOPS、WRITE IOPSおよびLU(Logical Unit)サイズを示している。
ここで、READ I/Oサイズは、リード要求の発行時に読み出されるデータの平均データ量、すなわち、リード要求の平均I/Oサイズである。WRITE I/Oサイズは、ライト要求の発行時に書き込まれるデータの平均データ量、すなわち、ライト要求の平均I/Oサイズである。
READ IOPSは、1秒間に発行されるリード要求の平均要求数である。WRITE IOPSは、1秒間に発行されるライト要求の平均要求数である。LUサイズは、階層型ストレージ装置200を使用するユーザのLUNの記憶容量である。
以下の説明では、READ I/Oサイズを「I/Oサイズ(rR)」と表記する場合がある。また、WRITE I/Oサイズを「I/Oサイズ(rW)」と表記する場合がある。また、READ IOPSを「IOPS(xR)」と表記する場合がある。また、WRITE IOPSを「IOPS(xW)」と表記する場合がある。
(負荷閾値算出装置100の機能的構成例)
つぎに、負荷閾値算出装置100の機能的構成例について説明する。図6は、負荷閾値算出装置100の機能的構成例を示すブロック図である。図6において、負荷閾値算出装置100は、取得部601と、作成部602と、第1の算出部603と、第2の算出部604と、設定部605と、第3の算出部606と、出力部607と、を含む構成である。取得部601〜出力部607は制御部となる機能であり、具体的には、例えば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F308により、その機能を実現する。また、各機能部の処理結果は、例えば、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶される。
取得部601は、I/O要求に対する応答性能が互いに異なるストレージ装置群に関する装置情報を取得する機能を有する。ここで、I/O要求に対する応答性能が互いに異なるストレージ装置群は、いわゆる階層型ストレージであり、例えば、図2に示した階層型ストレージ装置200である。
以下の説明では、階層型ストレージの複数の階層を「第1〜第m階層」と表記し(mは2以上の自然数)、第1〜第m階層のうちの任意の階層を「第j階層」と表記する場合がある(j=1,2,…,m)。
装置情報は、例えば、階層型ストレージの各階層のRAIDグループのディスクサイズ(D)、RAIDランク(R)、シーク時間(S)、後述するレスポンスモデルに含まれる定数Cおよび最大応答時間(Wmax)を含むものである。
具体的には、例えば、取得部601が、図3に示したキーボード310やマウス311を用いたユーザの操作入力により、図4に示した装置情報400を取得する。また、取得部601が、例えば、ネットワーク312を介して、階層型ストレージ装置200から装置情報400を受信することにしてもよい。
また、取得部601は、階層型ストレージの各階層のRAIDグループにかかる負荷を表す負荷情報を取得する機能を有する。ここで、負荷情報は、例えば、RAIDグループへのリード要求のI/Oサイズ(rR)、IOPS(xR)、ライト要求のI/Oサイズ(rW)、IOPS(xW)およびLUNのLUサイズを含むものである。
具体的には、例えば、取得部601は、キーボード310やマウス311を用いたユーザの操作入力により、図5に示した負荷情報500を取得する。また、取得部601は、例えば、ネットワーク312を介して、外部のコンピュータから負荷情報500を受信することにしてもよい。
作成部602は、階層型ストレージの第j階層のRAIDグループのリード要求に対する平均応答時間を表すレスポンスモデルを作成する機能を有する。ここで、レスポンスモデルとは、リード要求のIOPSを指数として、IOPSの増加にともなって指数関数的に増加する平均応答時間を表す関数である。
作成されるレスポンスモデルは、例えば、下記式(1)となる。ただし、Wは、リード要求に対する平均応答時間である。Wの単位は、例えば、[msec]である。Xは、RAIDグループへのリード要求の平均IOPSである。αcは、指数係数である。Tminは、RAIDグループのリード要求に対する最小応答時間である。
Figure 2013164822
上記式(1)は、例えば、RAIDグループに対して行った負荷実験の実験結果の統計的考察から導出される。なお、作成部602の具体的な処理内容については後述する。
第1の算出部603は、第j階層のRAIDグループ内のSub−LUNへのI/O要求の平均IOPSの上限値を表す負荷閾値(以下、「上方IOPS閾値(Xup)」と表記する)を算出する機能を有する。ここで、Sub−LUNとは、RAIDグループの記憶領域から分割された分割後の記憶領域を表す管理単位である。Sub−LUNの記憶容量は、すべてのSub−LUNにおいて同一である。
また、上方IOPS閾値(Xup)は、Sub−LUN単位のIOPSが上方IOPS閾値(Xup)を超えるSub−LUNを、第j階層よりもI/O要求に対する応答性能が高い第(j+1)階層に移動するための負荷閾値である。このため、上方IOPS閾値(Xup)は、階層型ストレージの第1〜第m階層のうち最上層の第1階層を除く残余の階層のRAIDグループのSub−LUNについてそれぞれ算出される。
また、ここではRAIDグループが性能的に最悪なケースを想定するために、以下の(条件1)、(条件2)および(条件3)を前提として、上方IOPS閾値(Xup)を算出する場合について説明する。
(条件1)RAIDグループ内のすべてのSub−LUNが、階層型ストレージ装置200を利用するいずれかのユーザのLUNに割り当てられている。
(条件2)RAIDグループ内のすべてのSub−LUNに負荷がかかっている。
(条件3)RAIDグループへのI/O要求はすべてランダムI/Oである。ランダムI/Oは、I/O要求が指す場所が連続的ではないI/O要求である。
具体的には、例えば、第1の算出部603は、取得された第j階層のRAIDグループの最大応答時間(Wmax)を上記式(1)に代入することにより、リード要求に対する平均応答時間(W)が最大応答時間(Wmax)の場合のリード要求の平均IOPSを算出する。以下の説明では、リード要求に対する平均応答時間(W)が最大応答時間(Wmax)の場合のリード要求の平均IOPSを「IOPS(XRup)」と表記する。
ここで、IOPS(XRup)は、第j階層のRAIDグループのリード要求に対する応答性能が、要求される応答性能を満たす場合のリード要求の平均IOPSである。すなわち、RAIDグループにかかる負荷であるIOPS(xR)がIOPS(XRup)を下回れば、RAIDグループが要求される応答性能を十分に満たすと判断することができる。
換言すれば、RAIDグループにかかる負荷であるIOPS(xR)がIOPS(XRup)を上回る場合は、RAIDグループ内のいずれかのSub−LUNを、第j階層よりもI/O要求に対する応答性能が高い第(j+1)階層に移動したほうがよいと判断することができる。
そこで、第1の算出部603は、算出したIOPS(XRup)をRAIDグループ内のSub−LUNの個数で除算することにより、Sub−LUNへのI/O要求の平均IOPSの上限値を表す上方IOPS閾値(Xup)を算出することにしてもよい。これにより、リード要求に対する平均応答時間(W)が最大応答時間(Wmax)の場合にSub−LUNにかかる負荷であるリード要求の平均IOPSを上方IOPS閾値(Xup)として算出することができる。
ここで、上述したIOPS(XRup)は、第j階層のRAIDグループへのI/O要求のうちのリード要求のみを考慮したIOPSである。このため、第1の算出部603は、下記式(2)を用いて、リード要求とライト要求とが混在する場合のI/O要求の平均IOPSを算出することにしてもよい。
ただし、XTupは、リード要求とライト要求とが混在する場合のI/O要求の平均IOPS(以下、「IOPS(XTup)」と表記する)である。cは、リード混在率である。リード混在率は、リード要求とライト要求とを合わせたIOPSに対するリード要求のIOPSの割合を表す。
リード混在率は、例えば、下記式(3)を用いて表すことができる(0<c≦1)。ただし、xRは、RAIDグループへのリード要求の平均IOPSである。また、xWは、RAIDグループへのライト要求の平均IOPSである。
Tup=XRup/c ・・・(2)
c=xR/(xR+xW) ・・・(3)
そして、第1の算出部603は、算出したIOPS(XTup)をRAIDグループ内のSub−LUNの個数で除算することにより、第j階層の上方IOPS閾値(Xup)を算出することにしてもよい。これにより、リード要求に対する平均応答時間(W)が最大応答時間(Wmax)の場合にSub−LUNにかかる負荷であるI/O要求の平均IOPSを上方IOPS閾値(Xup)として算出することができる。なお、第1の算出部603のより具体的な処理内容については後述する。
第2の算出部604は、第(j−1)階層のRAIDグループ内のSub−LUNへのI/O要求の平均IOPSの下限値を表す負荷閾値(以下、「下方IOPS閾値(Xdown)」と表記する)を算出する機能を有する。ここで、下方IOPS閾値(Xdown)は、Sub−LUN単位のIOPSが下方IOPS閾値(Xdown)を下回るSub−LUNを、第(j−1)階層よりもI/O要求に対する応答性能が低い第j階層に移動するための負荷閾値である。
このため、下方IOPS閾値(Xdown)は、階層型ストレージの第1〜第m階層のうち最下層を除く残余の階層のRAIDグループのSub−LUNについてそれぞれ算出される。また、ここではRAIDグループが性能的に最悪なケースを想定するために、上述した(条件1)、(条件2)および(条件3)を前提として、下方IOPS閾値(Xdown)を算出する場合について説明する。
具体的には、例えば、下方IOPS閾値(Xdown)は、各階層において、下層の階層に移動したほうが最適な処理性能でI/O要求を処理することができるSub−LUNを、下層の階層に移動するための負荷閾値である。ここでは、「最適な処理性能でI/O要求を処理することができる負荷」を「RAIDランクと同じ多重度」と定義する。
多重度とは、単位時間当たりにI/O要求の処理時間帯が重なる個数を表すものである。この多重度は、例えば、RAIDグループの応答性能を評価する指標となる。なお、多重度についての詳細な説明は、図7を用いて後述する。
ここで、RAIDグループの各データディスクの多重度が「1」未満の場合は、例えば、エレベータアルゴリズムによるシーク時間の最適化を行うことができないため、データディスクの処理性能は悪化する傾向にある。また、RAIDグループの各データディスクの多重度が「1」より大きい場合は、キューにおける処理待ち時間が発生するため、データディスクの処理性能は悪化する傾向にある。
すなわち、RAIDグループの各データディスクが最高の処理性能でI/O要求を処理することができる状態は、各データディスクの多重度が「1」の場合である。したがって、RAIDグループが最適な処理性能でI/O要求を処理することができる状態は、RAIDグループの多重度とRAIDランクとが同じ場合である。ただし、I/Oサイズ(rR)がRAIDのストライプサイズ以下の場合である。以下の説明では、RAIDグループのRAIDランクと同じ多重度を「安全多重度(Nsafe)」と表記する。
そこで、第2の算出部604は、例えば、待ち行列理論におけるリトルの公式により、下記式(4)を用いて、第j階層のRAIDグループの多重度が安全多重度(Nsafe)の場合のリード要求の平均IOPSを算出する。以下の説明では、RAIDグループの多重度が安全多重度(Nsafe)の場合のリード要求の平均IOPSを「IOPS(XRdown)」と表記する場合がある。
ただし、Nは、多重度である。Xは、IOPSである。Wは、I/O要求に対する平均応答時間である。また、RAIDグループの多重度が安全多重度(Nsafe)の場合のリード要求の平均応答時間(以下、「平均応答時間(WRdown)」と表記する)は、例えば、上記式(1)を用いて表すことができる。
N=X×W ・・・(4)
ここで、IOPS(XRdown)は、第j階層のRAIDグループが最適な処理性能でI/O要求を処理することができる場合のリード要求の平均IOPSである。すなわち、第(j−1)階層のRAIDグループにかかる負荷であるIOPS(xR)がIOPS(XRdown)を下回る場合は、第(j−1)階層のRAIDグループ内のいずれかのSub−LUNを、第(j−1)階層よりもI/O要求に対する応答性能が低い第j階層に移動したほうがよいと判断することができる。
そこで、第2の算出部604は、算出したIOPS(XRdown)を第j階層のRAIDグループ内のSub−LUNの個数で除算することにより、第(j−1)階層の下方IOPS閾値(Xdown)を算出することにしてもよい。これにより、第j階層のRAIDグループの多重度が安全多重度(Nsafe)の場合にSub−LUNにかかる負荷であるリード要求の平均IOPSを、第(j−1)階層の下方IOPS閾値(Xdown)として算出することができる。
ここで、上述したIOPS(XRdown)は、第j階層のRAIDグループへのI/O要求のうちのリード要求のみを考慮したIOPSである。このため、第2の算出部604は、下記式(5)を用いて、リード要求とライト要求とが混在する場合のI/O要求の平均IOPSを算出することにしてもよい。ただし、XTdownは、リード要求とライト要求とが混在する場合のI/O要求の平均IOPS(以下、「IOPS(XTdown)」と表記する)である。cは、リード混在率である。
Tdown=XRdown/c ・・・(5)
そして、第2の算出部604は、算出したIOPS(XTdown)をRAIDグループ内のSub−LUNの個数で除算することにより、第(j−1)階層の下方IOPS閾値(Xdown)を算出することにしてもよい。これにより、第j階層のRAIDグループの多重度が安全多重度(Nsafe)の場合にSub−LUNにかかる負荷であるI/O要求の平均IOPSを、第(j−1)階層の下方IOPS閾値(Xdown)として算出することができる。なお、第2の算出部604のより具体的な処理内容については後述する。
設定部605は、算出された第j階層の上方IOPS閾値(Xup)を第j階層のRAIDグループ内のSub−LUNの上方IOPS閾値に設定する機能を有する。また、設定部605は、算出された第(j−1)階層の下方IOPS閾値(Xdown)を第(j−1)階層のRAIDグループ内のSub−LUNの下方IOPS閾値に設定することにしてもよい。
また、設定部605は、第(j−1)階層の下方IOPS閾値(Xdown)が、第j階層の上方IOPS閾値(Xup)よりも大きい場合は、第j階層の上方IOPS閾値(Xup)を第(j−1)階層の下方IOPS閾値に設定することにしてもよい。これにより、第j階層のSub−LUNのほうが第(j−1)階層のSub−LUNよりもIOPSが大きくなるという逆転現象を防ぐことができる。
第3の算出部606は、設定された設定結果に基づいて、第j階層のRAIDグループの容量比率(CRj)を算出する機能を有する。ここで、容量比率(CRj)とは、例えば、ユーザが使用するLUNの記憶容量に対する第j階層のRAIDグループからLUNに割り当てられるSub−LUNの記憶容量の割合を表すものである。
具体的には、例えば、第3の算出部606は、各階層に設定された上方IOPS閾値(Xup)または/および下方IOPS閾値(Xdown)に従って、階層間でSub−LUNを移動した場合の第j階層のRAIDグループの容量比率(CRj)を算出する。
また、第3の算出部606は、設定された設定結果に基づいて、第j階層のRAIDグループのI/O要求に対する平均応答時間を算出することにしてもよい。具体的には、例えば、第3の算出部606は、各階層に設定された上方IOPS閾値(Xup)または/および下方IOPS閾値(Xdown)に従って、階層間でSub−LUNを移動した場合の第j階層のRAIDグループのI/O要求に対する平均応答時間を算出する。なお、第3の算出部606の具体的な処理内容については後述する。
出力部607は、設定された設定結果を出力する機能を有する。出力部607の出力形式としては、例えば、RAM303、磁気ディスク305、光ディスク307などの記憶装置への記憶、ディスプレイ309への表示、プリンタへの印刷出力、I/F308による外部装置への送信がある。
また、出力部607は、算出された第j階層のRAIDグループの容量比率(CRj)を出力することにしてもよい。また、出力部607は、算出された第j階層のRAIDグループのI/O要求に対する平均応答時間を出力することにしてもよい。なお、出力結果の画面例については、図9〜図11を用いて後述する。
(多重度の定義例)
ここで、階層型ストレージの各階層のRAIDグループの応答性能を評価する指標となる多重度について説明する。
図7は、多重度の定義例を示す説明図である。図7において、RAIDグループに対するI/O要求が並列に処理された場合の各々のI/O要求の処理時間帯701〜709が示されている。例えば、処理時間帯701の左側の黒丸は、I/O要求を受け付けた時点を表し、右側の黒丸はI/O要求に対する応答が返された時点を表している。
ここでは、多重度を、1秒間当たりにI/O要求の処理時間帯が重なる平均個数と定義する。この場合、多重度は、待ち行列理論におけるリトルの公式により、上記式(4)を用いて算出することができる。
図7の例では、0.02[sec]ごとにI/O要求が発生している。このため、IOPSは「50」となる。また、各I/O要求の応答時間は0.06[sec]である。このため、I/O要求の平均応答時間は「0.06[sec]」となる。この場合、上記式(4)により、多重度は「N=3=50×0.06」となる。
多重度は、各々のI/O要求が並列に処理された場合に各々の処理時間帯が重なる度合いを表すもの、すなわち、I/O要求を格納するキューの長さを表している。このため、多重度が大きいほどRAIDグループの負荷が溜まっていると判断でき、RAIDグループの応答性能を評価する指標となる。以下の説明では、所定値Nの多重度を「多重度(N)」と表記する場合がある。
(作成部602の具体的な処理内容)
つぎに、作成部602の具体的な処理内容について説明する。以下、階層型ストレージの第j階層のRAIDグループのリード要求に対する平均応答時間を表すレスポンスモデルを作成する場合について説明する。
まず、作成部602は、多重度(N)の場合の第j階層のRAIDグループの最大IOPS(XN)を算出する。ここで、最大IOPS(XN)は、多重度(N)の場合にRAIDグループが単位時間当たりに処理可能なリード要求の最大要求数であり、RAIDグループのリード要求に対する最大処理性能を表すものである。
具体的には、例えば、作成部602は、下記式(6)を用いて、多重度(N)の場合のRAIDグループの最大IOPS(XN)を算出することができる。ただし、XNは、多重度(N)の場合の最大IOPSである。Cは、多重度(N)の場合のRAIDグループに固有の定数である。rRは、リード要求の平均I/Oサイズである。平均I/Oサイズの単位は、例えば、[KB]である。Rは、RAIDグループのRAIDランクである。vは、RAIDグループ内の記憶領域のうち実際に使用されている記憶領域の割合を表す使用率である。
N=C×{1/(rR+64)}×R0.55×(v+0.5)-0.5 ・・・(6)
上記式(6)は、例えば、RAIDグループに対して行った負荷実験の実験結果の統計的考察から導出される。ここで、図4に示した第2階層装置情報420および図5に示した負荷情報500を用いて、階層型ストレージ装置200の第2階層のRAIDグループについて、多重度(30)の場合の最大IOPS(X30)の計算例について説明する。
多重度(30)の場合のRAIDグループの最大IOPS(X30)を計算する際に必要となる各要素の値は以下の通りである。ただし、上述した(条件1)により、RAIDグループの使用率vは「v=1」である。
定数C:C=94000
RAIDランク(R):R=4
I/Oサイズ(rR):48[KB]
使用率(v):v=1
この場合、作成部602は、上記式(6)に、定数C、I/Oサイズ(rR)、RAIDランク(R)および使用率vの値をそれぞれ代入することにより、多重度(30)の場合のストレージ装置102の最大IOPS(X30)を算出する。ここでは、最大IOPS(X30)は「X30=639.115」となる。
つぎに、作成部602は、多重度(N)と、多重度(N)の場合のRAIDグループの最大IOPS(XN)とに基づいて、RAIDグループへのリード要求に対する応答時間(WN)を算出する。具体的には、例えば、作成部602は、上記式(4)を用いて、リード要求に対する平均応答時間(WN)を算出することができる。
より具体的には、例えば、作成部602は、算出した最大IOPS(X30)および多重度(30)を上記式(4)に代入することにより、リード要求に対する応答時間(W30)を算出することができる。ここで、最大IOPS(X30)を「X30=639.115」とすると、応答時間(W30)は「W30=46.94[msec]=30×1000/X30」となる。なお、リトルの公式からは[sec]単位の値が求まるため、ここでは1000倍して[msec]単位にしている。
つぎに、作成部602は、RAIDグループのリード要求に対する最小応答時間(Tmin)を算出する。ここで、最小応答時間(Tmin)は、RAIDグループにかかる負荷であるIOPSが「0」の場合のリード要求に対する平均応答時間である。換言すれば、最小応答時間(Tmin)は、多重度が「0」の場合のリード要求に対する平均応答時間である。
具体的には、例えば、作成部602は、取得された装置情報および負荷情報に基づいて、下記式(7)を用いて、リード要求に対する最小応答時間(Tmin)を算出することができる。ただし、Tminは、RAIDグループのリード要求に対する最小応答時間である。Lは、RAIDグループを構成する記憶装置のリード要求に対する応答に要する最小時間の平均値である。Sは、RAIDグループを構成する記憶装置の平均シーク時間である。vは、RAIDグループ内の記憶領域のうち実際に使用されている記憶領域の割合を表す使用率である。rRは、RAIDグループへのリード要求の平均I/Oサイズである。
min=L+S×(v+0.5)0.5+0.012rR ・・・(7)
上記式(7)は、例えば、RAIDグループに対して行った負荷実験の実験結果の統計的考察から導出される。ここで、第2階層装置情報420および負荷情報500を用いて、階層型ストレージ装置200の第2階層のRAIDグループの最小応答時間(Tmin)の計算例について説明する。最小応答時間(Tmin)を計算する際に必要となる各要素の値は以下の通りである。
最小時間(L):L=2.0[msec]
シーク時間(S):S=3.4[msec]
使用率(v):v=1
I/Oサイズ(rR):r=48[KB]
この場合、作成部602は、上記式(7)に、最小時間(L)、シーク時間(S)、使用率(v)およびI/Oサイズ(rR)の値をそれぞれ代入することにより、RAIDグループの最小応答時間(Tmin)を算出する。ここでは、最小応答時間(Tmin)は「Tmin=0.005785」となる。
そして、作成部602は、算出した応答時間(WN)と最大IOPS(XN)と最小応答時間(Tmin)とに基づいて、RAIDグループのリード要求に対する平均応答時間(W)を表すレスポンスモデルを作成する。
具体的には、例えば、まず、作成部602は、下記式(8)に、応答時間(WN)と最大IOPS(XN)と最小応答時間(Tmin)の値をそれぞれ代入することにより、レスポンスモデルの指数係数(α1)を算出する。指数係数(α1)は、リード混在率(以下、「リード混在率(c)」と表記する)が「c=1」の場合の指数係数である。すなわち、指数係数(α1)は、RAIDグループへのライト要求の存在を無視した場合の指数係数である。
Figure 2013164822
つぎに、作成部602は、リード要求とライト要求とが混在する場合、すなわち、リード混在率(c)が「c≠0」の場合のレスポンスモデルの指数係数(αc)を算出する。ここで、リード要求とライト要求とが混在する場合、IOPS(X)の増加にともなって指数関数的に増加する平均応答時間(W)は、ライト要求の存在を無視した場合に比べてより急激に上昇する。すなわち、リード要求とライト要求とが混在することにより、レスポンスモデルに含まれる指数係数の値が、ライト要求の存在を無視した場合に比べて大きくなる。
具体的には、例えば、作成部602は、下記式(9)を用いて、リード混在率が「c」の場合のレスポンスモデルの指数係数(αc)を算出することができる。ただし、cは、リード混在率である。リード混在率は、例えば、上記式(3)を用いて表すことができる。αcは、リード混在率が「c」の場合の指数係数である(c≠0)。α1は、リード混在率が「1」の場合の指数係数である。
また、tは、I/Oサイズ比である。I/Oサイズ比(以下、「I/Oサイズ比(t)」と表記する)は、I/Oサイズ(rR)に対するI/Oサイズ(rW)の割合を表すものである。I/Oサイズ比(t)は、例えば、下記式(10)を用いて表すことができる。
Figure 2013164822
t=rW/rR ・・・(10)
上記式(9)は、例えば、RAIDグループに対して行った負荷実験の実験結果の統計的考察から導出される。ここで、第2階層装置情報420および負荷情報500を用いて、階層型ストレージ装置200の第2階層のRAIDグループについて、多重度(30)の場合のレスポンスモデルの作成例について説明する。レスポンスモデルを作成する際に必要となる各要素の値は以下の通りである。
最大IOPS(X30):X30=639.115
最小応答時間(Tmin):Tmin=5.615
平均応答時間(W30):W30=46.94
IOPS(xR):xR=150
IOPS(xW):xW=50
I/Oサイズ(rR):rR=48[KB]
I/Oサイズ(rW):rW=48[KB]
まず、作成部602は、上記式(8)に、平均応答時間(W30)、最大IOPS(X30)および最小応答時間(Tmin)を代入することにより、指数係数(α1)を算出する。ここでは、指数係数(α1)は「α1=0.005785」となる。
つぎに、作成部602は、IOPS(xR)およびIOPS(xW)を上記式(3)に代入することにより、リード混在率(c)を算出する。ここでは、リード混在率(c)は「c=0.75」となる。また、作成部602は、I/Oサイズ(rR)およびI/Oサイズ(rW)を上記式(10)に代入することにより、I/Oサイズ比(t)を算出する。ここでは、I/Oサイズ比(t)は「t=1」となる。
つぎに、作成部602は、リード混在率(c)、I/Oサイズ比(t)および指数係数(α1)の値をそれぞれ上記式(9)に代入することにより、リード混在率が「c」の場合のレスポンスモデルの指数係数(αc)を算出する。ここでは、指数係数(αc)は「αc=0.0014496」となる。
そして、作成部602は、算出した指数係数(αc)および最小応答時間(Tmin)を上記式(1)に代入することにより、RAIDグループのリード要求に対する平均応答時間(W)を表すレスポンスモデルを作成することができる。
(第1の算出部603の具体的な処理内容)
つぎに、第1の算出部603のより具体的な処理内容について説明する。ここでは、まず、図2に示した階層型ストレージ装置200を例に挙げて、階層型ストレージ装置200のSub−LUN当たりのIOPSの確率分布について説明する。
図8は、階層型ストレージ装置200のSub−LUN当たりのIOPSの確率分布を表す説明図である。図8において、確率分布810は、階層型ストレージ装置200の各Sub−LUNがアクセスされる確率を、階層型ストレージ装置200の各Sub−LUNのIOPSが大きい順にソートして表す確率分布である。
ここで、各Sub−LUNのIOPSを、IOPSが大きい順にソートして表す場合、確率分布810はジップ分布に従うことが想定される。ジップ分布とは、出現頻度がk番目に大きい要素が全体に占める割合は1/kに比例するというジップの法則に従う確率分布である。
このため、上述したように、IOPS(XTup)を、RAIDグループ内のSub−LUNの個数で除算した値を上方IOPS閾値(Xup)とすると、第j階層のRAIDグループにかかる全体のIOPSは想定よりも少ないものとなってしまう。例えば、確率分布820は、IOPS(XTup)をSub−LUNの個数で単純に除算した値を上方IOPS閾値(Xup)とした場合に予想される確率分布である。
そこで、第1の算出部603は、階層型ストレージの各Sub−LUNのIOPSを大きい順にソートして表す確率分布がジップ分布に従うと仮定して、第j階層にかかる負荷を表すIOPSがIOPS(XTup)となるように上方IOPS閾値(Xup)を算出する。図8の例では、第1の算出部603は、例えば、面積830と面積840とが同じになるように上方IOPS閾値(Xup)を算出する。以下、第j階層の上方IOPS閾値(Xup)を算出する第1の算出部603の具体的な処理内容について説明する。
まず、第1の算出部603は、第j階層のSub−LUNの個数(以下、「Sub−LUN数(n)」と表記する)を算出する。具体的には、例えば、第1の算出部603は、下記式(11)を用いて、第j階層のSub−LUN数(n)を算出することができる。
ただし、nは、第j階層のSub−LUN数である。Qは、第j階層のRAIDグループの記憶領域のうち、システム領域を除く残余の記憶領域の割合(以下、「割合(Q)と表記する」)である。Dは、第j階層のRAIDグループのディスクサイズである。Rは、第j階層のRAIDグループのRAIDランクである。dは、Sub−LUNの記憶容量を表すSub−LUNサイズである。
n=(Q×D×R)/d ・・・(11)
なお、Sub−LUNサイズ(d)は、例えば、予め設定されてROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されている。具体的には、例えば、Sub−LUNサイズ(d)は「d=1.3[GB]」である。
以下の説明では、第j階層のSub−LUN数を「Sub−LUN数(nj)」と表記する場合がある。また、階層型ストレージの第1〜第m階層のSub−LUN数の総和を「総Sub−LUN数(N)」と表記する場合がある。
例えば、Sub−LUNサイズ(d)を「d=1.3[GB]」とすると、階層型ストレージ装置200の第2階層のSub−LUN数(n2)は「n2≒1230」となる。また、階層型ストレージ装置200の第1階層のSub−LUN数(n1)は「n1≒280」となる。階層型ストレージ装置200の第3階層のSub−LUN数(n3)は「n3≒3430」となる。この場合、総Sub−LUN数(N)は「N=4940」となる。
つぎに、第1の算出部603は、第j階層のSub−LUNがアクセスされる確率の総和(Pj)を算出する。ここで、階層型ストレージの各Sub−LUNのIOPSを大きい順にソートした場合のi番目のSub−LUNがアクセスされる確率(xi)は、例えば、下記式(12)を用いて表すことができる。ただし、xiは、i番目のSub−LUNがアクセスされる確率である。Nは、階層型ストレージの総Sub−LUN数である。
Figure 2013164822
このため、第1の算出部603は、下記式(13)を用いて、第j階層のSub−LUNがアクセスされる確率の総和(Pj)を算出することができる。ただし、Pjは、第j階層のSub−LUNがアクセスされる確率の総和である。aは、第1〜第(j−1)階層のSub−LUN数の総和に「1」を足した値である。すなわち、aは、階層型ストレージの各Sub−LUNのIOPSを大きい順にソートした場合の、第j階層のSub−LUNのうちアクセスされる確率が最大のSub−LUNの順番を表している。bは、第1〜第j階層のSub−LUN数の総和である。
Figure 2013164822
そして、第1の算出部603は、下記式(14)を用いて、第j階層にかかる負荷を表すIOPSがIOPS(XTup)となる場合の、a番目のSub−LUNのIOPSを上方IOPS閾値(Xup)として算出する。ただし、Xupは、第j階層の上方IOPS閾値である。XTupは、第j階層のRAIDグループのリード要求に対する平均応答時間(W)が最大応答時間(Wmax)の場合のI/O要求の平均IOPSである。xaは、第j階層のSub−LUNのうちアクセスされる確率が最大のSub−LUNの確率である。Pjは、第j階層のSub−LUNがアクセスされる確率の総和である。
up=XTup×xa/Pj ・・・(14)
ここで、階層型ストレージ装置200の第1/第2階層間を例に挙げて、RAIDグループの上方IOPS閾値(Xup)の計算例について説明する。上方IOPS閾値(Xup)を計算する際に必要となる各要素の値は以下の通りである。
最大応答時間(Wmax):Wmax=30[msec]
Sub−LUN数(n1):n1≒280
Sub−LUN数(n2):n2≒1230
この場合、まず、第1の算出部603は、上記式(1)に第j階層のRAIDグループの最大応答時間(Wmax)を代入することによりIOPS(XRup)を算出する。ただし、最小応答時間(Tmin)を「Tmin=0.005785」とし、指数係数(αc)を「αc=0.0014496」とする。ここでは、IOPS(XRup)は「XRup=223.1」となる。
つぎに、第1の算出部603は、上記式(2)にIOPS(XRup)を代入することによりIOPS(XTup)を算出する。ただし、リード混在率(c)は「c=0.75」である。ここでは、IOPS(XTup)は「XTup=297.467」となる。
つぎに、第1の算出部603は、上記式(13)を用いて、第2階層のSub−LUNがアクセスされる確率の総和(P2)を算出する。ここでは、確率の総和(P2)は、下記式(15)の通り、「P2=0.187」となる。また、第2階層のSub−LUNのうちアクセスされる確率が最大となる281番目のSub−LUNの確率(x281)は「x281=0.0004」となる。
Figure 2013164822
そして、第1の算出部603は、上記式(14)にIOPS(XTup)、確率(x281)および確率の総和(P2)の値をそれぞれ代入することにより、第2階層の上方IOPS閾値(Xup)を算出する。ここでは、上方IOPS閾値(Xup)は「Xup=0.633」となる。
上述した説明では、確率(xa)は、第j階層のSub−LUNのうちアクセスされる確率が最大となるSub−LUNの確率としたが、これに限らない。例えば、確率(xa)は、最大の確率に準ずる値であれば、第j階層のSub−LUNのうちアクセスされる確率が2番目や3番目に大きいSub−LUNの確率としてもよい。
なお、階層型ストレージ装置200の第3階層のRAIDグループの上方IOPS閾値(Xup)を算出する場合は、第2階層のRAIDグループに関する装置情報および負荷情報を、第3階層のRAIDグループに関する装置情報および負荷情報に変更すればよいため説明を省略する。
(第2の算出部604の具体的な処理内容)
つぎに、第2の算出部604のより具体的な処理内容について説明する。図8を用いて説明したように、IOPS(XTdown)を、第j階層のRAIDグループ内のSub−LUNの個数で除算した値を第(j−1)階層の下方IOPS閾値(Xdown)とすると、第(j−1)階層のRAIDグループにかかる全体のIOPSは想定よりも少ないものとなってしまう。
そこで、上方IOPS閾値(Xup)を算出する場合と同様に、階層型ストレージの各Sub−LUNのIOPSを大きい順にソートして表す確率分布がジップ分布に従うと仮定する。そして、第2の算出部604は、第j階層にかかる負荷を表すIOPSがIOPS(XTdown)となるように、第(j−1)階層の下方IOPS閾値(Xdown)を算出する。
まず、第2の算出部604は、上記式(11)を用いて、第j階層のSub−LUN数(nj)を算出する。なお、第j階層のSub−LUN数(nj)は、第1の算出部603の算出結果を用いることにしてもよい。
つぎに、第2の算出部604は、上記式(12)および(13)を用いて、第j階層のSub−LUNがアクセスされる確率の総和(Pj)を算出する。なお、確率の総和(Pj)は、第1の算出部603の算出結果を用いることにしてもよい。
そして、第2の算出部604は、下記式(16)を用いて、第j階層にかかる負荷を表すIOPSがIOPS(XTdown)となる場合の、a番目のSub−LUNのIOPSを、第(j−1)階層の下方IOPS閾値(Xdown)として算出する。ただし、Xdownは、第(j−1)階層の下方IOPS閾値である。XTdownは、第j階層のRAIDグループの多重度が安全多重度(Nsafe)の場合のI/O要求の平均IOPSである。xaは、第j階層のSub−LUNのうちアクセスされる確率が最大のSub−LUNの確率である。Pjは、第j階層のSub−LUNがアクセスされる確率の総和である。
down=XTdown×xa/Pj ・・・(16)
ここで、階層型ストレージ装置200の第1/第2階層間を例に挙げて、第1階層のRAIDグループの下方IOPS閾値(Xdown)の計算例について説明する。上方IOPS閾値(Xup)を計算する際に必要となる各要素の値は以下の通りである。
安全多重度(Nsafe):Nsafe=3
Sub−LUN数(n1):n1≒280
Sub−LUN数(n2):n2≒1230
この場合、まず、第2の算出部604は、上記式(4)を用いて、第j階層のRAIDグループの多重度が安全多重度(Nsafe)の場合のIOPS(XRdown)を表す下記式(17)を作成する。ただし、WRdownは、RAIDグループの多重度が安全多重度(Nsafe)の場合のリード要求の平均応答時間である。なお、リトルの公式からは[sec]単位の値が求まるため、ここでは1000倍して[msec]単位にしている。
Rdown=Nsafe×1/WRdown×1000 ・・・(17)
つぎに、第2の算出部604は、上記式(1)を用いて、第j階層のRAIDグループのリード要求の平均IOPSがIOPS(XRdown)の場合の平均応答時間(WRdown)を表す下記式(18)を作成する。
Figure 2013164822
そして、第2の算出部604は、上記式(17)および(18)を用いて、第j階層のRAIDグループの多重度が安全多重度(Nsafe)の場合のIOPS(XRdown)を算出する。ただし、最小応答時間(Tmin)を「Tmin=0.005785」とし、指数係数(αc)を「αc=0.00144」とする。ここでは、IOPS(XRdown)は「XRdown=209.747」となる。
つぎに、第2の算出部604は、上記式(5)にIOPS(XRdown)を代入することによりIOPS(XTdown)を算出する。ただし、リード混在率(c)は「c=0.75」である。ここでは、IOPS(XTdown)は「XTdown=279.667」となる。
つぎに、第2の算出部604は、上記式(13)を用いて、第2階層のSub−LUNがアクセスされる確率の総和(P2)を算出する。ここでは、確率の総和(P2)は、上記式(15)の通り、「P2=0.187」となる。また、第2階層のSub−LUNのうちアクセスされる確率が最大となる281番目(a=281)のSub−LUNの確率(x281)は「x281=0.0004」となる。
そして、第2の算出部604は、上記式(16)にIOPS(XTdown)、確率(x281)および確率の総和(P2)の値をそれぞれ代入することにより、第1階層の下方IOPS閾値(Xdown)を算出する。ここでは、下方IOPS閾値(Xdown)は「Xdown=0.5955」となる。
なお、階層型ストレージ装置200の第2階層のRAIDグループの下方IOPS閾値(Xdown)を算出する場合は、第3階層のRAIDグループに関する装置情報および負荷情報を、第2階層のRAIDグループに関する装置情報および負荷情報に変更すればよいため説明を省略する。
(第3の算出部606の具体的な処理内容)
つぎに、第3の算出部606の具体的な処理内容について説明する。ここでは、階層型ストレージ装置200の第2階層のRAIDグループを例に挙げて、第3の算出部606の具体的な処理内容について説明する。
ここで、ユーザが使用するLUNのLUサイズは1[TB]とする。また、LUN内のSub−LUN数を「768」とする。また、初期状態では、LUN内のすべてのSub−LUNが第2階層のRAIDグループから割り当てられていることにする。そして、所定期間(例えば、1週間)経過後に、第2階層に設定された上方IOPS閾値(Xup)および下方IOPS閾値(Xdown)に従って、階層間におけるSub−LUNの移動が行われた場合を想定する。
また、所定期間経過後における各階層のRAIDグループにかかる負荷を表す負荷情報は、以下の通りである。ただし、IOPS(x)は、階層型ストレージ装置200へのI/O要求の平均IOPSである。
IOPS(x):=70
I/Oサイズ(rR):=48[KB]
I/Oサイズ(rW):=48[KB]
リード混在率(c):c=0.75
また、Sub−LUN単位のIOPSはジップ分布に従うと仮定する。このため、IOPSがi番目に大きいSub−LUNがアクセスされる確率(xi)は、例えば、上記式(12)を用いて表すことができる。
まず、第3の算出部606は、下記式(19)を用いて、IOPSがi番目に大きいSub−LUNのIOPS(Xi)を算出する。ただし、i=1,2,…,768。
Figure 2013164822
つぎに、第3の算出部606は、算出したIOPS(Xi)に基づいて、Sub−LUN単位のIOPSが、第2階層の上方IOPS閾値(Xup)以下であり、第2階層の下方IOPS閾値(Xdown)より大きいSub−LUNの個数(K)を算出する。Sub−LUNの個数(K)は、第2階層のRAIDグループからLUNに割り当てられるSub−LUNの個数、すなわち、第2階層に属するSub−LUNの個数である。
ここで、第2階層の上方IOPS閾値(Xup)を「Xup=0.633」とし、第2階層の下方IOPS閾値(Xdown)を「Xdown=0.098」とする。この場合、Sub−LUNの個数(K)は「K=83」となる。
そして、第3の算出部606は、算出したSub−LUNの個数(K)に基づいて、第2階層のRAIDグループの容量比率(CR2)を算出する。具体的には、例えば、第3の算出部606は、下記式(20)を用いて、第2階層のRAIDグループの容量比率(CR2)を算出することができる。ただし、Pjは、第j階層のRAIDグループの容量比率である。Kは、第j階層に属するSub−LUNの個数である。dは、Sub−LUNのSub−LUNサイズである。LUは、LUNのLUサイズである。
Pj=K×d/LU ・・・(20)
ここで、Sub−LUNサイズ(d)を「1.3[GB]」とし、LUNのLUサイズ(LU)を「LU=1[TB]=1024[GB]」とする。この場合、第2階層のRAIDグループの容量比率(CR2)は「CR2≒0.1063」となる。
つぎに、第3の算出部606は、算出したIOPS(Xi)に基づいて、第2階層に属する各Sub−LUNのIOPSの総和(Xsum)を算出する。ここで、第1階層に属するSub−LUNの個数を「15」とする。
この場合、第3の算出部606は、16番目から98番目のSub−LUNのIOPS(X16)〜IOPS(X98)を足し合わせることにより、第2階層に属する各Sub−LUNのIOPSの総和(Xsum)を算出する。ここでは、第2階層に属する各Sub−LUNのIOPSの総和(Xsum)は「Xsum=17.88」となる。
つぎに、第3の算出部606は、算出した第2階層に属する各Sub−LUNのIOPSの総和(Xsum)をレスポンスモデルに代入することにより、第2階層のRAIDグループへのリード要求に対する平均応答時間(WR)を算出する。レスポンスモデルは、例えば、上記式(1)である。
ここで、上記式(1)に含まれる指数係数(αc)を「αc=0.00782」とし、最小応答時間(Tmin)を「Tmin=4.223[msec]」とする。この場合、平均応答時間(WR)は「WR=4.33[msec]」となる。
そして、第3の算出部606は、算出した平均応答時間(WR)を下記式(21)に代入することにより、第2階層のRAIDグループへのI/O要求に対する平均応答時間(W)を算出する。ただし、cは、リード混在率である。
W=c×WR ・・・(21)
ここで、リード混在率(c)は「c=0.75」である。このため、第2階層のRAIDグループへのI/O要求に対する平均応答時間(W)は「W=3.25[msec]」となる。
なお、第3の算出部606が用いるレスポンスモデルの作成例については、(作成部602の具体的な処理内容)において説明した内容と同様のため、ここでは説明を省略する。
ただし、上述した説明では、RAIDグループの使用率vを「v=1」としたが、ここでは、作成部602は、下記式(21)を用いて使用率vを算出する。dは、Sub−LUNのSub−LUNサイズである。Kは、第j階層に属するSub−LUNの個数である。Rは、第j階層のRAIDグループのRAIDランクである。Dは、第j階層のRAIDグループのディスクサイズである。
v=(d×K)/(0.9×R×D) ・・・(22)
上記式(22)は、RAIDグループの実容量は、ディスクサイズ(D)とRAIDランク(R)を掛け合わせた値の90[%]であることを利用して導出されたものである。
(負荷閾値算出画面の画面例)
つぎに、負荷閾値算出装置100のディスプレイ309に表示される負荷閾値算出画面の画面例について説明する。ここでは、図2に示した階層型ストレージ装置200の各階層の負荷閾値を算出する場合の負荷閾値算出画面の画面例について説明する。
図9〜図11は、負荷閾値算出画面の画面例を示す説明図である。図9において、負荷閾値算出画面900は、階層型ストレージの各階層の負荷閾値を算出する場合にディスプレイ309に表示される画面例である。
負荷閾値算出画面900において、キーボード310やマウス311を用いたユーザの操作入力により、カーソルCSを移動させてボックス901〜904をクリックすることにより、階層型ストレージにかかる負荷を表す負荷情報を入力することができる。
具体的には、ボックス901には、階層型ストレージ装置200へのI/O要求の平均IOPSを入力することができる。ボックス902には、階層型ストレージ装置200の各階層のRAIDグループへのリード要求の平均I/Oサイズを入力することができる。ボックス903には、各階層のRAIDグループへのライト要求の平均I/Oサイズを入力することができる。ボックス904には、各階層のリード混在率を入力することができる。
なお、ボックス901〜904には、例えば、階層型ストレージ装置200をファイルサーバとして使用した場合の典型的な負荷情報が予め入力されており、階層型ストレージにかかる負荷が不明な場合には、入力済みの負荷情報を用いることができる。ここでは、階層型ストレージにかかる負荷を表す負荷情報として入力済みの負荷情報を用いることにする。
また、負荷閾値算出画面900において、カーソルCSを移動させてボックス905をクリックすることにより、ユーザが使用するLUNのLUサイズを入力することができる。また、負荷閾値算出画面900において、カーソルCSを移動させてボックス906をクリックすることにより、階層型ストレージ装置200の各階層のRAIDグループのRAIDランクを入力することができる。また、負荷閾値算出画面900において、カーソルCSを移動させてボックス907をクリックすることにより、階層型ストレージ装置200の各階層のRAIDグループのディスクサイズを入力することができる。
ここでは、図10に示す負荷閾値算出画面900において、ユーザが使用するLUNのLUサイズ「1[TB]」がボックス905に入力されている。また、負荷閾値算出画面900において、階層型ストレージ装置200の第1〜第3階層のRAIDグループのRAIDランク「2,3,5」がボックス906に入力されている。また、負荷閾値算出画面900において、階層型ストレージ装置200の第1〜第3階層のRAIDグループのディスクサイズ「200[GB],600[GB],1[TB]」がボックス907に入力されている。
負荷閾値算出画面900において、各種情報を入力した結果、カーソルCSを移動させて計算ボタンBをクリックすることにより、階層型ストレージ装置200の各階層の負荷閾値を算出する算出処理の開始指示を入力することができる。この結果、負荷閾値算出装置100により、階層型ストレージ装置200の各階層の負荷閾値、容量比率およびI/O要求に対する平均応答時間が算出される。
ここでは、図11に示す負荷閾値算出画面900において、階層型ストレージ装置200の各階層の負荷閾値がボックス908〜911に表示されている。具体的には、ボックス908には、階層型ストレージ装置200の第1/第2階層間の上方IOPS閾値「0.633」が表示されている。ボックス909には、階層型ストレージ装置200の第2/第3階層間の上方IOPS閾値「0.098」が表示されている。ボックス910には、階層型ストレージ装置200の第1/第2階層間の下方IOPS閾値「0.595」が表示されている。ボックス911には、階層型ストレージ装置200の第2/第3階層間の下方IOPS閾値「0.098」が表示されている。
また、負荷閾値算出画面900において、階層型ストレージ装置200にかかる負荷を表す平均IOPS「50,70,90」ごとに、階層型ストレージ装置200の各階層の容量比率および平均応答時間がボックス912〜917に表示されている。
具体的には、ボックス912には、50IOPSの場合の階層型ストレージ装置200の第1〜第3階層の容量比率「1.28[%]、7.68[%]、91.04[%]」が表示されている。ボックス913には、階層型ストレージ装置200の各階層のI/O要求に対する平均応答時間「1.5[ms]、3.20[ms]、8.22[ms]」が表示されている。また、ボックス913には、階層型ストレージ装置200のI/O要求に対する平均応答時間「4.18[ms]」が表示されている(図中、全体平均)。
また、ボックス914には、70IOPSの場合の階層型ストレージ装置200の第1〜第3階層の容量比率「1.92[%]、10.63[%]、87.45[%]」が表示されている。ボックス915には、階層型ストレージ装置200の各階層のI/O要求に対する平均応答時間「1.5[ms]、3.25[ms]、8.23[ms]」が表示されている。また、ボックス915には、階層型ストレージ装置200のI/O要求に対する平均応答時間「3.87[ms]」が表示されている(図中、全体平均)。
また、ボックス916には、90IOPSの場合の階層型ストレージ装置200の第1〜第3階層の容量比率「2.43[%]、13.70[%]、83.87[%]」が表示されている。ボックス917には、階層型ストレージ装置200の各階層のI/O要求に対する平均応答時間「1.5[ms]、3.30[ms]、8.22[ms]」が表示されている。また、ボックス917には、階層型ストレージ装置200のI/O要求に対する平均応答時間「3.66[ms]」が表示されている(図中、全体平均)。
なお、第1階層のSSDにおける平均応答時間は、SSDの処理能力に対してI/O要求の処理負荷が非常に小さいため、一律に「1.5[ms]」としている。また、階層型ストレージ装置200のI/O要求に対する平均応答時間は、負荷閾値算出装置100が、各階層のIOPSと平均応答時間とを乗算した値の総和を、各階層のIOPSの総和で除算することにより求めることができる。
負荷閾値算出画面900によれば、ユーザは、階層型ストレージ装置200の各階層に設定する負荷閾値を表すIOPS閾値を求めることができる。また、ユーザは、階層型ストレージ装置200にかかる負荷を表す平均IOPSごとに、各階層のIOPS閾値に従ってSub−LUNを移動した場合の各階層の容量比率および平均レスポンスを判断することができる。
また、詳細な計算内容の説明は省略するが、LUN内のすべてのSub−LUNが第2階層のSASから割り当てられている場合のI/O要求に対する平均応答時間は、4.53[ms]である。これに対して、例えば、平均IOPSが「70」の場合のI/O要求に対する平均応答時間(全体平均)は、3.87[ms]である。すなわち、各階層のIOPS閾値に従ってSub−LUNを移動することにより、すべてのSub−LUNをSASから割り当てた場合に比べて応答性能が改善することがわかる。
また、図11に示す例では、SASに比べてコストが高いSSDを利用することになるが、SSDの容量比率は非常に小さく、また、NL−SASの容量比率が大きい。このため、すべてのSub−LUNをSASから割り当てた場合に比べて、全体としてのコストは少なくなる。このように、各階層のIOPS閾値に従ってSub−LUNを移動することにより、階層型ストレージ装置200の応答性能および運用コストの両方を改善することができる。
(負荷閾値算出装置100の負荷閾値算出処理手順)
つぎに、負荷閾値算出装置100の負荷閾値算出処理手順について説明する。ここでは、図2に示した階層型ストレージ装置200を例に挙げて説明する。
図12は、負荷閾値算出装置100の負荷閾値算出処理手順の一例を示すフローチャートである。図12のフローチャートにおいて、まず、負荷閾値算出装置100は、階層型ストレージ装置200に関する装置情報および負荷情報を取得したか否かを判断する(ステップS1201)。
ここで、負荷閾値算出装置100は、装置情報および負荷情報を取得するのを待つ(ステップS1201:No)。そして、負荷閾値算出装置100は、装置情報および負荷情報を取得した場合(ステップS1201:Yes)、取得した装置情報および負荷情報に基づいて、レスポンスモデル作成処理を実行する(ステップS1202)。
つぎに、負荷閾値算出装置100は、取得した装置情報に基づいて、上記式(11)を用いて、階層型ストレージ装置200の第1〜第3階層のSub−LUN数(n1)〜(n3)を算出する(ステップS1203)。そして、負荷閾値算出装置100は、取得した装置情報および負荷情報に基づいて、第1/第2階層上方IOPS閾値算出処理を実行する(ステップS1204)。
つぎに、負荷閾値算出装置100は、取得した装置情報および負荷情報に基づいて、第1/第2階層下方IOPS閾値算出処理を実行する(ステップS1205)。そして、負荷閾値算出装置100は、第1階層の下方IOPS閾値(Xdown[1])が、第2階層の上方IOPS閾値(Xup[2])よりも大きいか否かを判断する(ステップS1206)。
ここで、第1階層の下方IOPS閾値(Xdown[1])が、第2階層の上方IOPS閾値(Xup[2])以下の場合(ステップS1206:No)、負荷閾値算出装置100はステップS1208に移行する。
一方、第1階層の下方IOPS閾値(Xdown[1])が、第2階層の上方IOPS閾値(Xup[2])より大きい場合(ステップS1206:Yes)、負荷閾値算出装置100は、第1階層の下方IOPS閾値(Xdown[1])の値を、第2階層の上方IOPS閾値(Xup[2])の値とする(ステップS1207)。
つぎに、負荷閾値算出装置100は、取得した装置情報および負荷情報に基づいて、第2/第3階層上方IOPS閾値算出処理を実行する(ステップS1208)。そして、負荷閾値算出装置100は、取得した装置情報および負荷情報に基づいて、第2/第3階層下方IOPS閾値算出処理を実行する(ステップS1209)。
つぎに、負荷閾値算出装置100は、第2階層の下方IOPS閾値(Xdown[2])が、第3階層の上方IOPS閾値(Xup[3])よりも大きいか否かを判断する(ステップS1210)。ここで、第2階層の下方IOPS閾値(Xdown[2])が、第3階層の上方IOPS閾値(Xup[3])以下の場合(ステップS1210:No)、負荷閾値算出装置100はステップS1212に移行する。
一方、第2階層の下方IOPS閾値(Xdown[2])が、第3階層の上方IOPS閾値(Xup[3])より大きい場合(ステップS1210:Yes)、負荷閾値算出装置100は、第2階層の下方IOPS閾値(Xdown[2])の値を、第3階層の上方IOPS閾値(Xup[3])の値とする(ステップS1211)。
そして、負荷閾値算出装置100は、第2、第3階層の上方IOPS閾値を上方IOPS閾値(Xup[2])、(Xup[3])に設定する(ステップS1212)。つぎに、負荷閾値算出装置100は、第1、第2階層の下方IOPS閾値を下方IOPS閾値(Xdown[1])、(Xdown[2])に設定する(ステップS1213)。
そして、負荷閾値算出装置100は、設定した設定結果を出力して(ステップS1214)、本フローチャートによる一連の処理を終了する。
これにより、階層型ストレージ装置200の各階層のSub−LUNにかかる負荷についての負荷閾値として、Sub−LUNへのI/O要求の上方IOPS閾値(Xup)または/および下方IOPS閾値(Xdown)を設定することができる。
・レスポンスモデル作成処理手順
つぎに、図12に示したステップS1202のレスポンスモデル作成処理の具体的な処理手順について説明する。ここでは、第j階層のRAIDグループのリード要求に対する平均応答時間を表すレスポンスモデルを作成する場合について説明する。
図13は、レスポンスモデル作成処理の具体的処理手順の一例を示すフローチャートである。図13のフローチャートにおいて、まず、負荷閾値算出装置100は、装置情報および負荷情報に基づいて、上記式(6)を用いて、多重度(N)の場合のRAIDグループの最大IOPS(XN)を算出する(ステップS1301)。
つぎに、負荷閾値算出装置100は、多重度(N)と、多重度(N)の場合のRAIDグループの最大IOPS(XN)とに基づいて、上記式(4)を用いて、RAIDグループへのリード要求に対する応答時間(WN)を算出する(ステップS1302)。つぎに、負荷閾値算出装置100は、装置情報および負荷情報に基づいて、上記式(7)を用いて、リード要求に対する最小応答時間(Tmin)を算出する(ステップS1303)。
そして、負荷閾値算出装置100は、算出した最大IOPS(XN)、応答時間(WN)および最小応答時間(Tmin)を上記式(8)に代入することにより、指数係数(α1)を算出する(ステップS1304)。
つぎに、負荷閾値算出装置100は、取得した負荷情報に基づいて、上記式(3)を用いて、リード混在率(c)を算出する(ステップS1305)。つぎに、負荷閾値算出装置100は、取得した負荷情報に基づいて、上記式(10)を用いて、I/Oサイズ比(t)を算出する(ステップS1306)。
そして、負荷閾値算出装置100は、指数係数(α1)、リード混在率(c)およびI/Oサイズ比(t)を上記式(9)に代入することにより、リード混在率(c)の場合の指数係数(αc)を算出する(ステップS1307)。
つぎに、負荷閾値算出装置100は、指数係数(αc)および最小応答時間(Tmin)を上記式(1)に代入することにより、リード要求に対する応答時間(W)を表すレスポンスモデルを作成して(ステップS1308)、本フローチャートによる一連の処理を終了する。
これにより、リード要求のIOPS(X)の増加にともなって指数関数的に増加するリード要求に対する平均応答時間(W)を表すレスポンスモデルを作成することができる。
・第1/第2階層上方IOPS閾値算出処理手順
つぎに、図12に示したステップS1204の第1/第2階層上方IOPS閾値算出処理の具体的な処理手順について説明する。
図14は、第1/第2階層上方IOPS閾値算出処理の具体的処理手順の一例を示すフローチャートである。図14のフローチャートにおいて、まず、負荷閾値算出装置100は、装置情報に基づいて、第2階層のRAIDグループの最大応答時間(Wmax)を、作成したレスポンスモデルに代入することにより、最大応答時間(Wmax)の場合のIOPS(XRup)を算出する(ステップS1401)。
つぎに、負荷閾値算出装置100は、負荷情報およびIOPS(XRup)に基づいて、上記式(2)および(3)を用いて、IOPS(XTup)を算出する(ステップS1402)。そして、負荷閾値算出装置100は、上記式(12)を用いて、第2階層のSub−LUNのうちアクセスされる確率が最大となる281番目(a=281)のSub−LUNの確率(x281)を算出する(ステップS1403)。
つぎに、負荷閾値算出装置100は、上記式(12)および(13)を用いて、第2階層のSub−LUNがアクセスされる確率の総和(P2)を算出する(ステップS1404)。そして、負荷閾値算出装置100は、上記式(14)を用いて、第2階層の上方IOPS閾値(Xup[2])を算出して(ステップS1405)、本フローチャートによる一連の処理を終了する。
これにより、第2階層にかかる負荷を表すIOPSがIOPS(XTup)となる場合の、281番目のSub−LUNのIOPSを、第2階層の上方IOPS閾値として算出することができる。
なお、図12に示したステップS1208の第2/第3階層上方IOPS閾値算出処理の具体的な処理手順については、図14に示した第1/第2階層上方IOPS閾値算出処理の具体的な処理手順と同様のため説明を省略する。
・第1/第2階層下方IOPS閾値算出処理手順
つぎに、図12に示したステップS1205の第1/第2階層下方IOPS閾値算出処理の具体的な処理手順について説明する。
図15は、第1/第2階層下方IOPS閾値算出処理の具体的処理手順の一例を示すフローチャートである。図15のフローチャートにおいて、まず、負荷閾値算出装置100は、装置情報に基づいて、上記式(4)を用いて、第2階層のRAIDグループの多重度が安全多重度(Nsafe)の場合のIOPS(XRdown)を表す式を作成する(ステップS1501)。IOPS(XRdown)を表す式は、例えば、上記式(17)である。
つぎに、負荷閾値算出装置100は、作成したレスポンスモデルを用いて、第2階層のRAIDグループのリード要求の平均IOPSがIOPS(XRdown)の場合の平均応答時間(WRdown)を表す式を作成する(ステップS1502)。平均応答時間(WRdown)を表す式は、例えば、上記式(18)である。
そして、負荷閾値算出装置100は、作成したIOPS(XRdown)を表す式および平均応答時間(WRdown)を表す式を用いて、第2階層のRAIDグループの多重度が安全多重度(Nsafe)の場合のIOPS(XRdown)を算出する(ステップS1503)。
つぎに、負荷閾値算出装置100は、上記式(5)にIOPS(XRdown)を代入することによりIOPS(XTdown)を算出する(ステップS1504)。そして、負荷閾値算出装置100は、上記式(16)を用いて、第1階層の下方IOPS閾値(Xdown[1])を算出して(ステップS1505)、本フローチャートによる一連の処理を終了する。
なお、ステップS1505において、第2階層のSub−LUNのうちアクセスされる確率が最大となる281番目(a=281)のSub−LUNの確率(x281)は、図14に示したステップS1403において算出された算出結果を利用することができる。同様に、第2階層のSub−LUNがアクセスされる確率の総和(P2)は、図14に示したステップS1404において算出された算出結果を利用することができる。
これにより、第2階層にかかる負荷を表すIOPSがIOPS(XTdown)となる場合の、281番目のSub−LUNのIOPSを、第1階層の下方IOPS閾値として算出することができる。
なお、図12に示したステップS1209の第2/第3階層下方IOPS閾値算出処理の具体的な処理手順については、図15に示した第1/第2階層下方IOPS閾値算出処理の具体的な処理手順と同様のため説明を省略する。
(負荷閾値算出装置100の画面作成処理手順)
つぎに、負荷閾値算出装置100の画面作成処理手順について説明する。画面作成処理は、例えば、図9〜図11に示した負荷閾値算出画面900を作成する処理である。
図16は、負荷閾値算出装置100の画面作成処理手順の一例を示すフローチャートである。図16のフローチャートにおいて、まず、負荷閾値算出装置100は、階層型ストレージ装置200に関する装置情報および負荷情報を取得したか否かを判断する(ステップS1601)。
ここで、負荷閾値算出装置100は、装置情報および負荷情報を取得するのを待つ(ステップS1601:No)。そして、負荷閾値算出装置100は、装置情報および負荷情報を取得した場合(ステップS1601:Yes)、取得した装置情報および負荷情報に基づいて、レスポンスモデル作成処理を実行する(ステップS1602)。
つぎに、負荷閾値算出装置100は、取得した装置情報および負荷情報に基づいて、負荷閾値算出処理を実行する(ステップS1603)。そして、負荷閾値算出装置100は、取得した装置情報および負荷情報に基づいて、上記式(19)を用いて、各Sub−LUNのIOPS(Xi)を算出する(ステップS1604)。
つぎに、負荷閾値算出装置100は、算出した各Sub−LUNのIOPS(Xi)および各階層の負荷閾値に基づいて、第1〜第3階層のSub−LUNの個数(K1)〜(K3)を算出する(ステップS1605)。そして、負荷閾値算出装置100は、取得した装置情報および負荷情報に基づいて、上記式(20)を用いて、第1〜第3階層のRAIDグループの容量比率(CR1)〜(CR3)を算出する(ステップS1606)。
つぎに、負荷閾値算出装置100は、算出した各Sub−LUNのIOPS(Xi)に基づいて、第1〜第3階層に属する各Sub−LUNのIOPSの総和(Xsum[1])〜(Xsum[3])を算出する(ステップS1607)。
そして、負荷閾値算出装置100は、算出したIOPSの総和(Xsum[1])〜(Xsum[3])をレスポンスモデルにそれぞれ代入することにより、第1〜第3階層のRAIDグループへのリード要求に対する平均応答時間(WR[1])〜(WR[3])を算出する(ステップS1608)。
つぎに、負荷閾値算出装置100は、算出した平均応答時間(WR[1])〜(WR[3])を上記式(21)にそれぞれ代入することにより、第1〜第3階層のRAIDグループへのI/O要求に対する平均応答時間(W1)〜(W3)を算出する(ステップS1609)。
そして、負荷閾値算出装置100は、第1〜第3階層のRAIDグループへのI/O要求に対する全体平均応答時間を算出する(ステップS1610)。つぎに、負荷閾値算出装置100は、算出した各種算出結果に基づいて、負荷閾値算出画面を作成する(ステップS1611)。そして、負荷閾値算出装置100は、作成した負荷閾値算出画面を出力して(ステップS1612)、本フローチャートによる一連の処理を終了する。
これにより、階層型ストレージ装置200の各階層に設定された負荷閾値に従ってSub−LUNを移動した場合における各階層の容量比率や各階層の応答性能を表す平均応答時間を表示する負荷閾値算出画面を作成することができる。
なお、ステップS1602のレスポンスモデル作成処理の具体的な処理手順については、図13に示したレスポンスモデル作成処理の具体的な処理手順と同様のため説明を省略する。また、ステップS1603の負荷閾値算出処理の具体的な処理手順については、図12に示した負荷閾値算出処理の具体的な処理手順と同様のため説明を省略する。
(負荷閾値算出装置100の運用処理手順)
つぎに、階層型ストレージ装置200に負荷閾値算出装置100を適用することにより、各階層の負荷閾値に基づく階層間のSub−LUNの移動を自動化する運用処理手順について説明する。この運用処理は、例えば、予め設定された所定期間ごとに実行される。所定期間は、例えば、1週間、1ヶ月である。
図17は、負荷閾値算出装置100の運用処理手順の一例を示すフローチャートである。図17のフローチャートにおいて、まず、負荷閾値算出装置100は、所定期間が経過したか否かを判断する(ステップS1701)。
ここで、負荷閾値算出装置100は、所定期間が経過するのを待つ(ステップS1701:No)。そして、負荷閾値算出装置100は、所定期間が経過した場合(ステップS1701:Yes)、所定期間分の階層型ストレージ装置200の負荷情報を取得する(ステップS1702)。
この負荷情報は、図5に示した負荷情報500に含まれる情報と、階層型ストレージ装置200内の各Sub−LUNの平均IOPS(以下、「IOPS(X)」と表記する)とを含む。負荷情報は、例えば、負荷閾値算出装置100においてリアルタイムに計測されてRAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されている。
つぎに、負荷閾値算出装置100は、取得した負荷情報および階層型ストレージ装置200の装置情報に基づいて、負荷閾値算出処理を実行する(ステップS1703)。なお、階層型ストレージ装置200の装置情報は、例えば、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されている。
そして、負荷閾値算出装置100は、第j階層の「j」を「j=1」として(ステップS1704)、階層型ストレージ装置200の第j階層を選択する(ステップS1705)。つぎに、負荷閾値算出装置100は、選択した第j階層に属するSub−LUNを選択する(ステップS1706)。
そして、負荷閾値算出装置100は、取得した負荷情報に基づいて、選択したSub−LUNのIOPS(X)が第j階層に設定されている上方IOPS閾値(Xup)より大きいか否かを判断する(ステップS1707)。
ここで、IOPS(X)が上方IOPS閾値(Xup)より大きい場合(ステップS1707:Yes)、負荷閾値算出装置100は、選択したSub−LUNを第(j−1)階層に移動する(ステップS1708)。
一方、IOPS(X)が上方IOPS閾値(Xup)以下の場合(ステップS1707:No)、負荷閾値算出装置100は、選択したSub−LUNのIOPS(X)が第j階層に設定されている下方IOPS閾値(Xdown)より小さいか否かを判断する(ステップS1709)。
ここで、IOPS(X)が下方IOPS閾値(Xdown)より小さい場合(ステップS1709:Yes)、負荷閾値算出装置100は、選択したSub−LUNを第(j+1)階層に移動する(ステップS1710)。一方、IOPS(X)が下方IOPS閾値(Xdown)以上の場合(ステップS1709:No)、負荷閾値算出装置100は、ステップS1711に移行する。
そして、負荷閾値算出装置100は、選択した第j階層に属するSub−LUNのうち選択されていない未選択のSub−LUNがあるか否かを判断する(ステップS1711)。ここで、未選択のSub−LUNがある場合(ステップS1711:Yes)、負荷閾値算出装置100は、ステップS1706に戻って未選択のSub−LUNを選択する。
一方、未選択のSub−LUNがない場合(ステップS1711:No)、負荷閾値算出装置100は、第j階層の「j」をインクリメントして(ステップS1712)、第j階層の「j」が「3」より大きくなったか否かを判断する(ステップS1713)。
ここで、第j階層の「j」が「3」以下の場合(ステップS1713:No)、負荷閾値算出装置100は、ステップS1705に戻る。一方、第j階層の「j」が「3」より大きい場合(ステップS1713:Yes)、負荷閾値算出装置100は、本フローチャートによる一連の処理を終了する。
なお、ステップS1707において、第j階層に上方IOPS閾値(Xup)が未設定の場合、負荷閾値算出装置100は、ステップS1709に移行する。また、ステップS1709において、第j階層に下方IOPS閾値(Xdown)が未設定の場合、負荷閾値算出装置100は、ステップS1711に移行する。
これにより、各階層に設定された負荷閾値に基づく階層間のSub−LUNの移動を自動化することができる。なお、ステップS1703の負荷閾値算出処理の具体的な処理手順については、図12に示した負荷閾値算出処理の具体的な処理手順と同様のため説明を省略する。
以上説明したように、実施の形態にかかる負荷閾値算出装置100によれば、最大応答時間(Wmax)の場合のIOPS(XRup)に基づいて、第j階層のSub−LUNへのI/O要求の上方IOPS閾値(Xup)を算出することができる。これにより、階層型ストレージの各階層のSub−LUNにかかる負荷についての負荷閾値として、Sub−LUN単位のI/O要求の上方IOPS閾値(Xup)を設定することができる。具体的には、例えば、第j階層のSub−LUN単位の平均IOPSが上方IOPS閾値(Xup)を下回れば、第j階層のRAIDグループが要求される応答性能を満たすと判断することができる負荷閾値を設定することができる。
また、負荷閾値算出装置100によれば、IOPS(XRup)とリード混在率(c)とから得られるIOPS(XTup)に基づいて、上方IOPS閾値(Xup)を算出することができる。これにより、リード要求とライト要求とが混在する場合の上方IOPS閾値(Xup)を算出することができる。
また、負荷閾値算出装置100によれば、IOPS(XTup)と、第j階層のSub−LUNがアクセスされる確率の総和(Pj)と、第j階層のアクセスされる確率が最大のSub−LUNの確率(xa)とに基づいて、上方IOPS閾値(Xup)を算出することができる。
具体的には、例えば、負荷閾値算出装置100によれば、第j階層にかかる負荷を表すIOPSがIOPS(XTup)となる場合の、第j階層のアクセスされる確率が最大となるSub−LUNのIOPSを上方IOPS閾値(Xup)として算出することができる。これにより、階層型ストレージの各Sub−LUNのIOPSを大きい順にソートして表す確率分布がジップ分布に従う場合の上方IOPS閾値(Xup)を算出することができる。
また、負荷閾値算出装置100によれば、第j階層のRAIDグループの多重度が安全多重度(Nsafe)の場合のIOPS(XRdown)に基づいて、第(j−1)階層の下方IOPS閾値(Xdown)を算出することができる。これにより、階層型ストレージの各階層のSub−LUNにかかる負荷についての負荷閾値として、Sub−LUN単位のI/O要求の下方IOPS閾値(Xdown)を設定することができる。具体的には、例えば、第(j−1)階層から第j階層に移動したほうが最適な処理性能でI/O要求を処理することができるSub−LUNを特定するための負荷閾値を設定することができる。
また、負荷閾値算出装置100によれば、第j階層のIOPS(XRdown)とリード混在率(c)とから得られるIOPS(XTdown)に基づいて、第(j−1)階層の下方IOPS閾値(Xdown)を算出することができる。これにより、リード要求とライト要求とが混在する場合の下方IOPS閾値(Xdown)を算出することができる。
また、負荷閾値算出装置100によれば、第j階層のIOPS(XTdown)と、第j階層のSub−LUNがアクセスされる確率の総和(Pj)と、第j階層のアクセスされる確率が最大のSub−LUNの確率(xa)とに基づいて、第(j−1)階層の下方IOPS閾値(Xdown)を算出することができる。
具体的には、例えば、負荷閾値算出装置100によれば、第j階層にかかる負荷を表すIOPSがIOPS(XTdown)となる場合の、第j階層のアクセスされる確率が最大となるSub−LUNのIOPSを、第(j−1)階層の下方IOPS閾値(Xdown)として算出することができる。これにより、階層型ストレージの各Sub−LUNのIOPSを大きい順にソートして表す確率分布がジップ分布に従う場合の第(j−1)階層の下方IOPS閾値(Xdown)を算出することができる。
また、負荷閾値算出装置100によれば、各階層の上方IOPS閾値(Xup)または/および下方IOPS閾値(Xdown)に従ってSub−LUNを移動した場合の第j階層の容量比率(CRj)を算出することができる。これにより、ユーザは、LUNを構成するSub−LUNが、階層型ストレージの各階層にどのような割合によって割り当てられるのかを判断することができる。
また、負荷閾値算出装置100によれば、各階層の上方IOPS閾値(Xup)または/および下方IOPS閾値(Xdown)に従ってSub−LUNを移動した場合の第j階層のRAIDグループのI/O要求に対する平均応答時間(W)を算出することができる。これにより、ユーザは、上方IOPS閾値(Xup)または/および下方IOPS閾値(Xdown)に従ってSub−LUNを移動した場合の第j階層のRAIDグループのI/O要求に対する応答性能を評価することができる。
これらのことから、負荷閾値算出装置100によれば、階層型ストレージのある階層から他の階層に移動したほうがよいデータを判断し易くなり、階層型ストレージの各階層へのデータの効率的な割り振りを支援することができる。
なお、本実施の形態で説明した負荷閾値算出方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本負荷閾値算出プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本負荷閾値算出プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
読出要求または書込要求を表すアクセス要求に対する応答性能が第1のストレージ装置より低い第2のストレージ装置に要求される前記読出要求に対する最大応答時間を取得し、
前記第2のストレージ装置への単位時間当たりの読出要求数を指数として、前記読出要求数の増加にともなって指数関数的に増加する前記第2のストレージ装置への前記読出要求に対する応答時間を表すレスポンスモデルに、取得した前記最大応答時間を代入することにより、前記最大応答時間の場合の前記読出要求数の値を算出し、
算出した前記読出要求数の値と、前記第2のストレージ装置内の記憶領域の個数とに基づいて、前記記憶領域への単位時間当たりの読出要求数の上限値を算出し、
算出した前記上限値を出力する、
処理を実行させることを特徴とする負荷閾値算出プログラム。
(付記2)前記コンピュータに、
算出した前記読出要求数の値と、前記第2のストレージ装置への単位時間当たりのアクセス要求数のうちの読出要求数の割合とに基づいて、前記最大応答時間の場合の前記アクセス要求数の値を算出する処理を実行させ、
前記上限値を算出する処理は、
算出した前記アクセス要求数の値と、前記第2のストレージ装置内の記憶領域の個数とに基づいて、前記記憶領域への単位時間当たりのアクセス要求数の上限値を算出することを特徴とする付記1に記載の負荷閾値算出プログラム。
(付記3)前記コンピュータに、
前記第1のストレージ装置および前記第2のストレージ装置を含み、前記アクセス要求に対する応答性能が互いに異なるストレージ装置群の各々のストレージ装置内の記憶領域の個数に基づいて、前記第2のストレージ装置内の各々の記憶領域について、前記各々の記憶領域へのアクセス要求が発生する確率を算出する処理を実行させ、
前記上限値を算出する処理は、
算出した前記各々の記憶領域の確率の総和と、前記各々の記憶領域の確率のうちの最大確率と、算出した前記アクセス要求数の値とに基づいて、前記記憶領域への単位時間当たりのアクセス要求数の上限値を算出することを特徴とする付記2に記載の負荷閾値算出プログラム。
(付記4)前記コンピュータに、
前記第2のストレージ装置へのアクセス要求の処理時間帯が単位時間当たりに重なる個数が、前記第2のストレージ装置が有する記憶装置の個数となる場合の前記第2のストレージ装置への前記読出要求に対する応答時間を取得し、
取得した前記応答時間を前記レスポンスモデルに代入することにより、前記応答時間の場合の前記読出要求数の値を算出し、
算出した前記読出要求数の値と、前記第2のストレージ装置内の記憶領域の個数とに基づいて、前記第1のストレージ装置内の記憶領域への単位時間当たりの読出要求数の下限値を算出し、
算出した前記下限値を出力する、
処理を実行させることを特徴とする付記1〜3のいずれか一つに記載の負荷閾値算出プログラム。
(付記5)前記コンピュータに、
前記応答時間の場合の前記読出要求数の値と、前記第2のストレージ装置への単位時間当たりのアクセス要求数のうちの読出要求数の割合とに基づいて、前記応答時間の場合の前記アクセス要求数の値を算出する処理を実行させ、
前記下限値を算出する処理は、
前記応答時間の場合の前記アクセス要求数の値と、前記第2のストレージ装置内の記憶領域の個数とに基づいて、前記第1のストレージ装置内の記憶領域への単位時間当たりのアクセス要求数の下限値を算出することを特徴とする付記4に記載の負荷閾値算出プログラム。
(付記6)前記コンピュータに、
前記第1のストレージ装置および前記第2のストレージ装置を含み、前記アクセス要求に対する応答性能が互いに異なるストレージ装置群の各々のストレージ装置内の記憶領域の個数に基づいて、前記第2のストレージ装置内の各々の記憶領域について、前記各々の記憶領域へのアクセス要求が発生する確率を算出する処理を実行させ、
前記下限値を算出する処理は、
算出した前記各々の記憶領域の確率の総和と、前記各々の記憶領域の確率のうちの最大確率と、前記応答時間の場合の前記アクセス要求数の値とに基づいて、前記第1のストレージ装置内の記憶領域への単位時間当たりのアクセス要求数の下限値を算出することを特徴とする付記5に記載の負荷閾値算出プログラム。
(付記7)前記上限値を算出する処理は、
前記最大応答時間の場合の前記アクセス要求数の値を前記第2のストレージ装置内の記憶領域の個数で除算することにより、前記記憶領域への単位時間当たりのアクセス要求数の上限値を算出することを特徴とする付記2に記載の負荷閾値算出プログラム。
(付記8)前記下限値を算出する処理は、
前記応答時間の場合の前記アクセス要求数の値を前記第2のストレージ装置内の記憶領域の個数で除算することにより、前記第1のストレージ装置内の記憶領域への単位時間当たりのアクセス要求数の下限値を算出することを特徴とする付記5に記載の負荷閾値算出プログラム。
(付記9)前記コンピュータに、
前記第1のストレージ装置および前記第2のストレージ装置を含み、前記アクセス要求に対する応答性能が互いに異なるストレージ装置群からデータの記憶先として割り当てられている各々の記憶領域への単位時間当たりのアクセス要求数を取得し、
取得した前記各々の記憶領域への単位時間当たりのアクセス要求数と、算出した前記上限値または/および前記下限値に基づいて、前記データの記憶先として前記ストレージ装置群の各々のストレージ装置から割り当てる記憶領域の個数を算出し、
算出した前記各々のストレージ装置から割り当てる記憶領域の個数と、前記記憶領域の記憶容量とに基づいて、前記データの記憶先として前記ストレージ装置群から割り当てる記憶領域の記憶容量に対する前記各々のストレージ装置から割り当てる記憶領域の記憶容量の割合を表す容量比率を算出し、
算出した前記容量比率を出力する、
処理を実行させることを特徴とする付記4〜6のいずれか一つに記載の負荷閾値算出プログラム。
(付記10)前記コンピュータに、
前記ストレージ装置群のうちのいずれかのストレージ装置から割り当てられている記憶領域への単位時間当たりのアクセス要求数の総和を算出し、
算出した前記アクセス要求の総和を前記レスポンスモデルに代入することにより、前記いずれかのストレージ装置への読出要求に対する応答時間を算出し、
算出した前記応答時間を出力する、
処理を実行させることを特徴とする付記9に記載の負荷閾値算出プログラム。
(付記11)前記コンピュータに、
前記第2のストレージ装置から割り当てられているいずれかの記憶領域への単位時間当たりのアクセス要求数を取得し、
取得した前記アクセス要求数が前記上限値より大きい場合、前記いずれかの記憶領域の割当先を前記第1のストレージ装置に変更する、
処理を実行させることを特徴とする付記1〜10のいずれか一つに記載の負荷閾値算出プログラム。
(付記12)前記コンピュータに、
前記第1のストレージ装置から割り当てられているいずれかの記憶領域への単位時間当たりのアクセス要求数を取得し、
取得した前記アクセス要求数が前記下限値より小さい場合、前記いずれかの記憶領域の割当先を前記第2のストレージ装置に変更する、
処理を実行させることを特徴とする付記4〜6のいずれか一つに記載の負荷閾値算出プログラム。
(付記13)コンピュータに、
読出要求または書込要求を表すアクセス要求に対する応答性能が第1のストレージ装置より低い第2のストレージ装置へのアクセス要求の処理時間帯が単位時間当たりに重なる個数が、前記第2のストレージ装置が有する記憶装置の個数となる場合の前記第2のストレージ装置への前記読出要求に対する応答時間を取得し、
前記第2のストレージ装置への単位時間当たりの読出要求数を指数として、前記読出要求数の増加にともなって指数関数的に増加する前記第2のストレージ装置への前記読出要求に対する応答時間を表すレスポンスモデルに、取得した前記応答時間を代入することにより、前記応答時間の場合の前記読出要求数の値を算出し、
算出した前記読出要求数の値と、前記第2のストレージ装置内の記憶領域の個数とに基づいて、前記第1のストレージ装置内の記憶領域への単位時間当たりの読出要求数の下限値を算出し、
算出した前記下限値を出力する、
処理を実行させることを特徴とする負荷閾値算出プログラム。
(付記14)読出要求または書込要求を表すアクセス要求に対する応答性能が第1のストレージ装置より低い第2のストレージ装置に要求される前記読出要求に対する最大応答時間を取得する取得部と、
前記第2のストレージ装置への単位時間当たりの読出要求数を指数として、前記読出要求数の増加にともなって指数関数的に増加する前記第2のストレージ装置への前記読出要求に対する応答時間を表すレスポンスモデルに、前記取得部によって取得された前記最大応答時間を代入することにより、前記最大応答時間の場合の前記読出要求数の値を算出する第1の算出部と、
前記第1の算出部によって算出された前記読出要求数の値と、前記第2のストレージ装置内の記憶領域の個数とに基づいて、前記記憶領域への単位時間当たりの読出要求数の上限値を算出する第2の算出部と、
前記第2の算出部によって算出された前記上限値を出力する出力部と、
を有することを特徴とする負荷閾値算出装置。
(付記15)読出要求または書込要求を表すアクセス要求に対する応答性能が第1のストレージ装置より低い第2のストレージ装置へのアクセス要求の処理時間帯が単位時間当たりに重なる個数が、前記第2のストレージ装置が有する記憶装置の個数となる場合の前記第2のストレージ装置への前記読出要求に対する応答時間を取得する取得部と、
前記第2のストレージ装置への単位時間当たりの読出要求数を指数として、前記読出要求数の増加にともなって指数関数的に増加する前記第2のストレージ装置への前記読出要求に対する応答時間を表すレスポンスモデルに、前記取得部によって取得された前記応答時間を代入することにより、前記応答時間の場合の前記読出要求数の値を算出する第1の算出部と、
前記第1の算出部によって算出された前記読出要求数の値と、前記第2のストレージ装置内の記憶領域の個数とに基づいて、前記第1のストレージ装置内の記憶領域への単位時間当たりの読出要求数の下限値を算出する第2の算出部と、
前記第2の算出部によって算出された前記下限値を出力する出力部と、
を有することを特徴とする負荷閾値算出装置。
(付記16)コンピュータが、
読出要求または書込要求を表すアクセス要求に対する応答性能が第1のストレージ装置より低い第2のストレージ装置に要求される前記読出要求に対する最大応答時間を取得し、
前記第2のストレージ装置への単位時間当たりの読出要求数を指数として、前記読出要求数の増加にともなって指数関数的に増加する前記第2のストレージ装置への前記読出要求に対する応答時間を表すレスポンスモデルに、取得した前記最大応答時間を代入することにより、前記最大応答時間の場合の前記読出要求数の値を算出し、
算出した前記読出要求数の値と、前記第2のストレージ装置内の記憶領域の個数とに基づいて、前記記憶領域への単位時間当たりの読出要求数の上限値を算出し、
算出した前記上限値を出力する、
処理を実行することを特徴とする負荷閾値算出方法。
(付記17)コンピュータが、
読出要求または書込要求を表すアクセス要求に対する応答性能が第1のストレージ装置より低い第2のストレージ装置へのアクセス要求の処理時間帯が単位時間当たりに重なる個数が、前記第2のストレージ装置が有する記憶装置の個数となる場合の前記第2のストレージ装置への前記読出要求に対する応答時間を取得し、
前記第2のストレージ装置への単位時間当たりの読出要求数を指数として、前記読出要求数の増加にともなって指数関数的に増加する前記第2のストレージ装置への前記読出要求に対する応答時間を表すレスポンスモデルに、取得した前記応答時間を代入することにより、前記応答時間の場合の前記読出要求数の値を算出し、
算出した前記読出要求数の値と、前記第2のストレージ装置内の記憶領域の個数とに基づいて、前記第1のストレージ装置内の記憶領域への単位時間当たりの読出要求数の下限値を算出し、
算出した前記下限値を出力する、
処理を実行することを特徴とする負荷閾値算出方法。
100 負荷閾値算出装置
200 階層型ストレージ装置
601 取得部
602 作成部
603 第1の算出部
604 第2の算出部
605 設定部
606 第3の算出部
607 出力部

Claims (11)

  1. コンピュータに、
    読出要求または書込要求を表すアクセス要求に対する応答性能が第1のストレージ装置より低い第2のストレージ装置に要求される前記読出要求に対する最大応答時間を取得し、
    前記第2のストレージ装置への単位時間当たりの読出要求数を指数として、前記読出要求数の増加にともなって指数関数的に増加する前記第2のストレージ装置への前記読出要求に対する応答時間を表すレスポンスモデルに、取得した前記最大応答時間を代入することにより、前記最大応答時間の場合の前記読出要求数の値を算出し、
    算出した前記読出要求数の値と、前記第2のストレージ装置内の記憶領域の個数とに基づいて、前記記憶領域への単位時間当たりの読出要求数の上限値を算出し、
    算出した前記上限値を出力する、
    処理を実行させることを特徴とする負荷閾値算出プログラム。
  2. 前記コンピュータに、
    算出した前記読出要求数の値と、前記第2のストレージ装置への単位時間当たりのアクセス要求数のうちの読出要求数の割合とに基づいて、前記最大応答時間の場合の前記アクセス要求数の値を算出する処理を実行させ、
    前記上限値を算出する処理は、
    算出した前記アクセス要求数の値と、前記第2のストレージ装置内の記憶領域の個数とに基づいて、前記記憶領域への単位時間当たりのアクセス要求数の上限値を算出することを特徴とする請求項1に記載の負荷閾値算出プログラム。
  3. 前記コンピュータに、
    前記第1のストレージ装置および前記第2のストレージ装置を含み、前記アクセス要求に対する応答性能が互いに異なるストレージ装置群の各々のストレージ装置内の記憶領域の個数に基づいて、前記第2のストレージ装置内の各々の記憶領域について、前記各々の記憶領域へのアクセス要求が発生する確率を算出する処理を実行させ、
    前記上限値を算出する処理は、
    算出した前記各々の記憶領域の確率の総和と、前記各々の記憶領域の確率のうちの最大確率と、算出した前記アクセス要求数の値とに基づいて、前記記憶領域への単位時間当たりのアクセス要求数の上限値を算出することを特徴とする請求項2に記載の負荷閾値算出プログラム。
  4. 前記コンピュータに、
    前記第2のストレージ装置へのアクセス要求の処理時間帯が単位時間当たりに重なる個数が、前記第2のストレージ装置が有する記憶装置の個数となる場合の前記第2のストレージ装置への前記読出要求に対する応答時間を取得し、
    取得した前記応答時間を前記レスポンスモデルに代入することにより、前記応答時間の場合の前記読出要求数の値を算出し、
    算出した前記読出要求数の値と、前記第2のストレージ装置内の記憶領域の個数とに基づいて、前記第1のストレージ装置内の記憶領域への単位時間当たりの読出要求数の下限値を算出し、
    算出した前記下限値を出力する、
    処理を実行させることを特徴とする請求項1〜3のいずれか一つに記載の負荷閾値算出プログラム。
  5. 前記コンピュータに、
    前記応答時間の場合の前記読出要求数の値と、前記第2のストレージ装置への単位時間当たりのアクセス要求数のうちの読出要求数の割合とに基づいて、前記応答時間の場合の前記アクセス要求数の値を算出する処理を実行させ、
    前記下限値を算出する処理は、
    前記応答時間の場合の前記アクセス要求数の値と、前記第2のストレージ装置内の記憶領域の個数とに基づいて、前記第1のストレージ装置内の記憶領域への単位時間当たりのアクセス要求数の下限値を算出することを特徴とする請求項4に記載の負荷閾値算出プログラム。
  6. 前記コンピュータに、
    前記第1のストレージ装置および前記第2のストレージ装置を含み、前記アクセス要求に対する応答性能が互いに異なるストレージ装置群の各々のストレージ装置内の記憶領域の個数に基づいて、前記第2のストレージ装置内の各々の記憶領域について、前記各々の記憶領域へのアクセス要求が発生する確率を算出する処理を実行させ、
    前記下限値を算出する処理は、
    算出した前記各々の記憶領域の確率の総和と、前記各々の記憶領域の確率のうちの最大確率と、前記応答時間の場合の前記アクセス要求数の値とに基づいて、前記第1のストレージ装置内の記憶領域への単位時間当たりのアクセス要求数の下限値を算出することを特徴とする請求項5に記載の負荷閾値算出プログラム。
  7. コンピュータに、
    読出要求または書込要求を表すアクセス要求に対する応答性能が第1のストレージ装置より低い第2のストレージ装置へのアクセス要求の処理時間帯が単位時間当たりに重なる個数が、前記第2のストレージ装置が有する記憶装置の個数となる場合の前記第2のストレージ装置への前記読出要求に対する応答時間を取得し、
    前記第2のストレージ装置への単位時間当たりの読出要求数を指数として、前記読出要求数の増加にともなって指数関数的に増加する前記第2のストレージ装置への前記読出要求に対する応答時間を表すレスポンスモデルに、取得した前記応答時間を代入することにより、前記応答時間の場合の前記読出要求数の値を算出し、
    算出した前記読出要求数の値と、前記第2のストレージ装置内の記憶領域の個数とに基づいて、前記第1のストレージ装置内の記憶領域への単位時間当たりの読出要求数の下限値を算出し、
    算出した前記下限値を出力する、
    処理を実行させることを特徴とする負荷閾値算出プログラム。
  8. 読出要求または書込要求を表すアクセス要求に対する応答性能が第1のストレージ装置より低い第2のストレージ装置に要求される前記読出要求に対する最大応答時間を取得する取得部と、
    前記第2のストレージ装置への単位時間当たりの読出要求数を指数として、前記読出要求数の増加にともなって指数関数的に増加する前記第2のストレージ装置への前記読出要求に対する応答時間を表すレスポンスモデルに、前記取得部によって取得された前記最大応答時間を代入することにより、前記最大応答時間の場合の前記読出要求数の値を算出する第1の算出部と、
    前記第1の算出部によって算出された前記読出要求数の値と、前記第2のストレージ装置内の記憶領域の個数とに基づいて、前記記憶領域への単位時間当たりの読出要求数の上限値を算出する第2の算出部と、
    前記第2の算出部によって算出された前記上限値を出力する出力部と、
    を有することを特徴とする負荷閾値算出装置。
  9. 読出要求または書込要求を表すアクセス要求に対する応答性能が第1のストレージ装置より低い第2のストレージ装置へのアクセス要求の処理時間帯が単位時間当たりに重なる個数が、前記第2のストレージ装置が有する記憶装置の個数となる場合の前記第2のストレージ装置への前記読出要求に対する応答時間を取得する取得部と、
    前記第2のストレージ装置への単位時間当たりの読出要求数を指数として、前記読出要求数の増加にともなって指数関数的に増加する前記第2のストレージ装置への前記読出要求に対する応答時間を表すレスポンスモデルに、前記取得部によって取得された前記応答時間を代入することにより、前記応答時間の場合の前記読出要求数の値を算出する第1の算出部と、
    前記第1の算出部によって算出された前記読出要求数の値と、前記第2のストレージ装置内の記憶領域の個数とに基づいて、前記第1のストレージ装置内の記憶領域への単位時間当たりの読出要求数の下限値を算出する第2の算出部と、
    前記第2の算出部によって算出された前記下限値を出力する出力部と、
    を有することを特徴とする負荷閾値算出装置。
  10. コンピュータが、
    読出要求または書込要求を表すアクセス要求に対する応答性能が第1のストレージ装置より低い第2のストレージ装置に要求される前記読出要求に対する最大応答時間を取得し、
    前記第2のストレージ装置への単位時間当たりの読出要求数を指数として、前記読出要求数の増加にともなって指数関数的に増加する前記第2のストレージ装置への前記読出要求に対する応答時間を表すレスポンスモデルに、取得した前記最大応答時間を代入することにより、前記最大応答時間の場合の前記読出要求数の値を算出し、
    算出した前記読出要求数の値と、前記第2のストレージ装置内の記憶領域の個数とに基づいて、前記記憶領域への単位時間当たりの読出要求数の上限値を算出し、
    算出した前記上限値を出力する、
    処理を実行することを特徴とする負荷閾値算出方法。
  11. コンピュータが、
    読出要求または書込要求を表すアクセス要求に対する応答性能が第1のストレージ装置より低い第2のストレージ装置へのアクセス要求の処理時間帯が単位時間当たりに重なる個数が、前記第2のストレージ装置が有する記憶装置の個数となる場合の前記第2のストレージ装置への前記読出要求に対する応答時間を取得し、
    前記第2のストレージ装置への単位時間当たりの読出要求数を指数として、前記読出要求数の増加にともなって指数関数的に増加する前記第2のストレージ装置への前記読出要求に対する応答時間を表すレスポンスモデルに、取得した前記応答時間を代入することにより、前記応答時間の場合の前記読出要求数の値を算出し、
    算出した前記読出要求数の値と、前記第2のストレージ装置内の記憶領域の個数とに基づいて、前記第1のストレージ装置内の記憶領域への単位時間当たりの読出要求数の下限値を算出し、
    算出した前記下限値を出力する、
    処理を実行することを特徴とする負荷閾値算出方法。
JP2012028934A 2012-02-13 2012-02-13 負荷閾値算出プログラム、負荷閾値算出装置および負荷閾値算出方法 Withdrawn JP2013164822A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012028934A JP2013164822A (ja) 2012-02-13 2012-02-13 負荷閾値算出プログラム、負荷閾値算出装置および負荷閾値算出方法
US13/693,176 US20130212349A1 (en) 2012-02-13 2012-12-04 Load threshold calculating apparatus and load threshold calculating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012028934A JP2013164822A (ja) 2012-02-13 2012-02-13 負荷閾値算出プログラム、負荷閾値算出装置および負荷閾値算出方法

Publications (1)

Publication Number Publication Date
JP2013164822A true JP2013164822A (ja) 2013-08-22

Family

ID=48946629

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012028934A Withdrawn JP2013164822A (ja) 2012-02-13 2012-02-13 負荷閾値算出プログラム、負荷閾値算出装置および負荷閾値算出方法

Country Status (2)

Country Link
US (1) US20130212349A1 (ja)
JP (1) JP2013164822A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9606735B2 (en) 2014-03-28 2017-03-28 Fujitsu Limited Storage management apparatus, and performance adjusting method
JP2018169941A (ja) * 2017-03-30 2018-11-01 富士通株式会社 情報処理装置、方法、及びプログラム
JP2019021185A (ja) * 2017-07-20 2019-02-07 富士通株式会社 情報処理装置、情報処理システム、情報処理装置制御方法及び情報処理装置制御プログラム
JP2019021315A (ja) * 2017-07-19 2019-02-07 三星電子株式会社Samsung Electronics Co.,Ltd. オートティアリングを遂行するためのシステム、その方法、及び実行のための命令語が記録された記録媒体

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8959307B1 (en) 2007-11-16 2015-02-17 Bitmicro Networks, Inc. Reduced latency memory read transactions in storage devices
US8665601B1 (en) 2009-09-04 2014-03-04 Bitmicro Networks, Inc. Solid state drive with improved enclosure assembly
US8447908B2 (en) 2009-09-07 2013-05-21 Bitmicro Networks, Inc. Multilevel memory bus system for solid-state mass storage
US8560804B2 (en) 2009-09-14 2013-10-15 Bitmicro Networks, Inc. Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device
US9372755B1 (en) 2011-10-05 2016-06-21 Bitmicro Networks, Inc. Adaptive power cycle sequences for data recovery
US9043669B1 (en) 2012-05-18 2015-05-26 Bitmicro Networks, Inc. Distributed ECC engine for storage media
US9396131B1 (en) * 2013-02-08 2016-07-19 Workday, Inc. Dynamic three-tier data storage utilization
US9501426B1 (en) 2013-02-08 2016-11-22 Workday, Inc. Dynamic two-tier data storage utilization
JP2014174845A (ja) * 2013-03-11 2014-09-22 Fujitsu Ltd 性能評価支援プログラム、性能評価支援装置及び性能評価支援方法
US9423457B2 (en) 2013-03-14 2016-08-23 Bitmicro Networks, Inc. Self-test solution for delay locked loops
US9842024B1 (en) * 2013-03-15 2017-12-12 Bitmicro Networks, Inc. Flash electronic disk with RAID controller
US9875205B1 (en) 2013-03-15 2018-01-23 Bitmicro Networks, Inc. Network of memory systems
US9400617B2 (en) 2013-03-15 2016-07-26 Bitmicro Networks, Inc. Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained
US10489318B1 (en) 2013-03-15 2019-11-26 Bitmicro Networks, Inc. Scatter-gather approach for parallel data transfer in a mass storage system
US9798688B1 (en) 2013-03-15 2017-10-24 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US9934045B1 (en) 2013-03-15 2018-04-03 Bitmicro Networks, Inc. Embedded system boot from a storage device
US9501436B1 (en) 2013-03-15 2016-11-22 Bitmicro Networks, Inc. Multi-level message passing descriptor
US9916213B1 (en) 2013-03-15 2018-03-13 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US9734067B1 (en) 2013-03-15 2017-08-15 Bitmicro Networks, Inc. Write buffering
US9430386B2 (en) 2013-03-15 2016-08-30 Bitmicro Networks, Inc. Multi-leveled cache management in a hybrid storage system
US10120694B2 (en) 2013-03-15 2018-11-06 Bitmicro Networks, Inc. Embedded system boot from a storage device
US9672178B1 (en) 2013-03-15 2017-06-06 Bitmicro Networks, Inc. Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system
US9720603B1 (en) 2013-03-15 2017-08-01 Bitmicro Networks, Inc. IOC to IOC distributed caching architecture
US9971524B1 (en) 2013-03-15 2018-05-15 Bitmicro Networks, Inc. Scatter-gather approach for parallel data transfer in a mass storage system
JP6142599B2 (ja) * 2013-03-18 2017-06-07 富士通株式会社 ストレージシステム、ストレージ装置および制御プログラム
US10430894B2 (en) 2013-03-21 2019-10-01 Khoros, Llc Gamification for online social communities
DE112013006656B4 (de) * 2013-04-26 2023-01-26 Hitachi, Ltd. Speichersystem
JP6229347B2 (ja) * 2013-07-25 2017-11-15 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム、およびストレージ制御方法
EP3028160A1 (en) * 2013-07-31 2016-06-08 Hewlett Packard Enterprise Development LP Generating workload windows
CN110825324B (zh) * 2013-11-27 2023-05-30 北京奥星贝斯科技有限公司 混合存储的控制方法及混合存储系统
US10078604B1 (en) 2014-04-17 2018-09-18 Bitmicro Networks, Inc. Interrupt coalescing
US10055150B1 (en) 2014-04-17 2018-08-21 Bitmicro Networks, Inc. Writing volatile scattered memory metadata to flash device
US9811461B1 (en) 2014-04-17 2017-11-07 Bitmicro Networks, Inc. Data storage system
US10025736B1 (en) 2014-04-17 2018-07-17 Bitmicro Networks, Inc. Exchange message protocol message transmission between two devices
US9952991B1 (en) 2014-04-17 2018-04-24 Bitmicro Networks, Inc. Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation
US10042792B1 (en) 2014-04-17 2018-08-07 Bitmicro Networks, Inc. Method for transferring and receiving frames across PCI express bus for SSD device
US9983795B1 (en) * 2015-03-31 2018-05-29 EMC IP Holding Company LLC Techniques for determining a storage configuration
US9979662B2 (en) 2015-04-17 2018-05-22 International Business Machines Corporation Storage area network workload balancing
US10397368B2 (en) * 2015-06-25 2019-08-27 International Business Machines Corporation Data prefetching for large data systems
US10659532B2 (en) * 2015-09-26 2020-05-19 Intel Corporation Technologies for reducing latency variation of stored data object requests
US10146465B1 (en) * 2015-12-18 2018-12-04 EMC IP Holding Company LLC Automated provisioning and de-provisioning software defined storage systems
US10552050B1 (en) 2017-04-07 2020-02-04 Bitmicro Llc Multi-dimensional computer storage system
US10902462B2 (en) 2017-04-28 2021-01-26 Khoros, Llc System and method of providing a platform for managing data content campaign on social networks
US11570128B2 (en) 2017-10-12 2023-01-31 Spredfast, Inc. Optimizing effectiveness of content in electronic messages among a system of networked computing device
US11050704B2 (en) 2017-10-12 2021-06-29 Spredfast, Inc. Computerized tools to enhance speed and propagation of content in electronic messages among a system of networked computing devices
US10785222B2 (en) 2018-10-11 2020-09-22 Spredfast, Inc. Credential and authentication management in scalable data networks
US10999278B2 (en) 2018-10-11 2021-05-04 Spredfast, Inc. Proxied multi-factor authentication using credential and authentication management in scalable data networks
US11470161B2 (en) 2018-10-11 2022-10-11 Spredfast, Inc. Native activity tracking using credential and authentication management in scalable data networks
US10346449B2 (en) 2017-10-12 2019-07-09 Spredfast, Inc. Predicting performance of content and electronic messages among a system of networked computing devices
US10601937B2 (en) 2017-11-22 2020-03-24 Spredfast, Inc. Responsive action prediction based on electronic messages among a system of networked computing devices
US10664368B2 (en) 2017-11-30 2020-05-26 International Business Machines Corporation Modifying aspects of a storage system associated with data mirroring
US10831371B2 (en) * 2018-01-02 2020-11-10 International Business Machines Corporation Quota controlled movement of data in a tiered storage system
US10594773B2 (en) 2018-01-22 2020-03-17 Spredfast, Inc. Temporal optimization of data operations using distributed search and server management
US11061900B2 (en) 2018-01-22 2021-07-13 Spredfast, Inc. Temporal optimization of data operations using distributed search and server management
US10732903B2 (en) 2018-04-27 2020-08-04 Hewlett Packard Enterprise Development Lp Storage controller sub-LUN ownership mapping and alignment
CN110737393B (zh) * 2018-07-20 2023-08-11 伊姆西Ip控股有限责任公司 数据读取方法、设备和计算机程序产品
CN109408227B (zh) * 2018-09-19 2023-04-14 平安科技(深圳)有限公司 负载均衡方法、装置及存储介质
US10855657B2 (en) 2018-10-11 2020-12-01 Spredfast, Inc. Multiplexed data exchange portal interface in scalable data networks
JP7305990B2 (ja) * 2019-03-12 2023-07-11 富士通株式会社 転送プログラム、転送方法、および情報処理装置
US10931540B2 (en) 2019-05-15 2021-02-23 Khoros, Llc Continuous data sensing of functional states of networked computing devices to determine efficiency metrics for servicing electronic messages asynchronously
US11005924B1 (en) 2020-04-01 2021-05-11 Netapp, Inc. Disparity of quality of service (QoS) settings of volumes across a cluster
US11140219B1 (en) * 2020-04-07 2021-10-05 Netapp, Inc. Quality of service (QoS) setting recommendations for volumes across a cluster
US11128589B1 (en) 2020-09-18 2021-09-21 Khoros, Llc Gesture-based community moderation
US11438289B2 (en) 2020-09-18 2022-09-06 Khoros, Llc Gesture-based community moderation
US11924375B2 (en) 2021-10-27 2024-03-05 Khoros, Llc Automated response engine and flow configured to exchange responsive communication data via an omnichannel electronic communication channel independent of data source
US11627100B1 (en) 2021-10-27 2023-04-11 Khoros, Llc Automated response engine implementing a universal data space based on communication interactions via an omnichannel electronic data channel
US11438282B2 (en) 2020-11-06 2022-09-06 Khoros, Llc Synchronicity of electronic messages via a transferred secure messaging channel among a system of various networked computing devices
US11714629B2 (en) 2020-11-19 2023-08-01 Khoros, Llc Software dependency management
US11693563B2 (en) 2021-04-22 2023-07-04 Netapp, Inc. Automated tuning of a quality of service setting for a distributed storage system based on internal monitoring
CN115437739A (zh) * 2021-06-02 2022-12-06 伊姆西Ip控股有限责任公司 虚拟化系统的资源管理方法、电子设备和计算机程序产品
US20230031304A1 (en) * 2021-07-22 2023-02-02 Vmware, Inc. Optimized memory tiering

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4176341B2 (ja) * 2001-10-23 2008-11-05 株式会社日立製作所 記憶制御装置
US8321646B2 (en) * 2010-04-13 2012-11-27 Dot Hill Systems Corporation Method and apparatus for rebalancing storage components within a storage tier
WO2012041397A1 (en) * 2010-09-27 2012-04-05 Telefonaktiebolaget Lm Ericsson (Publ) Performance calculation, admission control, and supervisory control for a load dependent data processing system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9606735B2 (en) 2014-03-28 2017-03-28 Fujitsu Limited Storage management apparatus, and performance adjusting method
JP2018169941A (ja) * 2017-03-30 2018-11-01 富士通株式会社 情報処理装置、方法、及びプログラム
US10860225B2 (en) 2017-03-30 2020-12-08 Fujitsu Limited Apparatus and method for routing access based on device load
JP2019021315A (ja) * 2017-07-19 2019-02-07 三星電子株式会社Samsung Electronics Co.,Ltd. オートティアリングを遂行するためのシステム、その方法、及び実行のための命令語が記録された記録媒体
JP7063756B2 (ja) 2017-07-19 2022-05-09 三星電子株式会社 オートティアリングを遂行するためのシステム、その方法、及び実行のための命令語が記録された記録媒体
JP2019021185A (ja) * 2017-07-20 2019-02-07 富士通株式会社 情報処理装置、情報処理システム、情報処理装置制御方法及び情報処理装置制御プログラム
JP7221585B2 (ja) 2017-07-20 2023-02-14 富士通株式会社 情報処理装置、情報処理システム、情報処理装置制御方法及び情報処理装置制御プログラム

Also Published As

Publication number Publication date
US20130212349A1 (en) 2013-08-15

Similar Documents

Publication Publication Date Title
JP2013164822A (ja) 負荷閾値算出プログラム、負荷閾値算出装置および負荷閾値算出方法
JP5668151B2 (ja) 計算機システムの管理装置及び管理方法
US10649963B1 (en) Multi-tenancy management within a distributed database
JP5893016B2 (ja) ストレージ管理サーバ、計算機システム、及びストレージ管理方法
US8862849B2 (en) Storage system providing virtual volumes
US8863139B2 (en) Management system and management method for managing a plurality of storage subsystems
US8661210B2 (en) Data migration management device and method
JP5439581B2 (ja) ストレージシステム、ストレージ装置、ストレージシステムの記憶領域の最適化方法
JP4814119B2 (ja) 計算機システム、ストレージ管理サーバ、及びデータ移行方法
US20100125715A1 (en) Storage System and Operation Method Thereof
US20120131196A1 (en) Computer system management apparatus and management method
JP2013164820A (ja) 評価支援方法、評価支援プログラムおよび評価支援装置
WO2015087392A1 (ja) ストレージ管理システム
WO2013098960A1 (ja) 計算機システム、ファイル管理方法及び記憶媒体
US8904121B2 (en) Computer system and storage management method
JP2015520876A (ja) 情報記憶システム及び情報記憶システムの制御方法
JP2008108020A (ja) 計算機システム、データ移行方法、およびストレージ管理サーバ
US10977082B2 (en) Resource allocation optimization support system and resource allocation optimization support method
WO2014155555A1 (ja) 管理システム及び管理プログラム
JP5341259B2 (ja) マイグレーション先の決定を支援する方法及び管理システム
JP6142685B2 (ja) ストレージシステム、運用管理方法及び運用管理プログラム
US20180341423A1 (en) Storage control device and information processing system
US8463990B2 (en) Method and apparatus to perform automated page-based tier management of storing data in tiered storage using pool groups
WO2015189988A1 (ja) ファイル再配置ポリシーを出力する管理サーバ、及びストレージシステム
US20140058717A1 (en) Simulation system for simulating i/o performance of volume and simulation method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141007

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20150615