JP2015197721A - 記憶装置調整装置、階層ストレージ設計プログラム及び階層ストレージ設計方法 - Google Patents

記憶装置調整装置、階層ストレージ設計プログラム及び階層ストレージ設計方法 Download PDF

Info

Publication number
JP2015197721A
JP2015197721A JP2014074132A JP2014074132A JP2015197721A JP 2015197721 A JP2015197721 A JP 2015197721A JP 2014074132 A JP2014074132 A JP 2014074132A JP 2014074132 A JP2014074132 A JP 2014074132A JP 2015197721 A JP2015197721 A JP 2015197721A
Authority
JP
Japan
Prior art keywords
storage
storage medium
access
tiered
requests
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.)
Pending
Application number
JP2014074132A
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 JP2014074132A priority Critical patent/JP2015197721A/ja
Priority to US14/643,547 priority patent/US20150277781A1/en
Publication of JP2015197721A publication Critical patent/JP2015197721A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage 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/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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
    • 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/0673Single storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System (AREA)

Abstract

【課題】ユーザが所望する処理速度が出やすいストレージ装置を提示する。【解決手段】記憶部は、第1の記憶媒体と、第1の記憶媒体よりも高速にアクセス可能な第2の記憶媒体とを備えるストレージ装置の情報を複数記憶する。処理部は、アクセス頻度の高いデータを優先的に第2の記憶媒体に記憶したときの、各記憶媒体に記憶されるデータと各データへのアクセス頻度の関係を示す関数を用いて、各ストレージ装置について、アクセスの総数に対する各記憶媒体へのアクセスの割合を求める。所定の時間内に第1の記憶媒体にアクセス可能な要求数と割合とから、所定の時間内に処理可能なアクセス数である第1の要求数を求める。所定の時間内に第2の記憶媒体にアクセス可能な要求数と割合とから、所定の時間内に処理可能なアクセス数である第2の要求数を求める。出力部は、第1の要求数と第2の要求数との差が相対的に小さいストレージ装置の情報を優先的に通知する。【選択図】図1

Description

