JP6428231B2 - ストレージ管理装置、性能調整方法及び性能調整プログラム - Google Patents

ストレージ管理装置、性能調整方法及び性能調整プログラム Download PDF

Info

Publication number
JP6428231B2
JP6428231B2 JP2014253162A JP2014253162A JP6428231B2 JP 6428231 B2 JP6428231 B2 JP 6428231B2 JP 2014253162 A JP2014253162 A JP 2014253162A JP 2014253162 A JP2014253162 A JP 2014253162A JP 6428231 B2 JP6428231 B2 JP 6428231B2
Authority
JP
Japan
Prior art keywords
bandwidth
volume
guaranteed
management unit
value
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.)
Active
Application number
JP2014253162A
Other languages
English (en)
Other versions
JP2016115130A (ja
Inventor
崇弘 山内
崇弘 山内
寿治 巻田
寿治 巻田
聖史 杉岡
聖史 杉岡
丈一 尾田
丈一 尾田
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 JP2014253162A priority Critical patent/JP6428231B2/ja
Priority to US14/936,746 priority patent/US9836246B2/en
Publication of JP2016115130A publication Critical patent/JP2016115130A/ja
Application granted granted Critical
Publication of JP6428231B2 publication Critical patent/JP6428231B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ストレージ管理装置、性能調整方法及び性能調整プログラムに関する。
近年、オープンシステムやサーバの仮想化が普及してきており、システムの管理が複雑化してきている。そこで、システムの管理の容易化や急速に増大するデータ容量への柔軟な対応などの観点から、ストレージシステムの導入が一般的になってきている。
ストレージシステムでは、異なる速度のディスクを用いることができる。例えば、ディスクには、Solid State Disk(SSD)、Serial Attached Small Computer System Interface Hard Disk Drive(SASHDD)又はSerial Advanced Technology Attachment (SATA)HDDなどがある。
このようなストレージシステムにおいて、ストレージシステム内に存在する速度の異なるディスクを複数種類使用し1つのボリュームと呼ばれる記憶領域が作成される場合がある。さらに、1つのボリューム内の速度の異なるディスクに対して、使用頻度に応じてデータの格納場所を決定するストレージの自動階層化の技術が広がってきている。
ストレージの自動階層化の技術を用いた場合、例えば、使用頻度の高いデータはボリューム中の速度の速いディスクに格納され、使用頻度の低いデータはボリューム中の速度の遅いディスクに格納される。そして、ストレージの自動階層化により、低コストで高速大容量の記憶装置を実現することができる。
また、ストレージの性能調整の技術としては、例えば、ボリュームとアプリケーションを実行するサーバとの間のデータ転送路の帯域幅を調整することが行われている。この機能は、Quality of Service(QoS)と呼ばれることがある。
さらに、ストレージの性能調整の技術としては、例えば、タスクを実行する際にサービスレベル要件を満たすようにノードを割り当てる従来技術が有る。また、システムの要件に合わせて仮想ボリュームへプール領域の割り当てを行う従来技術が有る。また、所望の性能を実現するように、ストレージデバイスの組み合わせをカスタマイズする従来技術がある。また、システムの要件に基づいてデータの格納先となる論理コンテナの配置を変更する従来技術がある。また、ファイルの属性及び格納先の属性を基に、複数のストレージ・クラウドから、システムの要件を満たすファイルを格納するストレージ・クラウドを選択する従来技術がある。
特表2014−506367号公報 特表2013−536478号公報 特開2014−132457号公報 特表2014−517952号公報 特開2014−10465号公報
しかしながら、実測性能が目標性能に一致するように帯域幅の調整をする場合、負荷の変動などにより実測性能が変動するので、実測性能と目標性能とを完全に一致させ続けることは困難である。そのため、実測性能に目標性能を一致させるように、実測性能の変動に合わせて調整を繰り返すことになり、システムを安定運用させることが困難である。
また、システムの要件に応じてノードの割り当てを行う従来技術では、帯域幅の調整は考慮されておらず、帯域幅の調整を行った場合のシステムの安定運用の実現は困難である。これは、プール領域の割り当て、ストレージデバイスの組み合わせの調整、データの格納先となる論理コンテナの配置の変更及びストレージ・クラウドの選択といった従来技術でも同様である。
開示の技術は、上記に鑑みてなされたものであって、帯域幅の調整を行いつつシステムを安定運用させるストレージ管理装置、性能調整方法及び性能調整プログラムを提供することを目的とする。
本願の開示するストレージ管理装置、性能調整方法及び性能調整プログラムは、一つの態様において、記憶部は、ストレージ装置が有する複数の記憶領域の内の所定の記憶領域に対するデータの送受信の性能の保証値を取得する。帯域幅管理部は、前記所定の記憶領域に対するデータの送受信の性能の実測値の正規分布を求め、前記保証値を逸脱する割合が所定値以下となるように、求めた前記正規分布の平均及び分散を変更し、変更後の前記正規分布の平均を暫定目標値とする。また、帯域幅管理部は、前記暫定目標値に基づいて、前記所定の記憶領域に対して前記保証値と前記実測値との差分を補償する帯域幅の割り当てを行い、前記複数の記憶領域のそれぞれに対する帯域配分を決定する。さらに、帯域幅管理部は、決定した前記帯域配分による帯域幅の調整を前記ストレージ装置に指示する。
本願の開示するストレージ管理装置、性能調整方法及び性能調整プログラムの一つの態様によれば、帯域幅の調整を行いつつシステムを安定運用させることができるという効果を奏する。
図1は、ストレージシステムの概略構成図である。 図2は、ストレージシステムのハードウェア構成図である。 図3は、実施例1に係る運用管理サーバ及びストレージ装置のブロック図である。 図4は、QoS設定テーブルの一例の図である。 図5は、ボリューム性能情報ファイルの一例の図である。 図6は、リソース性能情報ファイルの一例の図である。 図7は、実施例1に係るストレージシステムにおける帯域幅制御のフローチャートである。 図8は、実施例1に係る運用管理サーバによるボリュームの帯域幅の調整の処理のフローチャートである。 図9は、実施例1の変形例に係る運用管理サーバによる暫定目標レスポンスタイムの算出方法を説明するための図である。 図10は、直近10回分の実測レスポンスタイムの一例を示す図である。 図11は、保証タイプ選択画面の一例の図である。 図12は、ボリューム種別設定画面の一例の図である。 図13は、実施例2に係るQoS設定テーブルの一例の図である。 図14は、実施例2に係る運用管理サーバによるボリュームの帯域幅の調整の処理のフローチャートである。 図15は、実施例2における帯域幅調整の予約の決定処理のフローチャートである。 図16は、IOPSを保証する場合の帯域幅調整の予約の決定処理のフローチャートである。 図17は、スループットを保証する場合の帯域幅調整の予約の決定処理のフローチャートである。 図18は、実施例3の変形例2に係る運用管理サーバ及びストレージ装置のブロック図である。 図19は、待ちI/Oキュー及び実行中I/Oリストの一例の図である。 図20は、帯域制限テーブルの一例の図である。
以下に、本願の開示するストレージ管理装置、性能調整方法及び性能調整プログラムの実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示するストレージ管理装置、性能調整方法及び性能調整プログラムが限定されるものではない。
図1は、ストレージシステムの概略構成図である。図1に示すように、本実施例に係るストレージシステムは、運用管理サーバ1、ストレージ装置2、操作端末3及び業務サーバ4を有している。ここで、図1では、1台のストレージ装置2を記載しているが、ストレージ装置2の数に制限は無い。また、業務サーバ4も1台のみ記載しているが、業務サーバ4の数にも制限は無い。
操作端末3は、ネットワークを介して運用管理サーバ1と接続している。操作端末3は、ストレージ装置2に対する処理の指示などを運用管理サーバ1へ送信する。また、操作端末3は、運用管理サーバ1から送信されたメッセージなどをモニタに表示して操作者への通知を行う。さらに、操作端末3は、後述する保証レスポンスタイムの入力画面をモニタなどの表示装置に表示する。
運用管理サーバ1は、ストレージ装置2の運用及び管理を行う。運用管理サーバ1は、QoS制御プログラムやストレージ管理プログラムを実行する。この運用管理サーバ1が、「ストレージ管理装置」の一例にあたる。
具体的には、運用管理サーバ1は、ストレージ装置2におけるQoSの制御等を行う。QoSは、ストレージ装置2が安定した性能を維持するための性能設定機能であり、後述するボリュームの帯域幅の調整等を行う。また、運用管理サーバ1は、操作端末3から入力された命令に従いストレージ装置2を制御する。例えば、運用管理サーバ1は、操作端末3から入力されたRAIDを構成するようにストレージ装置2に指示する。
ストレージ装置2は、業務サーバ4上で動作するアプリケーションからの指示を受けて、QoSを適用してデータの読み出しや書き込みを行う。また、ストレージ装置2は、ボリュームの帯域幅の調整などの指示を運用管理サーバ1から受けて、QoSの制御を行う。
業務サーバ4は、業務用のアプリケーションを実行する。アプリケーションを実行するにあたり、業務サーバ4は、ストレージ装置2に対してデータの読み出しや書き込みを行う。業務サーバ4が実行するアプリケーションは、ストレージ装置2とデータの送受信を行うアプリケーションであれば特に制限はない。
図2は、ストレージシステムのハードウェア構成図である。図2では、ストレージ装置2として、ストレージ装置21及び22が配置されている状態を示している。また、業務サーバ4として、業務サーバ41及び42が配置されている状態を示している。
業務サーバ4は、Fiber Channel-Host Bus Adapter(FC−HBA)411及び412、並びに、Internet Small Computer System Interface(iSCSI)413及び414を有している。ここで、本実施例では、FC−HBA411及び412の2つを記載しているが、FC−HBAは、業務サーバ4にいくつ搭載されてもよい。また、iSCSI413及び414の2つを記載しているが、iSCSIは、業務サーバ4にいくつ搭載されてもよい。
FC−HBA411及び412は、ファイバチャネルを用いたデータ通信の通信インタフェースである。FC−HBA411及び412は、FCスイッチ51及び52にそれぞれ接続されている。
iSCSI413及び414は、iSCSIの規格に準拠したデータ通信の通信インタフェースである。iSCSI413及び414は、ネットワークスイッチ61及び62にそれぞれ接続されている。
FCスイッチ51及び52は、ストレージ装置2と業務サーバ4との間のファイバチャネルを用いた通信の中継を行う。FCスイッチ51及び52は、FC−HBA411及び412とFC−CA(Channel Adapter)211とを接続する。
ネットワークスイッチ61及び62は、ストレージ装置2と業務サーバ4との間のiSCSIを用いた通信の中継を行う。ネットワークスイッチ61及び62は、iSCSI413及び414とiSCSI−CA212とを接続する。
ストレージ装置2は、Controller Module(CM)201及び202、並びに、ディスク(Disk)203を有している。
CM201及び202は、同様の機構を有している。そこで、ここでは、CM201を例に説明する。
CM201は、FC−CA211、iSCSI−CA212、Central Processing Unit(CPU)213、メモリ(memory)214、Network Interface Card(NIC)215及びSerial Attached SCSI(SAS)216を有している。
FA−CA211、iSCSI−CA212、メモリ214、NIC215及びSAS216は、CPU213に接続されている。
CPU213は、FC−CA211及びiSCSI−CA212を介して業務サーバ4との間でデータの送受信を行う。
また、CPU213は、SAS216を介してディスク203に対するデータの読み出し及び書き込みを行う。
また、CPU213は、NIC215を介して、操作端末3及び運用管理サーバ1との間で通信を行う。例えば、CPU213は、後述する帯域幅の調整の指示を運用管理サーバ1から受信すると、指示に従いボリューム232の帯域幅を調整する。
ストレージ装置2には、ディスク203が複数台搭載されている。図2では、複数台のディスク203によりRAIDグループ231が形成されている。そして、RAIDグループ231は、複数のボリューム232を含んでいる。ボリューム232は、論理ボリュームである。このボリューム232が、「記憶領域」の一例にあたる。ただし、本実施例に限定されず、RAIDグループ231が構築されていなくてもよい。
ここで、CPU213によるデータの書き込み及び読み出しについて説明する。CPU213は、業務サーバ4上で動作する業務用アプリケーションからデータの読み出しの命令であるリードコマンドや書き込みの命令であるライトコマンドを受信する。このとき、リードコマンドやライトコマンドは、例えば、FCスイッチ51のポート及びFC−CA211のポートを経由してCPU213へ送信される。そして、CPU213は、受信したコマンドに従って、ボリューム232のディスク203に対するデータの読み出しや書き込みを行う。このとき、データは、RAIDグループ231の構成にしたがって、ボリューム232に対して書き込みや読み出しが行われる。また、ここでは、CM201のCPU213がデータの読み書きの処理を行う場合で説明したが、CM202のCPU213においても、同様の処理が行われる。
すなわち、データの書き込みや読み出しといったデータ転送において、FCスイッチ51のポート、FC−CA211やiSCSI−CA212のポート、データの処理を行う処理プロセッサとなるCPU213、及び、ボリューム232において競合が発生する。
データ転送において各リソースで競合が発生してしまうと、データ転送の性能が落ちる。そこで、競合が発生しているリソースを使用する伝送路において、その伝送路を使用するボリューム232の帯域幅を調整することで、リソースにおける競合を解消することができ、データ転送の性能を高い状態で維持することができる。そこで、次に、ボリューム232の帯域幅の調整について説明する。以下では、業務サーバ4とストレージ装置2とは、FCスイッチ51を介して接続されている場合で説明する。また、以下では、ボリューム232を帯域調整の単位として説明するが、帯域調整の単位はこれに限らず、例えば、RAIDグループ231やストレージ装置2の全体であってもよい。
また、運用管理サーバ1は、NIC(Network Interface Card)11、メモリ12、CPU13及びHDD(Hard Disk Drive)14を有している。CUP13は、HDD14に格納された各種プログラムをメモリ12を用いて実行する。また、CPU13は、NIC11を介して、ストレージ装置21のCM201及びCM202と通信を行う。
図3は、実施例1に係る運用管理サーバ及びストレージ装置のブロック図である。運用管理サーバ1は、保証値設定部101、帯域幅管理部102、監視部103及び記憶部104を有している。また、ストレージ装置2は、性能情報取得部251、帯域幅制御部252及び処理実行部253を有している。
記憶部104は、QoS設定テーブル141、ボリュームテーブル142、ボリューム性能情報ファイル143及びリソース性能情報ファイル144をそれぞれ記憶する所定の情報記憶領域を有している。なお、情報記憶領域は、各テーブルそのものを記憶している必要はなく、制御時にテーブル化するための情報を記憶しておいてもよい。記憶部104の機能は、例えば、図2のHDD14で実現される。
図4は、QoS設定テーブルの一例の図である。本実施例では、Qos設定テーブル141には、ボリューム識別情報、保証性能、種別及び帯域幅が対応付けられて登録されている。
ボリューム識別情報は、ボリューム232を一意に特定する情報である。本実施例では、ボリューム識別情報は、ストレージ装置2の番号及びボリューム232の番号により表されている。例えば、図2のストレージ装置21を1番、ストレージ装置22を2番とすると、「Storage=1,VolNo=1」は、ストレージ装置21のボリューム番号が1番のボリューム232を表している。
また、保証性能は、対応するボリューム識別情報を有するボリューム232に対して保証されるレスポンスタイムを表している。また、種別は、対応するボリューム識別情報を有するボリューム232が、レスポンスタイムが保証されているボリューム232かレスポンスタイムが保証されていないボリューム232かを示す。以下では、レスポンスタイムが保証されているボリューム232を、「保証ボリューム」という。また、レスポンスタイムが保証されていないボリュームを、「非保証ボリューム」という。
また、帯域幅は、対応するボリューム識別情報を有するボリューム232に設定されている帯域幅である。図4では、帯域幅は、スループットを表す毎秒のデータ量(MB Per Second)、及び読み込み/書き込み回数(IOPS:Input Output Per Second)の2種類で表される。
ボリュームテーブル142は、各ボリューム232が使用するリソースを表す。すなわち、ボリューム識別情報で示されるボリューム232は、ボリュームテーブル142で対応付けられた処理プロセッサ、ポート番号、スイッチポート及びRAIDグループを使用する。
図5は、ボリューム性能情報ファイルの一例の図である。ボリューム性能情報ファイル143は、各ボリューム232の実測の性能を表す情報が登録される。本実施例では、ボリューム性能情報ファイル143には、測定を行った性能測定日時と共に、ボリューム識別情報、実測レスポンスタイム、実測スループット、実測IOPS、実測キャッシュヒット率及び実測ディレイタイムが対応付けられて登録されている。以下では、ボリューム識別情報、実測レスポンスタイム、実測スループット、実測IOPS、実測キャッシュヒット率及び実測ディレイタイムをまとめて、「ボリュームの性能情報」という場合がある。
実測レスポンスタイムは、対応するボリューム識別情報を有するボリューム232にデータの読み書きを行った際に計測したレスポンスタイムである。実測スループットは、対応するボリューム識別情報を有するボリューム232にデータの読み書きを行った際に計測したスループットである。実測IOPSは、対応するボリューム識別情報を有するボリューム232にデータの読み書きを行った際に計測したIOPSである。実測キャッシュヒット率は、対応するボリューム識別情報を有するボリューム232にデータの読み書きを行った際に計測したキャッシュヒット率である。実測ディレイタイムは、対応するボリューム識別情報を有するボリューム232にデータの読み書きを行った際に計測したディレイタイムである。
図6は、リソース性能情報ファイルの一例の図である。リソース性能情報ファイル144は、各リソースの実際の性能を表す。本実施例では、リソース性能情報ファイル144には、測定を行った性能測定日時と共に、リソース種別、リソース識別情報及びBusy率が対応付けられて登録されている。
リソース識別情報は、どのリソースであるかを一意に特定する情報である。リソース種別は、リソース識別情報で特定されるリソースの種類を表す情報である。Busy率は、リソース識別情報で特定されるリソースの負荷率である。
図3に戻って説明を続ける。操作者は、性能を保証するボリューム232を決定する。さらに、操作者は、性能を保証するボリューム232に対して、どの程度の性能を保証するのかという保証する保証レスポンスタイムを決定する。
保証値設定部101は、操作者により入力されたボリューム232に対する保証レスポンスタイムの入力を操作端末3から受信する。すなわち、操作者により保証レスポンスタイムが設定されたボリューム232が保証ボリュームとなり、保証レスポンスタイムが設定されていないボリューム232が非保証ボリュームとなる。
保証値設定部101は、各保証ボリュームに割り当てられた保証レスポンスタイムをQoS設定テーブル141に登録する。この保証値設定部101が、「記憶部」の一例にあたる。
監視部103は、操作者からの性能収集開始の指示を操作端末3から受ける。その後、監視部103は、ボリューム232及びリソースの性能情報の、性能情報取得部251からの定期的な受信を開始する。そして、監視部103は、受信した各ボリューム232の性能情報をボリューム性能情報ファイル143に書き込む。また、監視部103は、受信したリソースの性能情報をリソース性能情報ファイル144に書き込む。
帯域幅管理部102は、QoS設定テーブル141の中から保証ボリュームを特定する。
帯域幅管理部102は、保証ボリュームの中から1つ選択する。以下では、この保証ボリュームの選択を、「第1選択」という。次に、帯域幅管理部102は、第1選択した保証ボリュームが使用するリソースの情報をボリュームテーブル142から取得する。さらに、帯域幅管理部102は、取得した各リソースのBusy率をリソース性能情報ファイル144から取得する。そして、帯域幅管理部102は、第1選択した保証ボリュームが使用するリソースの中から最もBusy率が高いリソースを特定する。
帯域幅管理部102は、ボリュームテーブル142を用いて、第1選択した保証ボリュームが使用するリソースの中の最もBusy率が高いリソースを共有するボリューム232を特定する。この特定したボリューム232を、「共有ボリューム」という。
帯域幅管理部102は、共有ボリュームの中から保証ボリュームを1つ選択する。以下では、この保証ボリュームの選択を、「第2選択」という。第2選択される保証ボリュームには、第1選択された保証ボリュームも含まれる。
そして、帯域幅管理部102は、第2選択した保証ボリュームの実測レスポンスタイムをボリューム性能情報ファイル143から取得する。また、帯域幅管理部102は、第2選択した保証ボリュームの保証レスポンスタイムをQoS設定テーブル141から取得する。
さらに、帯域幅管理部102は、第2選択した保証ボリュームの暫定目標レスポンスタイムを取得する。ただし、第2選択した保証ボリュームの暫定目標レスポンスタイムが決まっていない場合、帯域幅管理部102は、暫定目標レスポンスタイムの初期値として保証レスポンスタイムを取得する。
次に、帯域幅管理部102は、第2選択した保証ボリュームの実測レスポンスタイムと暫定目標レスポンスタイムとを比較する。
暫定目標レスポンスタイムが実測レスポンスタイムより短い場合、帯域幅管理部102は、第2選択した保証ボリュームの帯域幅の拡大を予約する。さらに、帯域幅管理部102は、共有ボリュームのうち非保証ボリュームの帯域幅の縮小を予約する。そして、帯域幅管理部102は、保証レスポンスタイムと実測レスポンスタイムの差分を保証レスポンスタイムから減算した結果を暫定目標レスポンスタイムとして、第2選択した保証ボリュームに設定する。
これに対して、暫定目標レスポンスタイムが実測レスポンスタイムより長い場合、帯域幅管理部102は、第2選択した保証ボリュームの帯域幅の縮小を予約する。さらに、帯域幅管理部102は、共有ボリュームのうち非保証ボリュームの帯域幅の拡大を予約する。そして、帯域幅管理部102は、保証レスポンスタイムと実測レスポンスタイムの差分を保証レスポンスタイムに加算した結果を暫定目標レスポンスタイムとして、第2選択した保証ボリュームに設定する。
帯域幅管理部102は、共有ボリュームからの保証ボリュームの第2選択及びその後の帯域幅の調整の予約及び暫定目標レスポンスタイムの設定を共有ボリュームに含まれる全ての保証ボリュームについて実行する。
さらに、帯域幅管理部102は、保証ボリューム全てについて、第1選択、並びに、その後の共有ボリュームの特定、第2選択、帯域幅の調整の予約及び暫定目標レスポンスタイムの設定を実行する。
そして、帯域幅管理部102は、各ボリューム232に対して行った調整の予約から各ボリューム232の帯域幅の調整を確定する。例えば、帯域幅管理部102は、初期値を0として、拡大の予約の場合1を加算し、縮小の予約の場合1を減算することで、各ボリューム232の調整の合計を求める。そして、帯域幅管理部102は、合計結果が正の値の場合、そのボリューム232の帯域幅の拡大を確定する。一方、合計結果が負の値の場合、帯域幅管理部102は、そのボリューム232の帯域幅の縮小を確定する。
その後、帯域幅管理部102は、確定した各ボリューム232の帯域幅の調整を帯域幅制御部252に通知する。具体的には、帯域幅管理部102は、各ボリューム232の帯域幅を増加又は縮小させる設定コマンドをストレージ装置2に対して送信する。
保証値設定部101、帯域幅管理部102及び監視部103の機能は、例えば、図2のCPU13及びメモリ12で実現される。例えば、HDD14に、保証値設定部101、帯域幅管理部102及び監視部103の機能を実現するための各種プログラムが格納される。そして、CPU13は、HDD14から各種プログラムを読み出し、保証値設定部101、帯域幅管理部102及び監視部103の機能を実現するプロセスをメモリ12上に展開して実行する。
処理実行部253は、業務サーバ4で実行されるアプリケーションからのボリューム232に対するデータの読み書きの要求を受ける。そして、処理実行部253は、要求に応じてボリューム232に対してデータの読み書きを行う。
性能情報取得部251は、性能収集開始の指示を監視部103から受ける。そして、性能情報取得部251は、各ボリューム232の性能情報を定期的に取得し、監視部103へ送信する。また、性能情報取得部251は、各リソースの性能情報を定期的に取得し、監視部103へ送信する。ここで、図3では、リソースの性能情報取得の一例として、性能情報取得部251によるRAIDグループ231及びFCスイッチ51からの性能情報の取得を記載している。
帯域幅制御部252は、帯域幅を拡大又は縮小する設定コマンドを帯域幅管理部102から受信する。そして、帯域幅制御部252は、各設定コマンドで指定されたボリューム232の帯域幅を、設定コマンドの指定に合わせて拡大又は縮小する。
次に、図7を参照して、本実施例に係るストレージシステムにおける帯域幅制御の流れについて説明する。図7は、実施例1に係るストレージシステムにおける帯域幅制御のフローチャートである。図7の左端のフローは、操作端末3の処理を表している。また、中央のフローは、運用管理サーバ1の処理を表している。また、右端のフローは、ストレージ装置2の処理を表している。さらに、各フローを結ぶ矢印は、矢印の方向に命令やデータが送られることを示している。
操作端末3は、操作者からの指示を受けて、性能収集を運用管理サーバ1の監視部103へ指示する(ステップS11)。
さらに、操作端末3は、操作者からの指示を受けて、運用管理サーバ1の保証値設定部101に保証レスポンスタイムを通知する(ステップS12)。
その後、操作端末3は、運用管理サーバ1の帯域幅管理部102から実測レスポンスタイムを受信する。そして、操作端末3は、モニタに表示するなどして、保証レスポンスタイム及び実測レスポンスタイムを操作者に通知する(ステップS13)。操作者は、通知により保証レスポンスタイム及び実測レスポンスタイムのずれを確認する。
その後、操作端末3は、帯域幅調整処理を停止するか否かを判定する(ステップS14)。例えば、操作端末3は、操作者からの帯域幅調整処理を停止の指示の入力を受けた場合に、帯域幅調整処理を停止すると判定する。
帯域幅調整処理を停止しないと判定した場合(ステップS14:否定)、操作端末3は、ステップS13へ戻る。これに対して、帯域幅調整処理を停止すると判定した場合(ステップS14:肯定)、操作端末3は、帯域幅の調整を終了する。
次に、運用管理サーバ1の処理について説明する。監視部103は、性能測定開始の指示を操作端末3から受信する。そして、監視部103は、性能測定開始をストレージ装置2の性能情報取得部251に指示する(ステップS21)。
保証値設定部101は、保証レスポンスタイムを操作端末3から取得する(ステップS22)。
そして、保証値設定部101は、取得した各保証ボリュームの保証レスポンスタイムをQoS設定テーブル141に書き込む(ステップS23)。
監視部103は、ボリューム232及びリソースの性能情報を取得する(ステップS24)。そして、監視部103は、ボリューム232の性能情報をボリューム性能情報ファイル143に登録し、リソースの性能情報をリソース性能情報ファイル144に登録する。
帯域幅管理部102は、ボリューム232及びリソースの性能情報をボリューム性能情報ファイル143及びリソース性能情報ファイル144から読み出す(ステップS25)。
帯域幅管理部102は、保証レスポンスタイムをQoS設定テーブル141から読み出す(ステップS26)。さらに、帯域幅管理部102は、実測レスポンスタイムをボリューム性能情報ファイル143から取得する。そして、帯域幅管理部102は、保証レスポンスタイム及び実測レスポンスタイムを操作端末3へ送信する。
また、帯域幅管理部102は、帯域幅調整処理を実行する(ステップS27)。帯域幅調整処理の詳細については次に説明する。
帯域幅管理部102は、帯域幅調整処理を停止するか否かを判定する(ステップS28)。例えば、帯域幅管理部102は、操作者からの帯域幅調整処理を停止の指示を操作端末3から受けた場合、帯域幅調整処理を停止すると判定する。
帯域幅調整処理を停止しないと判定した場合(ステップS28:否定)、帯域幅管理部102は、ステップS24へ戻る。これに対して、帯域幅調整処理を停止すると判定した場合(ステップS28:肯定)、帯域幅管理部102は、帯域幅の調整を終了する。
次に、ストレージ装置2の処理について説明する。性能情報取得部251は、性能測定開始の指示を運用管理サーバ1の監視部103から受信する。そして、性能情報取得部251は、各ボリューム232の性能情報及び各リソースの性能の測定を開始する(ステップS31)。
その後、性能情報取得部251は、取得した各ボリューム232の性能情報及び各リソースの性能情報を運用管理サーバ1の帯域幅管理部102に送信する(ステップS32)。
その後、帯域幅制御部252は、運用管理サーバ1の帯域幅管理部102から設定コマンドを受けて、指定されたボリューム232の帯域幅を拡大又は縮小し、指定された帯域幅に調整する(ステップS33)。
帯域幅制御部252は、帯域幅調整処理を停止するか否かを判定する(ステップS34)。例えば、帯域幅制御部252は、操作者からの帯域幅調整処理を停止の指示を運用管理サーバ1から受けた場合、帯域幅調整処理を停止すると判定する。
帯域幅調整処理を停止しないと判定した場合(ステップS34:否定)、帯域幅制御部252は、ステップS32へ戻る。これに対して、帯域幅調整処理を停止すると判定した場合(ステップS34:肯定)、帯域幅制御部252は、帯域幅の調整を終了する。
次に、図8を参照して、本実施例に係る運用管理サーバ1によるボリューム232の帯域幅の調整の処理について説明する。図8は、実施例1に係る運用管理サーバによるボリュームの帯域幅の調整の処理のフローチャートである。図8のフローチャートは、図7のステップS27で運用管理サーバ1が実施する処理の詳細を表す。
帯域幅管理部102は、保証ボリュームについての性能情報をボリューム性能情報ファイル143から取得する(ステップS101)。
帯域幅管理部102は、保証ボリュームから1つを選択(第1選択)する(ステップS102)。
帯域幅管理部102は、選択した保証ボリュームが使用するリソースの中でBusy率が最も高いリソースを選択する(ステップS103)。
次に、帯域幅管理部102は、選択したリソースを共有する共有ボリュームを特定する。さらに、帯域幅管理部102は、共有ボリュームから保証ボリュームを1つ選択(第2選択)する(ステップS104)。
帯域幅管理部102は、選択した保証ボリュームに設定されている暫定目標レスポンスタイムが実測レスポンスタイムより短いか否かを判定する(ステップS105)。暫定目標レスポンスタイムが実測レスポンスタイムより短い場合(ステップS105:肯定)、帯域幅管理部102は、第2選択した保証ボリュームの帯域幅の拡大を予約する(ステップS106)。
さらに、帯域幅管理部102は、共有ボリュームにおける非保証ボリュームの帯域幅の縮小を予約する(ステップS107)。
次に、帯域幅管理部102は、第2選択した保証ボリュームの保証レスポンスタイムと実測レスポンスタイムとの差分を保証レスポンスタイムから減算した結果を、暫定目標レスポンスタイムとして第2選択した保証ボリュームに設定する(ステップS108)。
これに対して、暫定目標レスポンスタイムが実測レスポンスタイム以上の場合(ステップS105:否定)、帯域幅管理部102は、暫定目標レスポンスタイムが実測レスポンスタイムより長いか否かを判定する(ステップS109)。暫定目標レスポンスタイムが実測レスポンスタイムと等しい場合(ステップS109:否定)、帯域幅管理部102は、ステップS113へ進む。
これに対して、暫定目標レスポンスタイムが実測レスポンスタイムより長い場合(ステップS109:肯定)、帯域幅管理部102は、第2選択した保証ボリュームの帯域幅の縮小を予約する(ステップS110)。
さらに、帯域幅管理部102は、共有ボリュームにおける非保証ボリュームの帯域幅の拡大を予約する(ステップS111)。
次に、帯域幅管理部102は、第2選択した保証ボリュームの保証レスポンスタイムと実測レスポンスタイムとの差分を保証レスポンスタイムに加算した結果を、暫定目標レスポンスタイムとして第2選択した保証ボリュームに設定する(ステップS112)。
帯域幅管理部102は、共有ボリュームに含まれる全ての保証ボリュームの判定が終了したか否かを判定する(ステップS113)。すなわち、帯域幅管理部102は、第2選択を共有ボリュームに含まれる全ての保証ボリュームについて行ったかを判定する。判定が終わっていない保証ボリュームがある場合(ステップS113:否定)、帯域幅管理部102は、ステップS104へ戻る。
これに対して、共有ボリュームに含まれる全ての保証ボリュームの判定が終了した場合(ステップS113:肯定)、帯域幅管理部102は、全ての保証ボリュームについての判定が終了したかを判定する(ステップS114)。すなわち、帯域幅管理部102は、第1選択を全ての保証ボリュームについて帯域幅調整の判定を行ったかを判定する。判定が終了していない保証ボリュームがある場合(ステップS114:否定)、帯域幅管理部102は、ステップS102へ戻る。
一方、全ての保証ボリュームについての判定が終了した場合(ステップS114:肯定)、帯域幅管理部102は、各ボリューム232に対する拡大及び縮小の予約から、各ボリューム232の帯域幅の拡大又は縮小を確定する。そして、帯域幅管理部102は、確定した各ボリューム232の帯域幅の拡大又は縮小を指示する設定コマンドを生成する(ステップS115)。
その後、帯域幅管理部102は、生成した設定コマンドを帯域幅制御部252へ送信する(ステップS116)。
以上に説明したように、本実施例に係るストレージ管理装置は、保証性能を設定し、その保証性能との差分を埋めるための暫定目標レスポンスタイムを逐一算出して、暫定目標レスポンスタイムに近づくように帯域幅を調整する。これにより、本実施例に係るストレージ管理装置は、保証ボリュームの帯域幅の平均を保証値に近接させることができる。これにより、瞬間の実測値が保証レスポンスタイムと異なっていても、調整幅を徐々に小さくすることができ、帯域幅の調整を行いつつシステムを安定運用させることができる。
また、本実施例では、帯域幅管理部102は、保証値からの実測値の逸脱分を基にして暫定目標レスポンスタイムを算出しているが、算出方法はこれに限らない。例えば、帯域幅の調整時間を決定し、逸脱分を残り時間で割った平均値を基に、暫定目標レスポンスタイムを算出してもよい。
(変形例)
さらに、以上に説明した本実施例では、保証レスポンスタイムと実測レスポンスタイムとの差を埋める暫定目標レスポンスタイムを都度求め、暫定目標レスポンスタイムに一致するように帯域幅の調整を行った。すなわち、実測レスポンスタイムの平均が保証レスポンスタイムを満たすように帯域幅を調整した。これに対して、変形例では、実測レスポンスタイムが保証レスポンスタイムを超える割合が一定以下になるように保証する。すなわち、変形例に係る運用管理サーバは、暫定目標レスポンスタイムの算出方法が実施例1と異なる。本実施例では、実測レスポンスタイムが保証レスポンスタイムを超える割合を10%とする場合で説明する。
記憶部104は、少なくとも直近10回分の各ボリューム232の実測レスポンスタイムをボリューム性能情報ファイル143に保持しておく。
帯域幅管理部102は、直近10回分の実測レスポンスタイムをボリューム性能情報ファイル143から取得する。そして、帯域幅管理部102は、取得した直近10回分の実測レスポンスタイムを用いて、図9に示す正規分布曲線301を求める。ここで、図9は、実施例1の変形例に係る運用管理サーバによる暫定目標レスポンスタイムの算出方法を説明するための図である。σは、正規分布曲線301における標準偏差を表している。また、xは、正規分布曲線301における平均を表している。すなわち、xは、平均レスポンスタイムである。
また、図9における、wは保証値である。さらに、正規分布曲線302は、調整の目標とする正規分布曲線である。そして、aσ’は、正規分布曲線302の標準偏差を表している。aは係数である。また、x’は、正規分布曲線302の平均を表している。すなわち、図9の斜線が引かれた領域が正規分布曲線302の10%になれば、実測レスポンスタイムが保証レスポンスタイムを超える割合が10%となる。
そして、暫定目標レスポンスタイムをx’とすると、x’+aσ’=wと表される。さらに、x,x’,σ,σ’にx:x’=σ:σ’という比例関係があると仮定できる。ここで、帯域幅の変更を段階的に行うこと、直近の性能情報のみを用いていること、及び、計算の単純化からx,x’,σ,σ’が比例すると仮定している。ただし、正規分布式を用いてx,x’,σ,σ’の関係式を厳密に算出してもよい。
そして、x’+aσ’=wとx:x’=σ:σ’とから、暫定目標レスポンスタイムx’は、x’=w×{x/(aσ+x)}として求まる。
また、σ’は、σ’=(wσ/x)×{x/(aσ+x)}として求まる。
そこで、帯域幅管理部102は、以下の方法で暫定目標レスポンスタイムx’を求める。まず、帯域幅管理部102は、逸脱率が10%以下となる係数aを標準正規分布表を用いて求める。次に、帯域幅管理部102は、上述した式に求めた係数aを用いて、暫定目標レスポンスタイムx’を算出する。
そして、帯域幅管理部102は、算出した暫定目標レスポンスタイムを用いて、実施例1と同様に各保証ボリューム及び非保証ボリュームの帯域幅の拡大及び縮小を決定する。
ここで、暫定目標レスポンスタイムの具体的な算出例について説明する。ここでは、保証値wが7で、逸脱率が10%となるような暫定目標レスポンスタイムを求める場合で説明する。
帯域幅管理部102は、直近10回分の実測レスポンスタイムのデータとして、図10に示す各値を取得する。図10は、直近10回分の実測レスポンスタイムの一例を示す図である。そして、帯域幅管理部102は、この場合の平均xを9.2と算出する。また、帯域幅管理部102は、この場合の標準偏差σを1.6と算出する。さらに、帯域幅管理部102は、標準正規分布表を用いて、逸脱率が10%以下となるときの係数aを1.3と決定する。
そして、帯域幅管理部102は、x’=w×{x/(aσ+x)}に各値を代入して、暫定目標レスポンスタイムx’を5.7と求める。また、帯域幅管理部102は、σ’=(wσ/x)×{x/(aσ+x)}に各値を代入して、標準偏差σ’を0.99と求める。
ここで、帯域幅調整実行時と比べて古いデータは負荷が異なっていることが考えられ、また、データが少ないと正確な正規分布曲線が得られない。そこで、本変形例では、データの正確性と正規分布曲線の精度のバランスを考えて、本実施例では、直近10回のデータを利用した。ただし、使用するデータの数はこれに限らず、例えば、負荷の変化が少ない場合には、さらに多くのデータを用いて正規分布曲線の精度を向上させてもよい。
以上に説明したように、本変形例に係る運用管理サーバは、実測レスポンスタイムが保証レスポンスタイムを超える割合を所定の割合に抑えることができる。これにより、実測性能が保証値を超える割合を抑えることができ、帯域幅の調整を行いつつシステムを安定運用させることができる。
さらに、実施例1の暫定目標レスポンスタイムの計算方法と変形例の暫定目標レスポンスタイムの計算方法とを操作者が選択できるように構成することもできる。例えば、以下のような機能を備えることで、この構成を実現できる。
操作端末3は、図11のような保証タイプ選択画面を表示装置に表示させる。図11は、保証タイプ選択画面の一例の図である。そして、操作者は、マウスなどの入力装置を用いて、保証タイプ選択画面の中から、平均性能の保証又は目標性能からの逸脱率の保証のいずれの保証タイプを用いるかを、保証ボリューム毎に選択する。操作端末3は、入力された保証タイプの情報を帯域幅管理部102に通知する。
そして、帯域幅管理部102は、平均性能の保証の保証タイプが選択された保証ボリュームに対しては実施例1の帯域幅調整を行い、目標性能からの逸脱率の保証の保証タイプが選択された保証ボリュームに対しては実施例1の変形例の帯域幅調整を行う。
このように、帯域幅調整の方法として実施例1又は変形例のいずれかを選べるようにすることで、より運用環境に適した帯域幅の調整を行うことができる。
次に、実施例2について説明する。本実施例に係る運用管理サーバは、非保証ボリュームの中に目標値が設定されたボリューム232を有し、保証ボリュームの性能保証を優先させた上で、非保証ボリュームの中の目標値が設定されたボリューム232の性能を目標値に近づけることが実施例1と異なる。本実施例に係る運用管理サーバも、図3のブロック図で表される。以下の説明では、実施例1で説明した各部の機能と同じ機能については説明を省略する。また、以下の説明では、実施例1の非保証ボリュームとの混乱を避けるため、非保証ボリュームを「犠牲ボリューム」という。そして、犠牲ボリューム中の目標値が設定されたボリューム232を「目標値設定ボリューム」といい、目標値が設定されていないボリューム232を「非目標値設定ボリューム」という。
操作端末3は、操作者から帯域幅の調整の対象とするボリューム232の指定を受けると、図12に示すようなボリューム種別設定画面をモニタなどの表示装置に表示させる。図12は、ボリューム種別設定画面の一例の図である。そして、操作者は、マウスなどの入力装置を用いて、そのボリューム232を保証ボリュームにするか犠牲ボリュームにするかといったボリュームの種別を選択する。例えば、ボリュームの種別は、保証ボリュームがデフォルトで選択されている。さらに、操作者は、キーボードなどの入力装置を用いて目標性能を入力する。より詳細には、操作者は、保証ボリュームには保証レスポンスタイムを入力し、犠牲ボリュームには目標値を入力する。操作端末3は、操作者から入力されたボリュームの種別及び目標性能を保証値設定部101へ送信する。
保証値設定部101は、ボリュームの種別及び目標性能を操作端末3から受信する。そして、保証値設定部101は、受信したボリュームの種別及び目標性能をQoS設定テーブル141に登録する。図13は、実施例2に係るQoS設定テーブルの一例の図である。本実施例に係るQoS設定テーブル141は、ボリュームの種別を表す項目を有する。保証値設定部101は、目標値を設定された犠牲ボリュームの場合、QoS設定テーブル141の種別の欄に犠牲と登録する。そして、保証値設定部101は、目標/保証性能の欄に、目標値を登録する。これに対して、保証ボリュームの場合、保証値設定部101は、QoS設定テーブル141の種別の欄に保証と登録する。そして、保証値設定部101は、目標/保障性能の欄に、保証値を登録する。
次に、帯域幅管理部102について説明するが、ここでは、第2選択以降の動作について説明する。帯域幅管理部102は、共有ボリュームの中から、保証ボリューム又は目標値設定ボリュームを第2選択する。帯域幅管理部102は、第2選択したボリューム232が犠牲ボリュームの場合、そのボリューム232に対して犠牲フラグをOFFに設定する。ここで、犠牲フラグとは、ONの場合には、例え目標値が設定されていても帯域幅の縮小を優先するボリューム232であることを表すフラグである。
次に、帯域幅管理部102は、第2選択したボリューム232の実測レスポンスタイムをボリューム性能情報ファイル143から取得する。
次に、第2選択したボリューム232が保証ボリュームの場合、第2選択した保証ボリュームの保証レスポンスタイムをQoS設定テーブル141から取得する。そして、帯域幅管理部102は、第2選択した保証ボリュームの暫定目標レスポンスタイムを取得する。
次に、帯域幅管理部102は、第2選択した保証ボリュームの実測レスポンスタイムと暫定目標レスポンスタイムとを比較する。
暫定目標レスポンスタイムが実測レスポンスタイムより短い場合、帯域幅管理部102は、第2選択した保証ボリュームの帯域幅の拡大を予約する。さらに、帯域幅管理部102は、共有ボリュームの中の非目標値設定ボリュームの帯域幅の縮小を予約する。次に、帯域幅管理部102は、共有ボリュームの中の目標値設定ボリュームの犠牲フラグをONにする。次に、帯域幅管理部102は、共有ボリュームの中の目標値設定ボリュームの帯域幅の縮小を予約する。そして、帯域幅管理部102は、保証レスポンスタイムと実測レスポンスタイムの差分を保証レスポンスタイムから減算した結果を暫定目標レスポンスタイムとして、第2選択した保証ボリュームに設定する。
これに対して、暫定目標レスポンスタイムが実測レスポンスタイムより長い場合、帯域幅管理部102は、第2選択した保証ボリュームの帯域幅の縮小を予約する。さらに、帯域幅管理部102は、共有ボリュームの中の非目標値設定ボリュームの帯域幅の拡大を予約する。そして、帯域幅管理部102は、保証レスポンスタイムと実測レスポンスタイムの差分を保証レスポンスタイムに加算した結果を暫定目標レスポンスタイムとして、第2選択した保証ボリュームに設定する。
一方、第2選択したボリューム232が目標値設定ボリュームの場合、第2選択した目標値設定ボリュームの目標レスポンスタイムをQoS設定テーブル141から取得する。そして、帯域幅管理部102は、第2選択した目標値設定ボリュームの実測レスポンスタイムと目標レスポンスタイムとを比較する。
目標レスポンスタイムが実測レスポンスタイムより短い場合、帯域幅管理部102は、第2選択した目標値設定ボリュームの犠牲フラグを確認する。犠牲フラグがONの場合、帯域幅管理部102は、第2選択した目標値設定ボリュームの帯域幅の拡大を行わない。これに対して、犠牲フラグがOFFの場合、帯域幅管理部102は、第2選択した目標値設定ボリュームの帯域幅の拡大を予約する。さらに、帯域幅管理部102は、共有ボリュームの中の非目標値設定ボリュームの帯域幅の縮小を予約する。
保証ボリュームの帯域幅の拡大と目標値設定ボリュームの帯域幅の拡大とでは、保証ボリュームの拡大を優先する。すなわち、保証ボリュームの帯域幅の予約した上で、なおかつ非目標値設定ボリュームへの帯域幅の割り当てが残っている場合に、帯域幅管理部102は、目標値設定ボリュームの帯域幅の拡大を予約する。もし、日目標値設定ボリュームへの帯域幅の割り当てが残っていなければ、帯域幅管理部102は、目標値設定ボリュームの帯域幅の拡大は行わない。
これに対して、目標レスポンスタイムが実測レスポンスタイムより長い場合、帯域幅管理部102は、第2選択した目標値設定ボリュームの帯域幅の縮小を予約する。さらに、帯域幅管理部102は、第2選択した目標値設定ボリュームの犠牲フラグを確認する。犠牲フラグがOFFであれば、帯域幅管理部102は、共有ボリュームの中の非目標値設定ボリュームの帯域幅の拡大を予約する。この目標値設定ボリュームが、「他の記憶領域」の一例にあたる。
帯域幅管理部102は、共有ボリュームからの保証ボリューム及び目標値設定ボリュームの第2選択及びその後の帯域幅の調整の予約及び暫定目標レスポンスタイムの設定を共有ボリュームに含まれる全ての保証ボリューム及び目標値設定ボリュームについて実行する。
次に、図14を参照して、本実施例に係る運用管理サーバ1によるボリューム232の帯域幅の調整の処理について説明する。図14は、実施例2に係る運用管理サーバによるボリュームの帯域幅の調整の処理のフローチャートである。
帯域幅管理部102は、保証ボリューム及び目標値設定ボリュームについての性能情報をボリューム性能情報ファイル143から取得する(ステップS201)。
帯域幅管理部102は、保証ボリューム及び目標値設定ボリュームから1つを選択(第1選択)する(ステップS202)。
帯域幅管理部102は、選択したボリューム232が使用するリソースの中でBusyが最も高いリソースを選択する(ステップS203)。
さらに、帯域幅管理部102は、目標値設定ボリュームの犠牲フラグをOFFにする(ステップS204)。
次に、帯域幅管理部102は、選択したリソースを共有する共有ボリュームを特定する。さらに、帯域幅管理部102は、共有ボリュームから保証ボリューム又は目標値設定ボリュームを1つ選択(第2選択)する(ステップS205)。
そして、帯域幅管理部102は、第2選択したボリューム232に対する帯域幅調整の予約の決定処理を行う(ステップS206)。この帯域幅調整の予約の決定処理については次に詳細に説明する。
帯域幅管理部102は、共有ボリュームに含まれる全ての保証ボリューム及び目標値設定ボリュームの判定が終了したか否かを判定する(ステップS207)。判定が終わっていない保証ボリューム又は目標値設定ボリュームがある場合(ステップS207:否定)、帯域幅管理部102は、ステップS205へ戻る。
これに対して、共有ボリュームに含まれる全ての保証ボリューム及び目標値設定ボリュームの判定が終了した場合(ステップS207:肯定)、帯域幅管理部102は、全ての保証ボリューム及び目標値設定ボリュームについての選択(第1選択)が終了したかを判定する(ステップS208)。第1選択されていない保証ボリューム又は目標値設定ボリュームがある場合(ステップS208:否定)、帯域幅管理部102は、ステップS202へ戻る。
一方、全ての保証ボリューム及び目標値設定ボリュームについての選択が終了した場合(ステップS208:肯定)、帯域幅管理部102は、各ボリューム232に対する拡大及び縮小の予約から、各ボリューム232の帯域幅の拡大又は縮小を確定する。そして、帯域幅管理部102は、確定した各ボリューム232の帯域幅の拡大又は縮小を指示する設定コマンドを生成する(ステップS209)。
その後、帯域幅管理部102は、生成した設定コマンドを帯域幅制御部252へ送信する(ステップS210)。
次に、図15を参照して、本実施例における帯域幅調整の予約の決定処理の流れについて説明する。図15は、実施例2における帯域幅調整の予約の決定処理のフローチャートである。図15のフローは、図14のフローチャートにおけるステップS206で実行される処理の一例にあたる。
帯域幅管理部102は、選択したボリューム232が保証ボリュームか否かを判定する(ステップS211)。
選択したボリューム232が保証ボリュームの場合(ステップS211:肯定)、帯域幅管理部102は、選択した保証ボリュームに設定されている暫定目標レスポンスタイムが実測レスポンスタイムより短いか否かを判定する(ステップS212)。暫定目標レスポンスタイムが実測レスポンスタイムより短い場合(ステップS212:肯定)、帯域幅管理部102は、第2選択した保証ボリュームの帯域幅の拡大を予約する(ステップS213)。
さらに、帯域幅管理部102は、共有ボリュームにおける非目標値設定ボリュームの帯域幅の縮小を予約する(ステップS214)。
次に、帯域幅管理部102は、共有ボリュームにおける目標値設定ボリュームの犠牲フラグをONにする(ステップS215)。そして、帯域幅管理部102は、共有ボリュームにおける目標値設定ボリュームの帯域幅の縮小を予約する(ステップS216)。
次に、帯域幅管理部102は、第2選択した保証ボリュームの保証レスポンスタイムと実測レスポンスタイムとの差分を保証レスポンスタイムから減算した結果を、暫定目標レスポンスタイムとして第2選択した保証ボリュームに設定する(ステップS217)。
これに対して、暫定目標レスポンスタイムが実測レスポンスタイム以上の場合(ステップS212:否定)、帯域幅管理部102は、暫定目標レスポンスタイムが実測レスポンスタイムより長いか否かを判定する(ステップS218)。暫定目標レスポンスタイムが実測レスポンスタイムに等しい場合(ステップS218:否定)、帯域幅管理部102は、帯域幅調整の予約の決定処理を終了する。
これに対して、暫定目標レスポンスタイムが実測レスポンスタイムより長い場合(ステップS218:肯定)、帯域幅管理部102は、第2選択した保証ボリュームの帯域幅の縮小を予約する(ステップS219)。
さらに、帯域幅管理部102は、共有ボリュームにおける非目標値設定ボリュームの帯域幅の拡大を予約する(ステップS220)。
次に、帯域幅管理部102は、第2選択した保証ボリュームの保証レスポンスタイムと実測レスポンスタイムとの差分を保証レスポンスタイムに加算した結果を、暫定目標レスポンスタイムとして第2選択した保証ボリュームに設定する(ステップS221)。
一方、選択したボリューム232が目標値設定ボリュームの場合(ステップS211:否定)、帯域幅管理部102は、選択した目標値設定ボリュームに設定されている目標レスポンスタイムが実測レスポンスタイムより短いか否かを判定する(ステップS222)。
目標レスポンスタイムが実測レスポンスタイムより短い場合(ステップS222:肯定)、帯域幅管理部102は、第2選択した目標値設定ボリュームの犠牲フラグがOFFか否かを判定する(ステップS223)。犠牲フラグがOFFの場合(ステップS223:肯定)、帯域幅管理部102は、第2選択した目標値設定ボリュームの帯域幅の拡大を予約する(ステップS224)。これに対して、犠牲グラフがONの場合(ステップS223:否定)、帯域幅管理部102は、ステップS225へ進む。
そして、帯域幅管理部102は、共有ボリュームにおける非目標値設定ボリュームの帯域幅の縮小を予約する(ステップS225)。
一方、目標レスポンスタイムが実測レスポンスタイム以上の場合(ステップS222:否定)、帯域幅管理部102は、目標レスポンスタイムが実測レスポンスタイムより長いか否かを判定する(ステップS226)。目標レスポンスタイムが実測レスポンスタイムに等しい場合(ステップS226:否定)、帯域幅管理部102は、帯域幅調整の予約の決定処理を終了する。
これに対して、目標レスポンスタイムが実測レスポンスタイムより長い場合(ステップS226:肯定)、帯域幅管理部102は、第2選択した目標値設定ボリュームの帯域幅の縮小を予約する(ステップS227)。
さらに、帯域幅管理部102は、目標値設定ボリュームの犠牲フラグがOFFか否かを判定する(ステップS228)。犠牲フラグがONの場合(ステップS228:否定)、帯域幅管理部102は、帯域幅調整の予約の決定処理を終了する。
これに対して、犠牲フラグがOFFの場合(ステップS228:肯定)、帯域幅管理部102は、共有ボリュームにおける非目標値設定ボリュームの帯域幅の拡大を予約する(ステップS229)。
以上に説明したように、本実施例に係るストレージ管理装置は、非保証ボリュームの中に目標値を設定した目標値設定ボリュームを設ける。そして、本実施例に係るストレージ管理装置は、保証ボリュームの帯域幅の確保を優先し、保証ボリュームの帯域幅が確保されている場合に目標値設定ボリュームの帯域幅を拡張する。これにより、少なくとも保証ボリュームで保証されている性能を達成することができ、さらに、性能に余剰が有る場合に、目標値設定ボリュームの性能を確保することができる。したがって、保証ボリュームの性能保証をより確実に実現することができる。
次に、実施例3について説明する。本実施例に係る運用管理サーバは、各ボリュームのIOPSやスループットを保証することが実施例1と異なる。本実施例に係る運用管理サーバも、図3のブロック図で表される。以下の説明では、実施例1で説明した各部の機能と同じ機能については説明を省略する。
本実施例では、IOPSやスループットが保証された保証ボリュームの場合、他のボリューム232の帯域幅を縮小して、保証ボリュームにおいて最大帯域使用状態となるようにディスクBusy率を調整する。ここで、ディスクのBusy率とは、例えば、保証ボリュームを構成するディスク203に対する一定時間内の読み書き時間の合計を一定時間で割ったものである。最大帯域使用状態となるBusy率は、その値よりBusy率が下がると他のボリューム232による性能の影響がほとんどなくなる値であり、保証ボリュームが最大性能を発揮する値である。例えば、Busy率と性能との関係を実測し、その結果から性能が飽和する手前のBusy率を最大使用状態となるBusy率とすることができる。実際には、Busy率は、運用環境に合わせて決定されることが好ましい。以下では、IOPSを保証する場合は、最大使用状態となるBusy率を60%とし、スループットを保証する場合は、最大使用状態となるBusy率を80%としている。以下では、ディスクのBusy率を単に「Busy率」として説明する。
操作者は、操作端末3を用いて、性能を保証する保証ボリュームを指定する。さらに、操作者は、保証ボリューム毎に、IOPS、スループット又はレスポンスタイムのいずれを保証するかを表す性能保証の種類の情報を入力するとともにその保証値を入力する。操作端末3は、保証ボリュームの情報、各保証ボリュームの性能保証の種類の情報及び保証値を保証値設定部101へ送信する。
保証値設定部101は、保証ボリュームの情報、各保証ボリュームの性能保証の種類の情報及び保証値を操作端末3から受信する。そして、保証値設定部101は、受信した保証ボリュームの情報、各保証ボリュームの性能保証の種類の情報及び保証値をQoS設定テーブル141へ登録する。例えば、保証値設定部101は、図4に示すQoS設定テーブル141の種別の欄に、ボリューム232の種別とともに性能保証の種類の情報を登録する。
帯域幅管理部102は、各保証ボリュームの性能保証の種類及び各保証ボリュームに設定された保証IOPS、保証スループット又は保証レスポンスタイムをQoS設定テーブル141から取得する。さらに、帯域幅管理部102は、各保証ボリュームの実測レスポンスタイム、実測IOPS及び実測スループットをボリューム性能情報ファイル143から取得する。
そして、帯域幅管理部102は、第1選択及び第2選択を行う。第2選択した保証ボリュームの性能保証の種類がレスポンスタイムの場合、帯域幅管理部102は、実施例1と同様に、暫定目標レスポンスタイムを用いて保証ボリュームの帯域幅の拡大又は縮小を予約し、さらに暫定目標レスポンスタイムを再設定する。
一方、第2選択した保証ボリュームの性能保証の種類がIOPSの場合、帯域幅管理部102は、保証IOPSと実測IOPSとを比較する。保証IOPSが実測IOPS以下の場合、帯域幅管理部102は、性能が保証できていると判定し、第2選択した保証ボリュームの帯域調整を行わない。
これに対して、保証IOPSが実測IOPSより大きい場合、帯域幅管理部102は、第2選択した保証ボリュームのBusy率が60%以上であるか否かを判定する。そして、Busy率が60%以上の場合、帯域幅管理部102は、非保証ボリュームの帯域幅の縮小を予約する。ただし、帯域幅が縮小可能な非保証ボリュームが存在しない場合、帯域幅管理部102は、警告メッセージを操作端末3に送信する。
これに対して、Busy率が60%未満の場合、帯域幅管理部102は、性能保証が困難であると判定し、警告メッセージを操作端末3に送信する。
また、第2選択した保証ボリュームの性能保証の種類がスループットの場合、帯域幅管理部102は、保証スループットと実測スループットとを比較する。保証スループットが実測スループット以下の場合、帯域幅管理部102は、性能が保証できていると判定し、第2選択した保証ボリュームの帯域調整を行わない。
これに対して、保証スループットが実測スループットより大きい場合、帯域幅管理部102は、第2選択した保証ボリュームのBusy率が80%以上であるか否かを判定する。Busy率が80%以上の場合、帯域幅管理部102は、非保証ボリュームの帯域幅の縮小を予約する。ただし、帯域幅が縮小可能な非保証ボリュームが存在しない場合、帯域幅管理部102は、警告メッセージを操作端末3に送信する。
これに対して、Busy率が80%未満の場合、帯域幅管理部102は、性能保証が困難であると判定し、警告メッセージを操作端末3に送信する。
このように、帯域幅管理部102は、最も高いBusy率を有する保証ボリュームであっても、そのBusy率がIOPSを判定基準とした場合60%以下とし、スループットを判定基準とした場合805以下となるように制御する。すなわち、判定基準によって閾値の値が異なるが、帯域幅管理部102は、最も高いBusy率を有する保証ボリュームのBusy率が閾値以下となるようにBusy率を調整する。
次に、図16を参照して、IOPSを保証する場合の帯域幅調整の予約の決定処理の流れについて説明する。図16は、IOPSを保証する場合の帯域幅調整の予約の決定処理のフローチャートである。
帯域幅管理部102は、実測IOPSが保証IOPS以上か否かを判定する(ステップS301)。実測IOPSが保証IOPS未満の場合(ステップS301:否定)、帯域幅管理部102は、帯域幅調整の予約の決定処理を終了する。
これに対して、実測IOPSが保証IOPS以上の場合(ステップS301:肯定)、帯域幅管理部102は、Busy率が60%以上か否かを判定する(ステップS302)。
Busy率が60%以上の場合(ステップS302:肯定)、帯域幅管理部102は、共有ボリュームにおける非保証ボリュームの帯域幅の縮小が可能か否かを判定する(ステップS303)。
帯域幅の縮小が可能な場合(ステップS303:肯定)、帯域幅管理部102は、共有ボリュームにおける非保証ボリュームの帯域幅の縮小を予約する(ステップS304)。
一方、ステップS302でBusy率が60%未満の場合(ステップS302:否定)及びステップS303で帯域幅の縮小が困難な場合(ステップS303:否定)、帯域幅管理部102は、警告メッセージを操作端末3へ送信する(ステップS305)。
次に、図17を参照して、スループットを保証する場合の帯域幅調整の予約の決定処理の流れについて説明する。図17は、スループットを保証する場合の帯域幅調整の予約の決定処理のフローチャートである。
帯域幅管理部102は、実測スループットが保証スループット以上か否かを判定する(ステップS311)。実測スループットが保証スループット未満の場合(ステップS311:否定)、帯域幅管理部102は、帯域幅調整の予約の決定処理を終了する。
これに対して、実測スループットが保証スループット以上の場合(ステップS311:肯定)、帯域幅管理部102は、Busy率が80%以上か否かを判定する(ステップS312)。
Busy率が80%以上の場合(ステップS312:肯定)、帯域幅管理部102は、共有ボリュームにおける非保証ボリュームの帯域幅の縮小が可能か否かを判定する(ステップS313)。
帯域幅の縮小が可能な場合(ステップS313:肯定)、帯域幅管理部102は、共有ボリュームにおける非保証ボリュームの帯域幅の縮小を予約する(ステップS314)。
一方、ステップS312でBusy率が80%未満の場合(ステップS312:否定)及びステップS313で帯域幅の縮小が困難な場合(ステップS313:否定)、帯域幅管理部102は、警告メッセージを操作端末3へ送信する(ステップS315)。
さらに、ここでは実施例1に機能を追加した場合で説明したが、実施例3において実施例2のように犠牲ボリュームを設定することもできる。IOPSやスループットが保証されている場合においても、犠牲ボリュームに対する処理は、実施例2と同様である。
以上に説明したように、本実施例に係る運用管理サーバは、IOPSやスループットを保証することができる。そして、本実施例に係るストレージ管理装置は、IOPSやスループットを保証する場合にも、帯域幅の調整を行いつつシステムを安定運用させることができる。
(変形例1)
上述した実施例3では、Busy率の上限は定めていない。しかし、Busy率があまり上がりすぎるとそのボリューム232の性能は劣化する。そこで、本変形例に係る運用管理サーバ1は、Busy率の上限を定めて、保証ボリュームのBusy率が上限に達した場合には帯域幅を拡大する。以下では、Busy率が上限に達した場合の帯域幅管理部102の動作について説明する。
帯域幅管理部102は、Bury率の上限値を予め記憶している。そして、帯域幅管理部102は、IOPS又はスループットが保証された保証ボリュームに対して、保証IOPSが実測IOPS以下の場合、Busy率が上限値を超えているか否かを判定する。
Busy率が上限値を超えていなければ、帯域幅管理部102は、帯域幅調整の予約の決定処理を終了する。
これに対して、Busy率が上限値を超えている場合、帯域幅管理部102は、共有ボリュームの中に帯域幅の縮小が可能な非保証ボリュームがあれば、その非保証ボリュームの帯域幅の縮小を予約する。また、帯域幅の縮小が可能な非保証ボリュームがなければ帯域幅管理部102は、警告メッセージを操作端末3へ送信する。
以上に説明したように、本変形例に係る運用管理サーバは、Busy率の上限値を超えた場合にBusy率に影響を与える他のボリュームの帯域幅を縮小する。これにより、非保証ボリュームの急激な負荷増加による保証ボリュームの性能低下を回避することができる。
(変形例2)
実施例3では、ディスクのBusy率は、一定時間内のディスク203への読み書き時間の合計を一定時間で除算することで算出された。しかし、ディスクは多重にIO(input Output)処理を実行可能である。そのため、例えば同じBusy率であっても、10多重実行の場合と、1多重実行の場合とでは、負荷の高さが異なる。そこで本変形例では、ディスク203の多重度を加味して最大帯域使用状態を判定する。図18は、実施例3の変形例2に係る運用管理サーバ及びストレージ装置のブロック図である。
処理実行部253は、図2におけるCM201及び202により実現される。処理実行部253は、図19に示す、待ちI/Oキュー401及び実行中I/Oリスト402を保持している。図19は、待ちI/Oキュー及び実行中I/Oリストの一例の図である。待ちI/Oキュー401及び実行中I/Oリスト402には、ボリューム232の情報が格納されており、さらに、各ボリューム232に繋がる丸型は、そのボリューム232に対するコマンドを表している。すなわち、実際には、図19の丸型の場所にはコマンドが格納されている。
待ちI/Oキュー401は、帯域制限に用いられるキューであり、QoSの帯域制限量によりキューイングの量が決定される。
一方、実行中I/Oリスト402は、処理実行部253から既にディスク203への出力されたコマンドを表している。すなわち、実行中I/Oリスト402の各ボリューム232に繋がるコマンドの列は、ディスク203が処理しきれず溜まっているコマンドである。すなわち、実行中I/Oリスト402は、QoSの帯域制限機能には関係なく、ディスク203の処理能力によってキューイングの量が決定される。すなわち、実行中I/Oリストに溜まったコマンド数により、各ボリューム232の処理がどの程度滞っているか判定できる。
帯域幅管理部102は、第2選択した保証ボリュームに対して、実行中I/Oリスト402に溜まっているコマンドの数を処理実行部253から取得する。以下では、この取得したコマンド数を「蓄積コマンド数」という。
第2選択した保証ボリュームの性能保証の種類がIOPSの場合、帯域幅管理部102は、保証IOPSと実測IOPSとを比較する。保証IOPSが実測IOPS以下の場合、帯域幅管理部102は、性能が保証できていると判定し、第2選択した保証ボリュームの帯域調整を行わない。
これに対して、保証IOPSが実測IOPSより大きい場合、帯域幅管理部102は、第2選択した保証ボリュームの蓄積コマンド数が一定数以上であるか否かを判定する。そして、蓄積コマンド数が一定数以上の場合、帯域幅管理部102は、非保証ボリュームの帯域幅の縮小を予約する。ただし、帯域幅が縮小可能な非保証ボリュームが存在しない場合、帯域幅管理部102は、警告メッセージを操作端末3に送信する。
これに対して、蓄積コマンド数が一定数未満の場合、帯域幅管理部102は、性能保証が困難であると判定し、警告メッセージを操作端末3に送信する。
また、第2選択した保証ボリュームの性能保証の種類がスループットの場合も、帯域幅管理部102は、IOPSの場合と同様に帯域幅の調整の予約を決定する。ただし、蓄積コマンド数の上限を判断する一定数は、IOPSの場合と異なってもよい。
さらに、以上では、帯域幅管理部102は、蓄積コマンド数のみで判定を行ったが、蓄積コマンド数が一定数以上又はBusy率のいずれか一方が一定率以上の場合に非保証ボリュームの帯域幅の縮小の予約をしてもよい。また、帯域幅管理部102は、蓄積コマンド数が一定数以上及びBusy率の双方が一定率以上の場合に非保証ボリュームの帯域幅の縮小の予約をしてもよい。
以上に説明したように、本変形例に係る運用管理サーバは、ディスクが処理しきれずに溜まっているコマンドの数を用いて最大帯域使用状態を判定する。これにより、最大帯域使用状態をより正確に判定することができ、システムをより確実に安定運用させることができる。
(変形例3)
本変形例に係る運用管理サーバでは、IOPSとスループットのいずれか一方の性能を保証する場合にも、保証性能としてIOPSとスループットとが同時に指定される。そして、保証対象としている性能とは異なる性能により帯域制限が行われた場合に、帯域制限幅を拡張する。以下では、IOPS又はスループットを保証する場合で説明する。
操作者は、操作端末3を用いて、性能を保証する保証ボリュームを指定する。さらに、操作者は、保証ボリューム毎に、IOPS、スループット又はレスポンスタイムのいずれを保証するかを表す性能保証の種類の情報を入力する。本実施例では、IOPS又はスループットが入力されたものとする。さらに、操作者は、図20に示された帯域制限テーブル403にしたがって、所望の保証値を満たす性能設定値を操作端末3から入力する。図20は、帯域制限テーブルの一例の図である。操作端末3は、保証ボリュームの識別情報、性能保証の種類の情報及び性能設定値を保証値設定部101へ送信する。
保証値設定部101は、保証ボリュームの識別情報、性能保証の種類の情報及び性能設定値を操作端末3から受信する。そして、保証値設定部101は、保証ボリュームの識別情報、性能保証の種類の情報及び性能設定値をQoS設定テーブル141に登録する。
帯域幅管理部102は、図20に示した帯域制限テーブル403を記憶する。そして、帯域幅管理部102は、QoS設定テーブル141から各保証ボリュームの性能保証の種類及び性能設定値を取得する。
帯域幅管理部102は、まず、性能設定値を用いて帯域制限テーブル403から性能保証の種類に応じた保証値を取得する。そして、帯域幅管理部102は、実施例3と同様に第1選択及び第2選択を行う。次に、帯域幅管理部102は、第2選択した保証ボリュームに対して、保証値以上で最低の帯域制限幅を指定する。
次に、帯域幅管理部102は、第2選択した保証ボリュームのディレイタイムを処理実行部253から取得する。ここで、ディレイタイムについて説明する。処理実行部253が実行するハード側のQoSは、個々のボリューム232へのアクセス要求回数とデータ転送要求量を積算する。その積算量が所定時間(本実施例では、1/60秒)以内に指定した回数又は量に達した場合は、ハード側のQoSは、それ以降の要求を1/60秒の間処理せず、キューに溜めておく。そして、その1/60秒が過ぎると、ハード側のQoSは、キューに溜めた処理を再開する。これによって、ハード側のQoSは、データ転送量の絞り込みを行う。このキューに要求が溜まっている時間がディレイタイムである。ディレイタイムが0より大きければ、ハード側のQoSが、帯域制限を行っている。また、ディレイタイムが0であれば、ハード側のQoSは、帯域制限を行っていない。したがって、ディレイタイムが0であれば、それ以上帯域幅を広げても性能向上することはない。
帯域幅管理部102は、ディレイタイムが0か否かを判定する。ディレイタイムが0でない場合、帯域幅管理部102は、第2選択した保証ボリュームに対する帯域幅制限が行われたと判定する。そして、この場合に保証性能に達していなければ、帯域幅管理部102は、保証性能の種類に応じて以下の処理を行う。
IOPSを保証する場合、帯域幅管理部102は、性能設定値から判定に用いるIOサイズ(以下、「所定IOサイズ」という。)を算出する。例えば、性能設定値が5であれば、帯域幅管理部102は、400MB/s×102÷5040/sを計算して、所定IOサイズを約81.27KBと算出する。そして、帯域幅管理部102は、実測IOPSが所定IOサイズを超過した場合、スループットによって帯域制限が行われたことで、IOPSが保証できていないと判定する。
また、スループットを保証する場合、帯域幅管理部102は、IOPSの場合と同様に性能設定値から所定IOサイズを算出する。そして、帯域幅管理部102は、実測IOサイズが所定IOサイズ未満の場合、IOPSによって帯域制限が行われたことで、スループットが保証できていないと判定する。
また、帯域幅管理部102は、上記以外の場合には、性能の保証ができていると判定する。その場合、帯域幅管理部102は、帯域幅調整の処理を終了する。
性能が保証できていないと判定した場合、帯域幅管理部102は、実測IOサイズが所定IOサイズに近づくように第2選択した保証ボリュームの帯域幅を拡張する。
帯域幅の拡張後、帯域幅を拡張した保証ボリュームのディレイタイムが0でなければ、帯域幅管理部102は、上述した帯域幅の拡張処理を再度実行する。これに対して、帯域幅を拡張した保証ボリュームのディレイタイムが0となり、且つ保証性能に達していない場合、帯域幅管理部102は、実施例3で説明したBusy率による判定を用いた帯域幅の調整処理を行う。
以上に説明したように、本変形例に係る運用管理サーバは、IOPS及びスループットの制限値を1つの指標で指定する場合に、性能保証が指定された一方の性能を確実に保証することができる。
1 運用管理サーバ
2 ストレージ装置
3 操作端末
4 業務サーバ
11 NIC
12 メモリ
13 CPU
14 HDD
21,22 ストレージ装置
41,42 業務サーバ
51,52 FCスイッチ
61,62 ネットワークスイッチ
101 保証値設定部
102 帯域幅管理部
103 監視部
104 記憶部
141 QoS設定テーブル
142 ボリュームテーブル
143 ボリューム性能情報ファイル
144 リソース性能情報ファイル
201,202 CM
203 ディスク
211 FC−CA
212 iSCSI−CA
213 CPU
214 メモリ
215 NIC
216 SAS
231 RAIDグループ
232 ボリューム
251 性能情報取得部
252 帯域幅制御部
253 処理実行部

Claims (6)

  1. ストレージ装置が有する複数の記憶領域の内の所定の記憶領域に対するデータの送受信の性能の保証値を記憶する記憶部と、
    前記所定の記憶領域に対するデータの送受信の性能の実測値の正規分布を求め、前記保証値を逸脱する割合が所定値以下となるように、求めた前記正規分布の平均及び分散を変更し、変更後の前記正規分布の平均を暫定目標値とし、前記暫定目標値に基づいて、前記所定の記憶領域に対して前記保証値と前記実測値との差分を補償する帯域幅の割り当てを行い、前記複数の記憶領域のそれぞれに対する帯域配分を決定し、決定した前記帯域配分による帯域幅の調整を前記ストレージ装置に指示する帯域幅管理部と
    を備えたことを特徴とするストレージ管理装置。
  2. 前記帯域幅管理部は、前記保証値と前記実測値との差分を基に前記暫定目標値を算出することを特徴とする請求項1に記載のストレージ管理装置。
  3. 前記記憶部は、他の記憶領域に対するデータの送受信の性能の調整目標である他記憶領域用目標値を記憶し、
    前記帯域幅管理部は、前記所定の記憶領域に対する帯域幅の割り当てにおいて、前記保証値を達成するために割り当てる余剰帯域幅がない場合、前記他の記憶領域に割り当てていた帯域幅を前記所定の記憶領域の帯域幅の割り当てに使用し、前記保証値を達成するために割り当てる前記余剰帯域幅がある場合、前記余剰帯域幅の内の前記所定の記憶領域に割り当てた残りの帯域幅を、前記他記憶領域用目標値を達成するように前記他の記憶領域への帯域幅の割り当てに使用することを特徴とする請求項1又は2に記載のストレージ管理装置。
  4. 前記帯域幅管理部は、前記所定の記憶領域が使用する伝送資源のビジー率を計測し、最も高いビジー率の値が所定値以下となるように、前記複数の記憶領域の内の前記所定の記憶領域以外の記憶領域の帯域幅を縮小することを特徴とする請求項1〜のいずれか一つに記載のストレージ管理装置。
  5. ストレージ装置が有する複数の記憶領域の内の所定の記憶領域に対するデータの送受信の性能の保証値を取得し、
    前記所定の記憶領域に対するデータの送受信の性能の実測値の正規分布を求め、前記保証値を逸脱する割合が所定値以下となるように、求めた前記正規分布の平均及び分散を変更し、変更後の前記正規分布の平均を暫定目標値とし、
    前記暫定目標値に基づいて、前記所定の記憶領域に対して前記保証値と前記実測値との差分を補償する帯域幅の割り当てを行い、前記複数の記憶領域のそれぞれに対する帯域配分を決定し、
    決定した前記帯域配分による帯域幅の調整を前記ストレージ装置に指示する
    ことを特徴とする性能調整方法。
  6. ストレージ装置が有する複数の記憶領域の内の所定の記憶領域に対するデータの送受信の性能の保証値を取得し、
    前記所定の記憶領域に対するデータの送受信の性能の実測値の正規分布を求め、前記保証値を逸脱する割合が所定値以下となるように、求めた前記正規分布の平均及び分散を変更し、変更後の前記正規分布の平均を暫定目標値とし、
    前記暫定目標値に基づいて、前記所定の記憶領域に対して前記保証値と前記実測値との差分を補償する帯域幅の割り当てを行い、前記複数の記憶領域のそれぞれに対する帯域配分を決定し、
    決定した前記帯域配分による帯域幅の調整を前記ストレージ装置に指示する
    処理をコンピュータに実行させることを特徴とする性能調整プログラム。
JP2014253162A 2014-12-15 2014-12-15 ストレージ管理装置、性能調整方法及び性能調整プログラム Active JP6428231B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014253162A JP6428231B2 (ja) 2014-12-15 2014-12-15 ストレージ管理装置、性能調整方法及び性能調整プログラム
US14/936,746 US9836246B2 (en) 2014-12-15 2015-11-10 Storage management device, performance adjustment method, and computer-readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014253162A JP6428231B2 (ja) 2014-12-15 2014-12-15 ストレージ管理装置、性能調整方法及び性能調整プログラム

Publications (2)

Publication Number Publication Date
JP2016115130A JP2016115130A (ja) 2016-06-23
JP6428231B2 true JP6428231B2 (ja) 2018-11-28

Family

ID=56111187

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014253162A Active JP6428231B2 (ja) 2014-12-15 2014-12-15 ストレージ管理装置、性能調整方法及び性能調整プログラム

Country Status (2)

Country Link
US (1) US9836246B2 (ja)
JP (1) JP6428231B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6848278B2 (ja) * 2016-09-07 2021-03-24 富士通株式会社 ストレージ管理装置、性能調整方法及び性能調整プログラム
US10320707B2 (en) * 2016-10-31 2019-06-11 International Business Machines Corporation Spreading quality of service values over a given range with minimal deviation
JP6965626B2 (ja) * 2017-08-17 2021-11-10 富士通株式会社 ストレージ制御装置、および制御プログラム
JP7163672B2 (ja) * 2018-08-30 2022-11-01 富士通株式会社 ストレージ管理装置、性能調整方法及び性能調整プログラム
US10868844B1 (en) * 2019-09-17 2020-12-15 Lenovo (Singapore) Pte. Ltd. Adjusting audio stream quality based on volume
US11620053B2 (en) * 2019-10-24 2023-04-04 Micron Technology, Inc. Quality of service for the multiple functions in memory devices
CN114338705B (zh) * 2021-11-24 2023-12-01 阿里巴巴(中国)有限公司 内容分发网络cdn节点的资源水位控制方法、设备及介质

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06250795A (ja) 1993-02-24 1994-09-09 Hitachi Ltd ディスクアレイシステム
JP3027369B2 (ja) * 1998-01-23 2000-04-04 松下電器産業株式会社 ネットワークシステム、帯域管理装置、送信装置およびネットワーク伝送方法、帯域管理方法、送信方法
JP2003216348A (ja) * 2001-11-14 2003-07-31 Hitachi Ltd 記憶装置の管理方法および管理装置
US20040122938A1 (en) 2002-12-19 2004-06-24 Messick Randall E. Method and apparatus for dynamically allocating storage array bandwidth
JP2004302751A (ja) * 2003-03-31 2004-10-28 Hitachi Ltd 計算機システムの性能管理方法、および、記憶装置の性能を管理する計算機システム
JP4244319B2 (ja) * 2003-12-17 2009-03-25 株式会社日立製作所 計算機システム管理プログラム,記録媒体,ならびに計算機システム管理システムおよびそのための管理装置および記憶装置
JP2005228278A (ja) * 2004-01-14 2005-08-25 Hitachi Ltd 記憶領域の管理方法、管理装置及び管理プログラム
US20090003329A1 (en) * 2004-02-09 2009-01-01 Koso Murakami Repeater, Communication System, Control Circuit, Connector, and Computer Program
JP4518887B2 (ja) * 2004-09-10 2010-08-04 株式会社日立製作所 ストレージエリアネットワーク管理システム及び管理装置とボリューム割当て方法並びにコンピュータ・ソフトウエア
JP4354379B2 (ja) * 2004-10-04 2009-10-28 株式会社日立製作所 帯域制御装置
JP4715750B2 (ja) * 2004-11-04 2011-07-06 パナソニック株式会社 マルチインタフェース通信装置、端末、および経路切替方法
JP4331746B2 (ja) * 2006-12-28 2009-09-16 株式会社日立製作所 ストレージ装置構成管理方法、管理計算機及び計算機システム
JP4958673B2 (ja) * 2007-07-26 2012-06-20 株式会社日立製作所 ストレージシステム及びこれの管理方法
JP5238235B2 (ja) * 2007-12-07 2013-07-17 株式会社日立製作所 管理装置及び管理方法
JP5257672B2 (ja) 2008-09-25 2013-08-07 株式会社日立製作所 ジャーナルの階層を管理する計算機システム及び方法
CN103080894A (zh) 2010-12-28 2013-05-01 株式会社日立制作所 存储系统、存储系统的管理方法和程序
US8422392B2 (en) * 2010-12-31 2013-04-16 Stmicroelectronics, Inc. System and method for microeconomic multiplexing of data over communication channels
AU2012206295B2 (en) 2011-01-10 2016-07-07 Storone Ltd. Large scale storage system
US8863139B2 (en) * 2011-04-12 2014-10-14 Hitachi, Ltd. Management system and management method for managing a plurality of storage subsystems
US8732518B2 (en) 2011-04-13 2014-05-20 Netapp, Inc. Reliability based data allocation and recovery in a storage system
US20130185482A1 (en) 2012-01-18 2013-07-18 Samsung Electronics Co., Ltd. Memory system using a storage having firmware with a plurality of features
WO2013124876A1 (en) * 2012-02-20 2013-08-29 Hitachi, Ltd. Storage apparatus and method thereof for performance control based on usage cases of snapshots
JP5871233B2 (ja) * 2012-03-22 2016-03-01 株式会社日立製作所 計算機及び帯域制御方法
JP2013214820A (ja) * 2012-03-30 2013-10-17 Fujitsu Ltd 基地局装置および通信方法
JP2013250775A (ja) * 2012-05-31 2013-12-12 Fujitsu Ltd 仮想マシン管理装置、仮想マシン管理プログラム、仮想マシン管理方法及びネットワークシステム
JP2014010465A (ja) 2012-06-27 2014-01-20 International Business Maschines Corporation 複数のストレージ・クラウドから実体ファイルを格納するためのストレージ・クラウドを選択する方法、並びにそのコンピュータ及びコンピュータ・プログラム
DE102013114069A1 (de) 2013-01-03 2014-07-03 Samsung Electronics Co., Ltd. Rekonfigurierbare Speichervorrichtung

Also Published As

Publication number Publication date
JP2016115130A (ja) 2016-06-23
US20160170650A1 (en) 2016-06-16
US9836246B2 (en) 2017-12-05

Similar Documents

Publication Publication Date Title
JP6428231B2 (ja) ストレージ管理装置、性能調整方法及び性能調整プログラム
US10798207B2 (en) System and method for managing application performance
US10732895B2 (en) Drive-level internal quality of service
JP6179321B2 (ja) ストレージ管理装置、制御方法及び制御プログラム
JP6260407B2 (ja) ストレージ管理装置、性能調整方法及び性能調整プログラム
EP2608011B1 (en) Storage device, and storage device control method
JP6394315B2 (ja) ストレージ管理装置、性能調整方法及び性能調整プログラム
US8584128B1 (en) Techniques for adjusting priorities associated with servicing requests
US10037162B2 (en) Storage management device, storage management method, and computer-readable recording medium
JP6273966B2 (ja) ストレージ管理装置、性能調整方法及び性能調整プログラム
US8667494B1 (en) Controlling resource allocation using thresholds and scheduling
JP6394313B2 (ja) ストレージ管理装置、ストレージ管理方法及びストレージ管理プログラム
JP6848278B2 (ja) ストレージ管理装置、性能調整方法及び性能調整プログラム
JP7163672B2 (ja) ストレージ管理装置、性能調整方法及び性能調整プログラム
TWI509411B (zh) 軟體定義混合儲存系統中之工作負載感知的輸入/輸出調度器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180704

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180717

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180914

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181002

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181015

R150 Certificate of patent or registration of utility model

Ref document number: 6428231

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150