この発明は、階層ストレージ装置に関する。
ユーザが新しいストレージ装置を購入する際、ユーザは、ストレージ装置の容量、性能、価格を、購入の判断基準として用いる。ユーザが所望するストレージの容量、性能、価格を満たすストレージ装置が複数ある場合、ユーザは、複数の選択肢から1つのストレージ装置を選択する。ユーザは、例えば、容量が最大のストレージ装置、性能が最も高いストレージ装置、価格の最も安いストレージ装置などから、購入するストレージ装置を選択する。
ストレージ装置に関する技術として、I/O要求に対する応答性能が異なるストレージ装置を組み合わせた階層ストレージが知られている(例えば、特許文献1を参照)。
推奨するシステム装置をユーザに提示する技術として、所定の処理性能を持つコンピュータのシステムの中の価格が最小となるものを決定する技術が知られている(例えば、特許文献2を参照)。
推奨するシステム装置をユーザに提示する技術として、与えられた性能要件と価格要件から所定の誤差範囲を満たすシステム装置を提案する技術が知られている(例えば、特許文献3を参照)。
特開2013−164822号公報 特開2004−30292号公報 特開2002−183416号公報
ユーザは、ストレージ装置を購入する際に、ストレージ装置の性能の一覧であるパラメータシートを参照する。ユーザは、パラメータシートからユーザが所望する要件を満たすストレージ装置を選択し、1つのストレージ装置を選択する。しかし、パラメータシートに記載されているストレージ装置の性能は、新品のストレージ装置が発揮できる性能である。そのため、実際にユーザがストレージ装置を使用し始め、データを格納すると、パラメータシート通りの性能を発揮できなくなることがある。すると、実際に使用するストレージ装置が、ユーザが所望する要件を満たせなくなることが起こりうる。
1つの側面において、本発明の目的は、ストレージ装置の運用中に、ユーザが所望する処理速度が出やすいストレージ装置をユーザに提示することである。
記憶部は、第1の記憶媒体と、第1の記憶媒体よりも高速にアクセス可能な第2の記憶媒体とを備えるストレージ装置に関する情報を複数記憶する。処理部は、アクセス頻度の高いデータを優先的に第2の記憶媒体に記憶した時の、各記憶媒体に記憶されるデータと各データへのアクセス頻度の関係を示す関数を用いて、各ストレージ装置について、アクセスの総数に対する各記憶媒体へのアクセスの割合を求める。処理部は、所定の時間内に第1の記憶媒体にアクセス可能な要求数と第1の記憶媒体についての割合とから、所定の時間内にストレージ装置で処理可能なアクセス数である第1の要求数を求める。処理部は、所定の時間内に第2の記憶媒体にアクセス可能な要求数と第2の記憶媒体についての割合とから、所定の時間内に前記ストレージ装置で処理可能なアクセス数である第2の要求数を求める。出力部は、第1の要求数と第2の要求数との差が相対的に小さいストレージ装置に関する情報を優先的に通知する。
ストレージ装置の運用中に、ユーザが所望する処理速度が出やすいストレージ装置をユーザに提示する。
本実施形態に係るシステム構成の例を説明する図である。 支援装置のハードウェア構成の例を示す。 本実施形態に係る階層ストレージの処理の例を説明する図(その1)である。 本実施形態に係る階層ストレージの処理の例を説明する図(その2)である。 本実施形態に係る支援装置の処理の例を示す図である。 ストレージ装置全体の想定処理数の算出方法の例を説明する図である。 支援装置が推奨する階層ストレージ情報の出力の例を説明する図である。 支援装置の処理の例を説明するフローチャートである。 本実施形態にかかる推奨の階層ストレージを選択する方法の例を説明するフローチャートである。
以下、本実施形態について、図面を参照しながら詳細に説明する。
本実施形態の支援装置は、ユーザがストレージ装置を購入する際に、ユーザに推奨するストレージ装置を提案する。本実施形態において、支援装置は、HDD(Hard Disk Drive)とSSD(Solid State Drive)とを組み合わせて搭載する階層ストレージを提案するストレージ装置の例として用いる。階層ストレージは、高性能層であるSSD、中性能層であるOnline SAS(Serial Attached SCSI)、低性能層であるNearline SASなどの、性能が違う階層を2〜3階層備える装置である。Online SAS及びNearline SASには、HDDが用いられる。OnlineSASは、常時の運用と応答性を要求される記憶領域である。Nearline SASは、OnlineSASに格納されるデータよりもアクセス頻度が低いデータを格納し、OnlineSASよりも性能が要求されない記憶領域である。
階層ストレージは、アクセス頻度が高いデータを高性能層の記憶領域に格納することにより、高性能なストレージ装置を実現する。同時に、階層ストレージは、アクセス頻度の低いデータを低速、低価格で大容量な低性能層の記憶領域に格納することで、大容量のストレージ装置を実現できる。しかし、階層ストレージは、各記憶装置に格納されるデータ量が増大するほど、レスポンスが低下する恐れがある。例えば、高性能層に格納されるデータ量が多くなり、アクセス頻度の高いデータが中性能層にも格納されると、中性能層のアクセス頻度が増大し、階層ストレージは、購入時よりもレスポンスが低下する。同様に、中性能層に格納されるデータ量が多くなり、アクセス頻度が中程度のデータが低性能層にも格納されると、低性能層のアクセス頻度が増大し、階層ストレージは、購入時よりもレスポンスが低下する。
本実施形態の支援装置は、全記憶領域にデータを格納した階層ストレージを想定し、ユーザの所望する要件を満たすストレージ装置のなかから、運用中でもユーザの所望する性能が出やすいストレージ装置をユーザに推奨する。
図1は、本実施形態に係るシステム構成の例を説明する図である。本実施形態に係るシステムは、ストレージ装置群110と、端末群120と、ネットワーク130と、支援装置140と、表示装置150とを備える。ストレージ装置群110は、システム中で稼動しているストレージ装置を複数備える。端末群120は、ストレージ装置群110をユーザに提供するインターフェースである。ストレージ装置群110と端末群120とは、ネットワーク130を介して接続される。支援装置140は、ユーザが新しくストレージ装置を購入しようと考えている場合に、推奨するストレージ装置のサイジングを行い、表示装置150を介して推奨するストレージ装置をユーザに提示する。
以下に、支援装置140が行う処理を説明する。
(1)収集部144は、定期的に、ネットワーク130に流れるI/O命令のI/O統計情報を収拾する。統計情報は、I/O命令の発生時刻、サイズ、リード命令又はライト命令であるかの情報を含む。
(2)統計部142は、I/O統計情報から、毎秒のI/O命令の処理数(IOPS:Input Output Per Second)、I/Oの平均データサイズ、平均リード率などを計算する。統計部142は、計算後のデータである使用中のシステム中のストレージ装置の使用状況情報を記憶部141に記憶させる。
(3)記憶部141は、(1)〜(2)の処理を繰り返すことにより、システム中のストレージ装置の使用状況情報を蓄積する。
(4)入出力部145は、ユーザが所望するストレージの容量、性能、価格などの要件情報を表示装置150から取得する。
(5)サイジング処理部143は、使用中のシステムでのストレージ装置の使用状況情報を、記憶部141から取得する。
(6)サイジング処理部143は、記憶部141から、複数の階層ストレージの仕様情報を取得する。階層ストレージの仕様情報は、例えば、SSD、OnlineSAS、NearlineSAS各々の階層におけるディスクの種類、RAID、仕様で定義されているレスポンス時間などである。
(7)サイジング処理部143は、取得した複数の階層ストレージの仕様情報から、ユーザが所望するストレージの容量、性能、価格などの要件を満たすストレージ装置を抽出する。更に、サイジング処理部143は、ストレージ装置の使用状況情報を処理できる性能を備えるストレージ装置を抽出する。
(8)サイジング処理部143は、ユーザが所望する要件を満たすストレージ装置が複数ある場合、以下の処理を実施する。
(8.1)サイジング処理部143は、ユーザが所望する要件を満たす各ストレージ装置中の中性能層と低性能層が所定の時間内に処理できる命令数(IOPS)を、(7)で取得した階層ストレージの仕様情報から参照する。各階層が所定の時間内に処理できる命令数(IOPS)は、メーカーが定めた各階層に許容するレスポンス時間の範囲内に処理できるI/O命令の処理数(アクセス要求の数)である。以下において、中性能層が、メーカーの定めた各階層に許容するレスポンス時間に処理できる命令数を、中性能層の最大処理性能と称す。同様に、低性能層が、メーカーの定めた各階層に許容するレスポンス時間に処理できる命令数を、低性能層の最大処理性能と称す。
(8.2)サイジング処理部143は、中性能層の最大処理性能から、階層ストレージ全体の負荷分布を生成する。サイジング処理部143は、階層ストレージ全体の負荷分布から、所定の時間内にストレージ全体が処理できると想定される想定処理数を計算する。(図5で詳細に説明する。)サイジング処理部143は、ストレージ装置中の記憶領域を所定の大きさのブロックに分割した場合の、各ブロックへのアクセス頻度の分布モデルを用いた計算方法を記憶している。階層ストレージ装置中での、中性能層で処理される対象は、分布モデル中でアクセス頻度が高いデータの処理に階層ストレージ中の高性能層を割り当てた後に残るデータ中で、相対的にアクセス頻度の高いデータである。そこでサイジング処理部143は、アクセス頻度の高いデータほど性能の高いストレージが処理すると仮定したときに、中性能層に割り当てられるデータのアクセス頻度が、階層ストレージ中の中性能層での最大処理性能と一致する分布モデルを計算する。サイジング処理部143は、得られた分布モデルを階層ストレージでの処理可能な負荷の分布であると仮定して、階層ストレージ全体で所定の期間に処理される想定処理数を計算する。
(8.3)サイジング処理部143は、低性能層の最大処理性能から、階層ストレージ全体の負荷分布を生成する。サイジング処理部143は、階層ストレージ全体の負荷分布から、所定の時間内にストレージ全体が処理できると想定される想定処理数を計算する。(図5で詳細に説明する。)
(8.4)サイジング処理部143は、中性能層の最大処理性能から想定されるストレージ装置全体の想定処理数と、低性能層の最大処理性能から想定されるストレージ装置全体の想定処理数との比率を求める。
(8.5)サイジング処理部143は、(8.4)で算出する比率にLogを用いる。サイジング処理部143は、Logにかけた比率の結果値が0に近いストレージ装置を優先的に、ユーザに推奨する階層ストレージとして選択する。
(9)サイジング処理部143は、選択した階層ストレージの情報を、入出力部145に通知する。
(10)入出力部145は、表示装置150を介して、ユーザに推奨する階層ストレージの情報を提示する。
支援装置140は、(1)〜(3)の処理は、(4)〜(10)の処理とは独立して処理を繰り返し行う。(4)以降の処理は、ユーザが所望するストレージの容量、性能、価格などの要件情報の入力を契機に実施される。本実施形態に係る支援装置140は、(1)〜(3)の処理がなくとも、システムのストレージ装置の使用状況をユーザが入力することで(4)〜(10)の処理を行うことができる。そのため、支援装置140は、ネットワーク130と接続されていなくてもよい。ユーザは、表示装置150を用いて支援装置140にストレージ装置の使用状況を示す情報を入力する。(10)において、(8.5)で選択した階層ストレージ以外に、(7)で抽出された階層ストレージを表示していてもよい。
本実施形態の支援装置は、全記憶領域にデータを格納した階層ストレージを想定し、ユーザの所望する要件を満たすストレージ装置のなかから、運用中でもユーザの所望する性能が出やすいストレージ装置をユーザに推奨する。
図2は、支援装置のハードウェア構成の例を示す。支援装置140は、プロセッサ11、メモリ12、バス15、外部記憶装置16、ネットワーク接続装置19を備える。さらにオプションとして、支援装置140は、入力装置13、出力装置14、媒体駆動装置17を備えても良い。支援装置140は、例えば、コンピュータなどで実現されることがある。入力装置13、出力装置14は、本実施形態では、表示装置150で実現される。
プロセッサ11は、Central Processing Unit(CPU)である。プロセッサ11は、統計部142、サイジング処理部143、収集部144、入出力部145として動作することができる。なお、プロセッサ11は、例えば、外部記憶装置16に記憶されたプログラムを実行することができる。メモリ12は、記憶部141として動作する。なお、外部記憶装置16が記憶部141でもよい。さらに、メモリ12は、プロセッサ11の動作により得られたデータや、プロセッサ11の処理に用いられるデータも、適宜、記憶する。ネットワーク接続装置19は、他の装置との通信に使用される。
入力装置13は、例えば、ボタン、キーボード、マウス等として実現され、出力装置14は、ディスプレイなどとして実現される。バス15は、プロセッサ11、メモリ12、入力装置13、出力装置14、外部記憶装置16、媒体駆動装置17、ネットワーク接続装置19の間を相互にデータの受け渡しが行えるように接続する。外部記憶装置16は、プログラムやデータなどを格納し、格納している情報を、適宜、プロセッサ11などに提供する。媒体駆動装置17は、メモリ12や外部記憶装置16のデータを可搬記憶媒体18に出力することができ、また、可搬記憶媒体18からプログラムやデータ等を読み出すことができる。ここで、可搬記憶媒体18は、フレキシブルディスク、Magnet−Optical(MO)ディスク、Compact Disc Recordable(CD−R)やDigital Versatile Disk Recordable(DVD−R)を含む、持ち運びが可能な任意の記憶媒体とすることができる。
図3は、本実施形態に係る階層ストレージの処理の例を説明する図(その1)である。階層ストレージのSSD及びHDDは、RAID(Redundant Array of Independent Disks)を組んでいる。図3の階層ストレージは、高性能層の階層に、RAID5(2+1)のSSDを搭載する。図3の階層ストレージは、中性能層の階層に、OnlineSASとしてRAID5(3+1)のHDDを搭載する。図3の階層ストレージは、低性能層の階層に、NearlineSASとしてRAID6(4+2)のHDDを搭載する。
階層ストレージは、SSDの階層及びHDDの階層を仮想的に統合した階層ボリュームを、記憶領域としてユーザに提供する。階層ボリュームは、複数のSub−LUNと呼ばれるデータの単位で管理される。階層ストレージは、各Sub−LUNに格納されたデータのアクセス頻度に応じて、Sub−LUN単位で、高性能層〜低性能層の記憶領域にデータを配置する。
図4は、本実施形態に係る階層ストレージの処理の例を説明する図(その2)である。各棒グラフは、図3の各Sub−LUNに対応しており、縦軸が、Sub−LUNに格納されているデータへのアクセス頻度(IOPS)を表し、横軸が、Sub−LUNの容量を表す。図4の棒グラフでは、各Sub−LUN201a〜201mに格納されるデータへのアクセス頻度の予想値の高い順に予想値が、並べられて表されている。図4の例は、各Sub−LUN201内のデータへのアクセス頻度には、一定の偏りがあると仮定している。このように各Sub−LUN201内のデータへのアクセス頻度に偏りがあるため、階層ストレージは、アクセス頻度の高いデータを格納するSub−LUNを高性能層に格納し、アクセス頻度の低いデータを格納するSub−LUNを低性能層に格納する。一例として、階層ストレージは、アクセス頻度の高い負荷の大きいSub−LUN201aと201bを、SSDなどの高性能層の記憶領域に記憶する。階層ストレージは、Sub−LUN201aや201bよりもアクセス頻度が低いSub−LUN201c〜201fを、Online SASなどの中性能層の記憶領域に記憶する。階層ストレージは、Sub−LUN201c〜201fよりもアクセス頻度が低いSub−LUN201g〜201mを、Nearline SASなどの低性能層の記憶領域に記憶する。なお、各Sub−LUNに格納されているデータへのアクセス頻度は、各Sub−LUNにかかる負荷と言い換えてもよい。
本実施形態において、支援装置140は、階層ストレージにおけるSub−LUNの負荷を用いて、階層ストレージ全体の負荷分布を生成する。支援装置140は、一例として、この負荷分布として図4に示すZipf分布を用いる。Zipf分布は、アクセス頻度の偏りを表す確率分布の1つである。Zipf分布は、出現頻度がk番目に大きい要素が全体に占める割合が1/kに比例するという経験則である。そのため、支援装置140は、階層ストレージの全ての記憶領域にデータが書き込まれており、Zipf分布に従った負荷が各Sub−LUNにかかるものと仮定している。
図4の例において、Sub−LUN201aと201bとにかかっている負荷を加算することで、高性能層にかかる負荷を計算することができる。そのため、Sub−LUN201aと201bの面積を加算したものを、高性能層にかかる負荷と仮定する。すると、Sub−LUN201c〜201fの面積を加算することで、中性能層にかかる負荷を算出できる。同様に、Sub−LUN201g〜201mの面積を加算することで、低性能層にかかる負荷を算出できる。また、Sub−LUN201a〜201mの面積を加算することで、階層ストレージ全体にかかると想定される負荷を算出できる。
図5は、本実施形態に係る支援装置の処理の例を示す図である。支援装置140は、図4に示すZipf分布を生成し、(8.1)〜(8.5)の処理を行う。サイジング処理部143は、ユーザが所望する要件を満たす各ストレージ装置中の中性能層と低性能層が所定の時間内に処理できる命令数(最大処理性能)を、階層ストレージの仕様情報から取得する。図5の例では、あるストレージ装置の中性能層の最大処理性能は、3500IOPSである。同じストレージ装置の低性能層の最大処理性能は、440IOPSである。
支援装置140は、中性能層の最大処理性能である3500IOPSを、中性能層にかける負荷として設定する。支援装置140は、高性能層〜低性能層の容量に関する情報を記憶部から取得し、Zipf分布図の横軸の中性能層の範囲を算出する。支援装置140は、Zipf分布図の横軸の中性能層の範囲のSub−LUNの負荷を積分し、中性能層にかかる負荷を表す面積が3500IOPSとなるZipf分布を生成する。支援装置140は、生成したZipf分布から、所定の時間内にストレージ全体が処理できると想定される想定処理数を計算する。その結果、中性能層の最大処理性能を基準にしたストレージ装置全体の想定処理数は、8900IOPSとなる。計算方法は、図6で説明する。
次に、低性能層の最大処理性能である440IOPSを、低性能層にかける負荷として設定する。支援装置140は、高性能層〜低性能層の容量に関する情報を記憶部から取得し、Zipf分布図の横軸の低性能層の範囲を算出する。支援装置140は、Zipf分布図の横軸の低性能層の範囲のSub−LUNの負荷を積分し、低性能層にかかる負荷を表す面積が440IOPSとなるZipf分布を生成する。支援装置140は、生成したZipf分布から、所定の時間内にストレージ全体が処理できると想定される想定処理数を計算する。その結果、低性能層の最大処理性能を基準にしたストレージ装置全体の想定処理数は、8000IOPSとなる。計算方法は、図6で説明する。その結果、1つの階層ストレージの情報から、2種類の想定処理数が算出される。
低性能層の最大処理性能を基準として計算したアクセス数の分布から得られたストレージ装置全体の想定処理数である8000IOPS以上の処理を、ストレージ装置全体に行わせると、他の階層よりも先に低性能層が処理限界に達する。このとき、中性能層は、所定の時間内に処理できる命令数に余裕を持つ。
本実施形態の支援装置は、低性能層側を基準にしたストレージ装置全体の想定処理数と、中性能層側を基準にしたストレージ装置全体の想定処理数とが近いストレージ装置を、ユーザに推奨する。推奨されるストレージ装置は、低性能層が所定の時間内に処理できる命令数を超えにくく、余裕がある中性能層の性能を減らすことで価格を抑えたストレージ装置である。
図6は、ストレージ装置全体の想定処理数の算出方法の例を説明する図である。図6のZipf分布において、縦軸は、アクセス頻度の確率を表し、横軸は、アクセス頻度の多い順にソートしたSub−LUNを表している。図6のZipf分布の横軸は、Sub−LUNの数が50個あることを示す(N=50)。N個のSub−LUNのうち、高性能層に割り当てられているSub−LUNの数をSで表す。中性能層に割り当てられているSub−LUNの数をSで表す。低性能層に割り当てられているSub−LUNの数をSで表す。S〜SなどのSub−LUNに関する情報は、記憶部141に階層ストレージ毎に対応して記憶されている。
Zipf分布は、N個のSub−LUN中で、k番目にアクセス頻度が大きいSub−LUNのアクセス頻度の確率をf(k;N)で表す。f(k;N)は、式1で表される。また、Zipf分布は、式2の前提条件を備える。
階層ストレージ全体にかかる負荷(IOPS)をXとすると、Xf(k;N)で、k番目にアクセス頻度の大きいSub−LUNの負荷(IOPS)を求めることができる。なお、階層ストレージ全体にかかる負荷Xは、高性能層にかかる負荷Xと、中性能層にかかる負荷Xと、低性能層にかかる負荷Xの合計である。すると、階層ストレージ全体にかかる負荷(IOPS)であるXは、図6のように、Zipf分布曲線と、Zipf分布図の横軸(Sub−LUNの範囲)と縦軸(確率)とで囲まれた範囲の面積で表される。
図6のZipf分布図では、例えば、1番目〜S番目のIOPSを積分することで、高性能層にかかる負荷(IOPS)を計算することができる。同様に、(S+1)〜(S+S)番目のIOPSを積分することで、中性能層にかかる負荷を計算することができる。(S+S+1)〜(S+S+S)番目のIOPSを積分することで、低性能層にかかる負荷を計算することができる。
各階層の処理性能の計算の高速化のために、オイラーの式を用いる。オイラーの式を、式3に示す。オイラーの式のγは、オイラーマスケローニ定数である。
なお、εは、nの値が大きくなると0になる値である。そのため、Nが大きい値であれば、εは計算上含めなくてよい。
式4〜式7は、オイラーの式を用いて式1を変形する途中式である。階層ストレージ中の高性能層にかかる負荷の割合であるZを、式1〜式3を用いて計算し、式4で表す。階層ストレージ中の中性能層にかかる負荷の割合であるZを、式5で表す。階層ストレージ中の低性能層にかかる負荷の割合であるZを、式6で表す。階層ストレージ中の高性能層及び中性能層にかかる負荷の割合を、Z12で表す(式7)。
従って、式4〜式7は、以下(式8〜式11)のようにまとめられる。
式8〜式11の結果は、各階層にかかる負荷の割合である。そのため、図5のように中性能層にかかる負荷から階層ストレージ全体にかかる負荷を計算する場合、支援装置140は、まず、階層ストレージ全体のSub−LUNの数Nと、高性能層のSub−LUNの数Sの情報とを取得する。支援装置140は、NとSの値から、式8を用いて、Zの値を算出する。支援装置140は、中性能層のSub−LUNの数Sの情報を取得し、式9を用いて、Z12の値を算出する。支援装置140は、式8と式9の計算結果を用いて式10の計算を行う。また、支援装置140は、式9の計算結果を用いて式11の計算を行う。その結果、支援装置140は、各階層にかかる負荷の割合を計算することができ、例えば中性能層にかかる負荷の値から、階層ストレージ全体にかかる負荷を算出することができる。
図7は、支援装置が推奨する階層ストレージ情報の出力の例を説明する図である。支援装置140は、例えば、パラメータシートの形式で推奨する階層ストレージ情報を出力する。パラメータシートは、高性能層のSSD、中性能層のOnlineSAS、低性能層のNearLineSASに関する情報、容量、価格、レスポンス、性能バランス、全容量が使用済みの場合の階層ストレージの処理性能に関する情報を含む。高性能層のSSD、中性能層のOnlineSAS、低性能層のNearLineSASに関する情報は、RAIDの組み合わせに関する情報を含む。性能バランスは、(8.5)の処理で算出したLogにかけた比率の結果値である。性能バランスが0に近い階層ストレージであるほど、低性能層が所定の時間内に処理できる命令数を超えにくく、余裕がある中性能層の性能を減らすことで価格を抑えたストレージ装置である。全容量が使用済みの場合の階層ストレージの処理性能に関する情報は、所定の時間内に階層ストレージ全体が処理できる命令数を示す処理性能である。
支援装置140は、記憶部141に記憶している全階層ストレージに関する情報から、ユーザが所望する要件を満たす階層ストレージに関する情報を抽出する。支援装置140は、ユーザが所望する要件を満たす階層ストレージのうち、性能ランスが0に近い階層ストレージを推奨する。推奨されるストレージ装置は、例えば、パラメータシート内で、太字にするなどして文字を強調することで、ユーザにストレージ装置を推奨する。図7の例では、価格が安い階層ストレージの性能バランスは、0.231であり、レスポンスが早い階層ストレージの性能バランスは、0.269であり、容量が大きい階層ストレージの性能バランスは、0.181である。そのため、支援装置140は、性能バランスが0.107と、0に近い階層ストレージを優先的に推奨するストレージ装置として選択する。
支援装置140は、ユーザが所望する要件を満たす階層ストレージを全て出力してもよい。図7のパラメータシートでは、支援装置140は、価格が安い、レスポンスが早い、容量が大きい階層ストレージと、性能バランスのよい階層ストレージをユーザに提示する。支援装置140は、他の階層ストレージの情報は含まない、性能バランスのよい階層ストレージを推奨する階層ストレージとして提示してもよい。また、ユーザに提示する情報は、パラメータシートに含まれる内容に限定されない。
本実施形態の支援装置は、低性能層側を基準にしたストレージ装置全体の想定処理数と、中性能層側を基準にしたストレージ装置全体の想定処理数とが近いストレージ装置を、ユーザに推奨する。推奨されるストレージ装置は、低性能層が所定の時間内に処理できる命令数を超えにくく、余裕がある中性能層の性能を減らすことで価格を抑えたストレージ装置である。
図8は、支援装置の処理の例を説明するフローチャートである。収集部144は、ネットワーク130に流れるI/O命令のI/O統計情報を収拾する(ステップS101)。統計部142は、収集したI/O統計情報から、システム中のストレージ装置の使用状況の統計を取る(ステップS102)。記憶部141は、システム中のストレージ装置の使用状況の統計を蓄積する(ステップS103)。入出力部145は、ユーザが所望するストレージの容量、性能、価格などの要件情報の入力が、表示装置150でなされたかを判定する(ステップS104)。ユーザが所望するストレージ装置の要件情報の入力がない場合、支援装置は、ステップS101から処理を繰り返す。
入出力部145は、要件情報を表示装置150から取得する(ステップS105、ステップS104でYES)。サイジング処理部143は、ストレージ装置の使用状況情報を、記憶部141から取得する(ステップS106)。サイジング処理部143は、記憶部141から、複数の階層ストレージの仕様情報を取得する(ステップS107)。サイジング処理部143は、取得した複数の階層ストレージの仕様情報から、ユーザが所望するストレージの容量、性能、価格などの要件を満たすストレージ装置を抽出する(ステップS108)。サイジング処理部143は、ストレージ装置の使用状況情報を処理できる性能を備えるストレージ装置を抽出する(ステップS109)。サイジング処理部143は、実際に使用を開始してもレスポンスの劣化が少なく、価格を抑えた推奨のストレージ装置を抽出する(ステップS110)。サイジング処理部143は、推奨するストレージ装置の情報を、表示装置150に送信し、ユーザに提示する(ステップS111)。
図9は、本実施形態にかかる推奨の階層ストレージを選択する方法の例を説明するフローチャートである。図9のフローチャートを用いて、図8のステップS110を詳細に説明する。サイジング処理部143は、ユーザが所望する要件を満たす各ストレージ装置中の中性能層と低性能層が所定の時間内に処理できる命令数(IOPS)を、階層ストレージの仕様情報から参照する(ステップS201)。サイジング処理部143は、中性能層の最大処理性能から、階層ストレージ全体の負荷分布を生成する(ステップS202)。サイジング処理部143は、階層ストレージ全体の負荷分布から、所定の時間内にストレージ全体が処理できると想定される想定処理数を計算する(ステップS203)。サイジング処理部143は、低性能層の最大処理性能から、階層ストレージ全体の負荷分布を生成する(ステップS204)。サイジング処理部143は、階層ストレージ全体の負荷分布から、所定の時間内にストレージ全体が処理できると想定される想定処理数を計算する(ステップS205)。
サイジング処理部143は、中性能層の最大処理性能から想定されるストレージ装置全体の想定処理数と、低性能層の最大処理性能から想定されるストレージ装置全体の想定処理数との比率を求める(ステップS206)。サイジング処理部143は、ユーザが所望する要件を満たす各ストレージ装置全てに対して処理が終わったかを判定する(ステップS207)。ユーザが所望する要件を満たす各ストレージ装置全てに対してS201〜S206の処理が終わっていない場合、処理をS201から繰り返す。S206で算出した比率にLogにいれ、結果値が0に近いストレージ装置を優先的に、ユーザに推奨する階層ストレージとして選択する(ステップS208、ステップS207でYES)。
本実施形態の支援装置は、低性能層側を基準にしたストレージ装置全体の想定処理数と、中性能層側を基準にしたストレージ装置全体の想定処理数とが近いストレージ装置を、ユーザに推奨する。推奨されるストレージ装置は、低性能層が所定の時間内に処理できる命令数を超えにくく、余裕がある中性能層の性能を減らすことで価格を抑えたストレージ装置である。
110 ストレージ装置群
120 端末群
130 ネットワーク
140 支援装置
141 記憶部
142 統計部
143 サイジング処理部
144 収集部
145 入出力部
150 表示装置
201 Sub−LUN

Claims (9)

  1. 第1の記憶媒体と、前記第1の記憶媒体よりも高速にアクセス可能な第2の記憶媒体とを備えるストレージ装置に関する情報を複数記憶する記憶部と、
    アクセス頻度の高いデータを優先的に前記第2の記憶媒体に記憶したときの、各記憶媒体に記憶されるデータと各データへのアクセス頻度の関係を示す関数を用いて、各ストレージ装置について、アクセスの総数に対する各記憶媒体へのアクセスの割合を求め、
    所定の時間内に前記第1の記憶媒体にアクセス可能な要求数と前記第1の記憶媒体についての前記割合とから、所定の時間内に前記ストレージ装置で処理可能なアクセス数である第1の要求数を求め、更に、所定の時間内に前記第2の記憶媒体にアクセス可能な要求数と前記第2の記憶媒体についての前記割合とから、所定の時間内に前記ストレージ装置で処理可能なアクセス数である第2の要求数を求める処理を実行する処理部と、
    前記第1の要求数と前記第2の要求数との差が相対的に小さいストレージ装置に関する情報を優先的に通知する出力部と、
    を備えることを特徴とする記憶装置調整装置。
  2. 前記関数は、
    前記第1の記憶媒体と前記第2の記憶媒体中のデータへのアクセス頻度の大きさが、前記アクセス頻度の順序の逆数に比例する
    ことを特徴とする請求項1に記載の記憶装置調整装置。
  3. ユーザが所望するストレージ装置の要件を取得する取得部を備え、
    前記出力部は、
    前記第1の要求数と前記第2の要求数との差が相対的に小さいストレージ装置を、前記要件を満たすストレージ装置から選択して通知する
    ことを特徴とする請求項1又は2に記載の記憶装置調整装置。
  4. 第1の記憶媒体と、前記第1の記憶媒体よりも高速にアクセス可能な第2の記憶媒体とを備える階層ストレージに関する情報を複数取得し、
    アクセス頻度の高いデータを優先的に前記第2の記憶媒体に記憶したときの、各記憶媒体に記憶されるデータと各データへのアクセス頻度の関係を示す関数を用いて、各階層ストレージについて、アクセスの総数に対する各記憶媒体へのアクセスの割合を求め、
    所定の時間内に前記第1の記憶媒体にアクセス可能な要求数と前記第1の記憶媒体についての前記割合とから、所定の時間内に前記階層ストレージで処理可能なアクセス数である第1の要求数を求め、更に、所定の時間内に前記第2の記憶媒体にアクセス可能な要求数と前記第2の記憶媒体についての前記割合とから、所定の時間内に前記階層ストレージで処理可能なアクセス数である第2の要求数を求める処理を実行し、
    前記第1の要求数と前記第2の要求数との差が相対的に小さい階層ストレージに関する情報を優先的に通知する
    処理をプロセッサに実行させる階層ストレージ設計プログラム。
  5. 前記関数は、
    前記第1の記憶媒体と前記第2の記憶媒体中のデータへのアクセス頻度の大きさが、前記アクセス頻度の順序の逆数に比例する
    ことを特徴とする請求項4に階層ストレージ設計プログラム。
  6. ユーザが所望する階層ストレージの要件を取得し、
    前記第1のアクセス要求の数と前記第2のアクセス要求の数との差が相対的に小さい階層ストレージを、前記要件を満たす階層ストレージから選択して通知する処理をプロセッサに実行させる
    ことを特徴とする請求項4又は5に記載の階層ストレージ設計プログラム。
  7. 第1の記憶媒体と、前記第1の記憶媒体よりも高速にアクセス可能な第2の記憶媒体とを備える階層ストレージに関する情報を複数取得し、
    アクセス頻度の高いデータを優先的に前記第2の記憶媒体に記憶したときの、各記憶媒体に記憶されるデータと各データへのアクセス頻度の関係を示す関数を用いて、各階層ストレージについて、アクセスの総数に対する各記憶媒体へのアクセスの割合を求め、
    所定の時間内に前記第1の記憶媒体にアクセス可能な要求数と前記第1の記憶媒体についての前記割合とから、所定の時間内に前記階層ストレージで処理可能なアクセス数である第1の要求数を求め、更に、所定の時間内に前記第2の記憶媒体にアクセス可能な要求数と前記第2の記憶媒体についての前記割合とから、所定の時間内に前記階層ストレージで処理可能なアクセス数である第2の要求数を求める処理を実行し、
    前記第1の要求数と前記第2の要求数との差が相対的に小さい階層ストレージに関する情報を優先的に通知する
    処理をプロセッサに実行させる階層ストレージ設計方法。
  8. 前記関数は、
    前記第1の記憶媒体と前記第2の記憶媒体中のデータへのアクセス頻度の大きさが、前記アクセス頻度の順序の逆数に比例する
    ことを特徴とする請求項7に階層ストレージ設計方法。
  9. ユーザが所望する階層ストレージの要件を取得し、
    前記第1のアクセス要求の数と前記第2のアクセス要求の数との差が相対的に小さい階層ストレージを、前記要件を満たす階層ストレージから選択して通知する処理をプロセッサに実行させる
    ことを特徴とする請求項7又は8に記載の階層ストレージ設計方法。
JP2014074132A 2014-03-31 2014-03-31 記憶装置調整装置、階層ストレージ設計プログラム及び階層ストレージ設計方法 Pending JP2015197721A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014074132A JP2015197721A (ja) 2014-03-31 2014-03-31 記憶装置調整装置、階層ストレージ設計プログラム及び階層ストレージ設計方法
US14/643,547 US20150277781A1 (en) 2014-03-31 2015-03-10 Storage device adjusting device and tiered storage designing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014074132A JP2015197721A (ja) 2014-03-31 2014-03-31 記憶装置調整装置、階層ストレージ設計プログラム及び階層ストレージ設計方法

Publications (1)

Publication Number Publication Date
JP2015197721A true JP2015197721A (ja) 2015-11-09

Family

ID=54190399

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014074132A Pending JP2015197721A (ja) 2014-03-31 2014-03-31 記憶装置調整装置、階層ストレージ設計プログラム及び階層ストレージ設計方法

Country Status (2)

Country Link
US (1) US20150277781A1 (ja)
JP (1) JP2015197721A (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014174845A (ja) * 2013-03-11 2014-09-22 Fujitsu Ltd 性能評価支援プログラム、性能評価支援装置及び性能評価支援方法
US9983795B1 (en) * 2015-03-31 2018-05-29 EMC IP Holding Company LLC Techniques for determining a storage configuration
US11134283B2 (en) * 2016-08-17 2021-09-28 Rovi Guides, Inc. Systems and methods for storing a media asset rescheduled for transmission from a different source
US10585591B1 (en) * 2016-12-29 2020-03-10 EMC IP Holding Company LLC Configuring a data storage system based on workload skew
US10585605B1 (en) * 2017-04-27 2020-03-10 EMC IP Holding Company LLC Configuring a data storage system by analyzing and grouping activity data of multiple LUNs
US10481828B2 (en) * 2017-10-10 2019-11-19 Seagate Technology, Llc Slow drive detection

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5057792B2 (ja) * 2007-01-29 2012-10-24 株式会社日立製作所 性能ボトルネックを緩和する機能を備えたストレージシステム
JP4923008B2 (ja) * 2008-08-22 2012-04-25 株式会社日立製作所 ストレージ管理装置、ストレージ管理方法およびストレージ管理プログラム

Also Published As

Publication number Publication date
US20150277781A1 (en) 2015-10-01

Similar Documents

Publication Publication Date Title
JP2015197721A (ja) 記憶装置調整装置、階層ストレージ設計プログラム及び階層ストレージ設計方法
US10175909B2 (en) Extent migration in multi-tier storage systems
US10095418B1 (en) Automatic tiering of storage using dynamic grouping
US10078569B1 (en) Self adaptive workload classification and forecasting in multi-tiered storage system using arima time series modeling
US8943270B2 (en) Storage system, storage control method and storage control program
JP6260407B2 (ja) ストレージ管理装置、性能調整方法及び性能調整プログラム
JP4699837B2 (ja) ストレージシステム、管理計算機及びデータ移動方法
US8650377B2 (en) Storage managing system, computer system, and storage managing method
US20130212349A1 (en) Load threshold calculating apparatus and load threshold calculating method
US9569268B2 (en) Resource provisioning based on logical profiles and objective functions
US11256595B2 (en) Predictive storage management system
US9405583B2 (en) Resource provisioning based on logical profiles and piecewise objective functions
US8612683B2 (en) First storage control apparatus and first storage control apparatus control method
US20150160885A1 (en) Storage management system
US9773026B1 (en) Calculation of system utilization
JP6017032B2 (ja) ストレージシステム及びストレージ制御方法
US11210022B2 (en) Method, electronic device and computer readable storage medium of storage management
CN110770691B (zh) 混合数据存储阵列
JP6394315B2 (ja) ストレージ管理装置、性能調整方法及び性能調整プログラム
US10223008B1 (en) Storage array sizing for compressed applications
JP7307311B2 (ja) 情報処理装置およびタスク管理プログラム
US20160364400A1 (en) Management server which outputs file relocation policy, and storage system
JP6888446B2 (ja) 情報処理装置、重複除去率特定方法及び重複除去率特定プログラム
JP6848278B2 (ja) ストレージ管理装置、性能調整方法及び性能調整プログラム
CN105528303B (zh) 用于管理存储系统的方法和装置