JP6165886B2 - 動的ストレージサービスレベル・モニタリングの管理システムおよび方法 - Google Patents

動的ストレージサービスレベル・モニタリングの管理システムおよび方法 Download PDF

Info

Publication number
JP6165886B2
JP6165886B2 JP2015556577A JP2015556577A JP6165886B2 JP 6165886 B2 JP6165886 B2 JP 6165886B2 JP 2015556577 A JP2015556577 A JP 2015556577A JP 2015556577 A JP2015556577 A JP 2015556577A JP 6165886 B2 JP6165886 B2 JP 6165886B2
Authority
JP
Japan
Prior art keywords
type
slo
storage
monitoring
group
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.)
Expired - Fee Related
Application number
JP2015556577A
Other languages
English (en)
Other versions
JP2016511463A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of JP2016511463A publication Critical patent/JP2016511463A/ja
Application granted granted Critical
Publication of JP6165886B2 publication Critical patent/JP6165886B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、広くは、コンピュータアプリケーションによるストレージ利用に関し、より具体的には、動的ストレージサービスレベル・モニタリングの管理システムおよび方法に関するものである。
大規模なデータセンタでは、数十万ものストレージデバイス(別称、ボリューム)と、それらのストレージデバイスを使用する数万ものサーバが設けられている。高コストのストレージシステムを使用する目的は、より高レベルのサービス(例えば、応答時間およびスループット)を得ることである。それらのストレージデバイスのパフォーマンスを追跡するソフトウェアツールでは、ユーザは、パフォーマンスを監視する基準となる閾値を設定することが必要となり、パフォーマンスレベルが規定の閾値を満たさない場合には、警告が発せられる。
本発明の例示的な実施形態により、動的ストレージサービスレベル・モニタリングの管理システムおよび方法を提供する。動的ストレージサービスレベル・モニタリングには、例えば以下のものを含む多くの課題がある。
1.いかにして、SLO(サービスレベル目標)パラメータを正確に決定するか。
a.どのボリュームを監視すべきか?
b.いつ、モニタリングすべきか? 多くのアプリケーション/サーバは、異なるIO(入力/出力)パターンを持ついくつかの異なるオペレーションモードを有するので、それらは、いくつかの異なるサービスレベル・モニタリングを必要とし得る。
c.監視されるべきメトリクスは何か? そして、どのような閾値を用いるべきか?
2.ストレージデバイスを使用するアプリケーションのワークロード・プロファイルは、一般に、極めて動的である。そのようなデバイスを、静的な設定によって監視することにより、不正確な結果を得ることがある。
従来、管理ソフトウェアによって、ユーザは、モニタリングに用いるSLOメトリクス、モニタリングウィンドウ(SLOを監視するための期間)、および閾値を、手動で選択することが可能である。本発明により、過去のパフォーマンスデータを分析して、ボリュームおよびストレージグループごとにSLOパラメータを決定する。これらの値は、リコメンデーションとしてユーザに提示される。ユーザは、リコメンデーションを確認して、背景情報を分析し、そして、それらの推奨値を修正および/または承認することができる。
本発明の一態様は、コンピュータ可読記憶媒体に格納されたコンピュータプログラムであって、コンピュータで実行されるコンピュータプログラムに関し、該コンピュータは、ストレージコントローラと、ストレージコントローラによって制御される複数のストレージデバイスと、を備えるストレージシステムを、該ストレージシステムの複数のストレージボリュームのうちのストレージボリュームに対して別のコンピュータから送信された入力/出力(I/O)コマンドの書き込みデータを保存するために、管理するように機能する。コンピュータプログラムは、ストレージボリュームごとに、ある期間についてI/Oオペレーションのパフォーマンス情報を分析するためのコードであって、その期間についてストレージシステムから収集される複数のストレージボリュームの各々のI/Oオペレーションのパフォーマンス情報を分析するためのコードと、その分析に基づいて、(i)同じタイプのI/Oパフォーマンス特性を有するものとみなされる周期的時間ウィンドウ、および(ii)その周期的時間ウィンドウで施行されるものとして特徴付けられるその同じタイプのI/Oパフォーマンス特性としてのI/Oパフォーマンス特性のタイプ、を導出するためのコードであって、その周期的時間ウィンドウおよびその周期的時間ウィンドウのI/Oパフォーマンス特性のタイプを、ストレージボリュームごとに導出するためのコードと、周期的時間ウィンドウごとにサービスレベル目標(SLO)のタイプを、その周期的時間ウィンドウのI/Oパフォーマンス特性のタイプに基づいて決定するためのコードと、周期的時間ウィンドウごとにSLOの閾値を、その周期的時間ウィンドウ、SLOのタイプ、およびI/Oオペレーションのパフォーマンス情報に基づいて計算するためのコードと、上記別のコンピュータ上で同じアプリケーションによって実行されるデータを保存するストレージボリュームのセットを有するストレージボリュームグループごとに、(i)ある周期的モニタリングウィンドウのSLOのタイプ、および(ii)その周期的モニタリングウィンドウのSLOの閾値を、ユーザに提供するためのコードであって、上記周期的時間ウィンドウ、周期的時間ウィンドウのSLOのタイプ、および周期的時間ウィンドウのSLOの閾値を用いることにより生成される、周期的モニタリングウィンドウ、周期的モニタリングウィンドウのSLOのタイプ、および周期的モニタリングウィンドウのSLOの閾値を、ユーザに提供するためのコードと、その周期的モニタリングウィンドウのサービスレベル値がSLOに違反しているか否かを、その周期的モニタリングウィンドウのSLOの閾値に基づいて、ストレージボリュームごとに監視するためのコードと、を含み、その周期的モニタリングウィンドウのサービスレベル値は、その周期的モニタリングウィンドウのSLOのタイプと同じタイプの、上記期間後に施行されるI/Oオペレーションのパフォーマンス情報から導出され、上記期間後のI/Oオペレーションのパフォーマンス情報は、複数のストレージボリュームの各々について、ストレージシステムから収集される。
一部の実施形態では、コンピュータプログラムは、I/Oオペレーションの既定の正常パフォーマンスレベルに基づいて、正常オペレーションではない非正常オペレーションの1期間以上の期間を同定するためのコードと、上記周期的時間ウィンドウから非正常オペレーションの1期間以上の期間を除外するためのコードと、をさらに含む。周期的モニタリングウィンドウは、その間に、あるモニタリンググループのすべてのストレージボリュームが同じタイプのI/Oパフォーマンス特性を示す周期的な期間であり、モニタリンググループは、上記ストレージボリュームグループ内のストレージボリュームからなるグループである。コンピュータプログラムは、上記ストレージボリュームグループについて1つ以上の周期的時間ウィンドウを導出するためのコード、をさらに含み、各々の周期的時間ウィンドウは、対応するモニタリンググループに対応しており、その対応するモニタリンググループのすべてのストレージボリュームは、その対応する周期的時間ウィンドウの間に、同じタイプのI/Oパフォーマンス特性を示すように、各々の周期的時間ウィンドウは対応するモニタリンググループに関連付けられている。各々のモニタリンググループは、上記ストレージボリュームグループ内のストレージボリュームからなるグループであり、対応するモニタリンググループIDによって識別される。
具体的な実施形態では、コンピュータプログラムは、あるストレージボリュームが監視されているか否か判断するためのコードと、そのストレージボリュームが監視されている場合には、そのストレージボリュームの該周期的モニタリングウィンドウのSLOの閾値に基づいて、該周期的モニタリングウィンドウのサービスレベル値をSLOと比較し、一方、そのストレージボリュームが監視されていない場合には、前の周期的時間ウィンドウを分析して、そのストレージボリュームについて周期的時間ウィンドウが検出されるか否か判断することにより、そのストレージボリュームの監視を開始するかどうか決定し、yesの場合には、その検出された周期的時間ウィンドウの期間のすべてのサービスレベル値を評価することで、その検出された周期的時間ウィンドウのSLOのタイプを決定し、その検出された周期的時間ウィンドウのSLOの閾値を計算し、そして、そのストレージボリュームを含むストレージボリュームグループについて、ある周期的モニタリングウィンドウのSLOのタイプ、およびその周期的モニタリングウィンドウのSLOの閾値を、ユーザに提供するためのコードと、この比較または評価に続いて、そのストレージボリュームのその周期的モニタリングウィンドウのSLOの閾値に基づいて、その周期的モニタリングウィンドウのサービスレベル値がSLOに違反しているか否か判断するためのコードと、をさらに含む。
一部の実施形態では、I/Oオペレーションのパフォーマンス情報を分析するためのコードは、(1)ランダムI/Oが第1の閾値を下回る場合のシーケンシャルI/O、(2)ランダムI/Oが第1の閾値と第2の閾値の間である場合の混合I/O、(3)ランダムI/Oが第2の閾値を上回る場合のランダムI/O、を含む複数のタイプのI/Oパフォーマンス特性のタイプを、ストレージボリュームごとに決定するためのコードを含む。ランダムI/Oの場合のSLOのタイプは応答時間であり、シーケンシャルI/Oの場合のSLOのタイプはデータスループットレートである。周期的時間ウィンドウを導出することは、その間は同じタイプのI/Oパフォーマンス特性が施行されている持続I/Oデュレーションであって、既定の最小持続I/Oデュレーション閾値を上回る持続I/Oデュレーションを、その周期的時間ウィンドウが有することを規定することを含む。
本発明の別の態様は、コンピュータ可読記憶媒体に格納されたコンピュータプログラムであって、コンピュータで実行されるコンピュータプログラムに関し、該コンピュータは、ストレージコントローラと、ストレージコントローラによって制御される複数のストレージデバイスと、を備えるストレージシステムを、該ストレージシステムの複数のストレージボリュームのうちのストレージボリュームに対して別のコンピュータから送信された入力/出力(I/O)コマンドの書き込みデータを保存するために、管理するように機能する。コンピュータプログラムは、ストレージボリュームごとに、ある期間についてのI/Oオペレーションのパフォーマンス情報であって、その期間についてストレージシステムから収集される複数のストレージボリュームの各々のI/Oオペレーションのパフォーマンス情報を分析することにより、(i)同じタイプのI/Oパフォーマンス特性を有するものとみなされる周期的時間ウィンドウ、(ii)その周期的時間ウィンドウのサービスレベル目標(SLO)のタイプ、および(iii)SLOのそのタイプに応じて導出される、その周期的時間ウィンドウのSLOの閾値、をストレージボリュームごとに導出するためのコードと、(i)ある周期的モニタリングウィンドウのSLOのタイプ、および(ii)その周期的モニタリングウィンドウのSLOの閾値を、ユーザに提供するためのコードであって、上記周期的時間ウィンドウ、周期的時間ウィンドウのSLOのタイプ、および周期的時間ウィンドウのSLOの閾値を用いることにより生成される、周期的モニタリングウィンドウ、周期的モニタリングウィンドウのSLOのタイプ、および周期的モニタリングウィンドウのSLOの閾値を、ユーザに提供するためのコードと、その周期的モニタリングウィンドウのサービスレベル値がSLOに違反しているか否かを、その周期的モニタリングウィンドウのSLOの閾値に基づいて監視するためのコードと、を含み、その周期的モニタリングウィンドウのサービスレベル値は、その周期的モニタリングウィンドウのSLOのタイプと同じタイプの、上記期間後に施行されるI/Oオペレーションのパフォーマンス情報から導出され、上記期間後のI/Oオペレーションのパフォーマンス情報は、複数のストレージボリュームの各々について、ストレージシステムから収集される。
本発明の別の態様によれば、コンピュータプログラムは、ストレージコントローラと、ストレージコントローラによって制御される複数のストレージデバイスと、を備えるストレージシステムを、該ストレージシステムの複数のストレージボリュームのうちのストレージボリュームに対してコンピュータから送信された入力/出力(I/O)コマンドの書き込みデータを保存するために、管理するためのコードと、ストレージボリュームごとに、ある期間についてのI/Oオペレーションのパフォーマンス情報であって、その期間についてストレージシステムから収集される複数のストレージボリュームの各々のI/Oオペレーションのパフォーマンス情報を分析することにより、(i)同じタイプのI/Oパフォーマンス特性を有するものとみなされる周期的時間ウィンドウ、(ii)その周期的時間ウィンドウのサービスレベル目標(SLO)のタイプ、および(iii)SLOのそのタイプに応じて導出される、その周期的時間ウィンドウのSLOの閾値、をストレージボリュームごとに導出するためのコードと、(i)ある周期的モニタリングウィンドウのSLOのタイプ、および(ii)その周期的モニタリングウィンドウのSLOの閾値を、ユーザに提供するためのコードであって、上記周期的時間ウィンドウ、周期的時間ウィンドウのSLOのタイプ、および周期的時間ウィンドウのSLOの閾値を用いることにより生成される、その周期的モニタリングウィンドウ、周期的モニタリングウィンドウのSLOのタイプ、および周期的モニタリングウィンドウのSLOの閾値を、ユーザに提供するためのコードと、その周期的モニタリングウィンドウのサービスレベル値がSLOに違反しているか否かを、その周期的モニタリングウィンドウのSLOの閾値に基づいて監視するためのコードと、を含み、その周期的モニタリングウィンドウのサービスレベル値は、その周期的モニタリングウィンドウのSLOのタイプと同じタイプの、上記期間後に施行されるI/Oオペレーションのパフォーマンス情報から導出され、上記期間後のI/Oオペレーションのパフォーマンス情報は、複数のストレージボリュームの各々について、ストレージシステムから収集される。
本発明のこれらおよび他の特徴ならびに効果は、以下の具体的な実施形態についての詳細な説明を参照することで、当業者に明らかになるであろう。
本発明の方法ならびに装置を適用することができるシステムのハードウェア構成の一例を示している。
プロビジョニングされたボリュームの論理レイアウトの一例を示している。
ボリュームのワークロード特性(ワークロード・プロファイル)を示す、データベースアプリケーションについてのテーブルである。
ボリュームパフォーマンスデータ・テーブルの一例を示している。
ストレージグループ/ボリューム・テーブルの一例を示している。
SRE_SUSTAINED_IOテーブルの一例を示している。
SRE_TIME_BUCKETテーブルの一例を示している。
SRE_RECOMMENDATIONテーブルの一例を示している。
SRE_THRESHOLD_BUCKETテーブルの一例を示している。
SRE_RECOMMENDED_MONITORING_GROUPテーブルの一例を示している。
SRE_MONITORING_GROUP_VOLUMEテーブルの一例を示している。
ボリュームパフォーマンスデータを分析するプロセスを示すフロー図の一例を示している。
推奨SLOパラメータを計算するプロセスを示すフロー図の一例を示している。
タイムバケットIDを計算するプロセスを示すフロー図の一例を示している。
ワークロードIOの周期性を同定するプロセスを示すフロー図の一例を示している。
SLO閾値を集約するプロセスを示すフロー図の一例を示している。
モニタリングウィンドウおよびモニタリンググループデータを計算するプロセスを示すフロー図の一例を示している。
基本的なSLOモニタリングのプロセスを示すフロー図の一例を示している。
発明の本実施形態で使用されるパラメータのリストの一例を示している。
アプリケーションUI(ユーザインタフェース)の一例を示している。
SLOリコメンデーションの概要ビューの画面の一例を示している。
SLOリコメンデーションのカテゴリビューの画面の一例を示している。
モニタリンググループの一覧の画面の一例を示している。
モニタリンググループのSLOパラメータの閲覧および編集のための画面の一例を示している。
ボリュームのSLOリコメンデーションを確認するための画面の概観の一例を示している。
SLOリコメンデーションの概観である概要ビュー(図21aを参照)を表示するためのプロセスを示すフロー図の一例を示している。
SLOリコメンデーションの概観であるカテゴリビュー(図21bを参照)を表示するためのプロセスを示すフロー図の一例を示している。
ボリュームの詳細情報を閲覧するためのプロセスを示すフロー図の一例を示している。
ユーザがSLO推奨値を承認するためのプロセスを示すフロー図の一例を示している。
ユーザが現在値を編集するためのプロセスを示すフロー図の一例を示している。
ポートパフォーマンスデータの一例を示しており、各ポートIDについて、データ時刻およびポートプロセッサビジー(%)を一覧表示している。
RAIDグループパフォーマンスデータの一例を示しており、各RAIDグループについて、データ時刻およびRGプロセッサビジー(%)を一覧表示している。
ポートからボリュームへのマッピングデータの一例を示している。
RAIDグループからボリュームへのマッピングデータの一例を示している。
ポートのパフォーマンス低下を特定するためのプロセスを示すフロー図の一例を示している。
RAIDグループのパフォーマンス低下を特定するためのプロセスを示すフロー図の一例を示している。
動的モニタリングのためのプロセスを示すフロー図の一例を示している。
本発明のプロセスの一例を示す概念図である。
SLOパラメータを決定するための過去のパフォーマンスデータの分析の視覚表示である。
図38の分析のステップ1を示している。
図38の分析のステップ2を示している。
図38の分析のステップ3を示している。
本発明の以下の詳細な説明では、本開示の一部をなす添付の図面を参照し、それらの図面に、限定するものではない実例として、本発明を実施することができる例示的な実施形態を示している。図面では、本質的に類似したコンポーネントは、いくつかの図面にわたって同様の符号で示している。また、詳細な説明では、以下に記載するような、さらには図面に示すような、種々の例示的な実施形態を提示しているが、本発明は、本明細書で記載および図示される実施形態に限定されるものではなく、当業者に周知であるような、または周知となるような、他の実施形態に拡張することができるということに留意すべきである。本明細書における「一実施形態」、「本実施形態」、または「これらの実施形態」という表現は、その実施形態に関連して記載される特定の機能、構造、または特徴が、本発明の少なくとも1つの実施形態に含まれることを意味し、これらの表現が本明細書の様々な箇所に記載されていても、必ずしもそれらがすべて同じ実施形態を指しているとは限らない。また、本発明についての完全な理解を与えるため、様々な具体的詳細が以下の詳細な説明において記載される。しかしながら、これら特定の詳細は、すべてが本発明を実施するために必要とは限らないことは、当業者には明らかであろう。他の状況では、本発明を不必要に不明瞭にすることがないよう、周知の構造、材料、回路、プロセス、およびインタフェースについては詳細に記載しておらず、さらに/または、それらをブロック図の形式で示している場合がある。
また、以下の詳細な説明の一部は、コンピュータにおける演算のアルゴリズムおよび記号表現によって提示される。これらのアルゴリズム記述および記号表現は、データ処理技術の当業者が、自身の技術革新の本質を他の当業者に最も効果的に伝えるために用いる手段である。アルゴリズムは、所望の最終状態または結果に至る一連の定義されたステップである。本発明において、実施されるステップは、具体的な結果を得るための具体的な数量の物理的操作を必要とする。通常、これらの数量は、必ずしもではないが、記憶、伝達、結合、比較、およびその他の操作が可能な電気信号もしくは磁気信号または命令の形をとるものである。これらの信号は、ビット、値、要素、記号、文字、項、番号、命令などとして参照することが、一般的に使用されているという主な理由で、時として好都合であることが実証されている。しかしながら、留意すべきことは、これらおよび類似の表現はすべて、適切な物理量に関連付けられるべきであり、それらの数量に適用される単なる便宜的なラベルにすぎないということである。別段の規定がある場合を除き、以下の説明から明らかなように、本明細書全体を通して「処理する」、「演算する」、「計算する」、「判断する」、「表示する」などのような用語を使用する解説は、コンピュータシステムのレジスタおよびメモリ内の物理的(電子的)な量として表されるデータを、コンピュータシステムのメモリもしくはレジスタ内または他の情報記憶、伝達、または表示装置内で同様に物理量として表される他のデータに操作および変換する、コンピュータシステムまたは他の情報処理装置のアクションおよびプロセスを含み得るものと理解される。
本発明は、さらに、本明細書に記載のオペレーションを実行するための装置に関する。この装置は、所要の目的のために専用に構築することができ、または1つ以上のコンピュータプログラムにより選択的にアクティブ化または再構成される1つ以上の汎用コンピュータを含むことができる。かかるコンピュータプログラムは、限定するものではないが、光ディスク、磁気ディスク、読み取り専用メモリ、ランダムアクセスメモリ、ソリッドステートデバイスおよびドライブ、または電子情報を保存するのに適した他の任意のタイプの媒体など、非一時的媒体を含むコンピュータ可読記憶媒体に保存することができる。本明細書で提示するアルゴリズムならびに表示は、本来、特定のコンピュータまたは他の装置に関連したものではない。種々の汎用システムを、本明細書に記載の教示によるプログラムおよびモジュールと共に用いることができ、または所望の方法ステップを実行するために、より特化した装置を構築するほうが適当であることが実証される場合がある。また、本発明は、いずれかの特定のプログラミング言語に準拠して説明されるものではない。当然のことながら、本明細書に記載の発明の教示を実施するために、様々なプログラミング言語を用いることができる。プログラミング言語(複数の場合もある)による命令は、例えば中央処理装置(CPU)、プロセッサ、またはコントローラである1つ以上の処理装置で実行することができる。
さらに詳細に以下で説明する本発明の例示的な実施形態により、動的ストレージサービスレベル・モニタリングのための装置、方法、およびコンピュータプログラムを提供する。
本発明の一態様は、管理モジュール(ソフトウェアなどとすることができる)であり、これは、すべてのストレージデバイスについて、過去のパフォーマンスデータならびに連続フローのパフォーマンスデータを分析して、(1)現在のIOプロファイルに基づいて、どのSLOモニタリングを適用すべきか、および(2)(現在のIOタイプおよび過去のプロファイルに基づいて)そのSLOのモニタリングにはどのようなパラメータを用いるべきか、を特定する。このソリューションでは、現行のIOワークロードおよびパフォーマンスレベルを分析する。サーバおよびデバイスのほとんどが正常に動作していると仮定して、IOプロファイルおよびワークロードパターンを取得することで、どのボリュームを、どのメトリクスについて、いつ、どのような閾値を用いて、監視すべきかを特定する。
一実施形態において、システムは、少なくとも1つのストレージエリアネットワーク(SAN)と、少なくとも1つの接続されたストレージシステムと、管理サーバと、を備える。管理サーバは、SANに接続するためのホストバスアダプタ(HBA)を有し、さらに、(コマンドデバイスと呼ばれる)特殊なストレージデバイスが、このサーバにプロビジョニングされている。多くのサーバが、ストレージシステムからのストレージデバイス(別称、ボリューム)を使用するように構成されている。それらのサーバはいずれも、SANに接続するためのホストバスアダプタ(HBA)を有する。これらのサーバに、ストレージシステムからストレージデバイスがプロビジョニングされる。
管理モジュール(管理ソフトウェアとすることができる)のプロセスには、以下のことが含まれる。
1.コマンドデバイスを用いて、すべてのストレージシステム・コンポーネント(ボリューム、ポート、キャッシュ、RAIDグループ、など)についてのパフォーマンスデータを収集する。
2.各ボリュームのパフォーマンスメトリクスを分析することで、IOタイプ(ランダム、シーケンシャル、など)を特定する。
3.IOパターンを分析することで、持続IOの期間を特定する。
4.ストレージアレイ・コンポーネントの使用率をさらに分析することで、正常オペレーションの期間、およびコンポーネントの使用率が高い(パフォーマンスの低下を引き起こし得る)期間を特定する。
a.一部のコンポーネント(例えば、ポートおよびRAIDグループ)の使用率レベルが高いと、正常オペレーションではなく、パフォーマンスの低下を引き起こす。これは、典型的には、高負荷の分散が不均衡であるときに生じる。
5.持続IO期間中のデータポイントの統計分析を用いて閾値を計算する。コンポーネントの高使用率(ステップ4)に対応するデータポイントは、非正常(低下した)システムパフォーマンスを表すものとして、サンプルから除外される。
6.各々のSLOタイプについて、閾値をバケット化によりグループ分けすることで、その特定のIOタイプのサービスレベルの、人間が管理できるリストを導出する。例えば、トランザクショナル/ランダムIOワークロードについては、1ミリ秒未満で異なる数百通りの値ではなく、5〜10レベルの応答時間レベルが特定される。
7.(サーバまたはアプリケーションにプロビジョニングされたボリュームからなる)所与のストレージグループおよび(応答時間またはデータスループットレートなどの)特定のSLOタイプについて、そのメンバーであるボリュームの様々に異なるモニタリングウィンドウを、+/−1時間に、さらにグループ分けして、モニタリングウィンドウのリストに集約する。
8.これらの集約されたSLOレベルおよびモニタリングウィンドウを、推奨値としてユーザに提示する。ユーザは、推奨値を承認して、推奨されたSLOのセットでストレージグループを監視する決断をすることができ、またはそれらのSLOを変更して受け入れることができ、またはそれらを完全に無視することができる。
9.ユーザは、SLOポリシー・リコメンデーションエンジンを周期的に(毎月、または四半期ごとに)作動させることで、そのストレージ環境におけるワークロードの変化を分析して、モニタリングレベルを微調整することができる。
図37は、本発明のプロセスの一例を示す概念図である。データ収集ステップは、上記のステップ1に相当し、ストレージアレイ構成データを収集することと、各々のボリュームについてストレージアレイ・パフォーマンスデータを収集することと、を伴う。データ分析ステップのうちの3つのステップは、上記のステップ2〜5に相当し、ストレージグループを作成するために構成データを分析することと、適用可能なSLOおよびMW(モニタリングウィンドウ)を決定するために(経時的に)各ボリュームのIOタイプを分析することと、現在のSLOメトリクスのベースライン値を特定することと、を含む。その後に続くデータ分析ステップは、上記のステップ6および7に相当し、SLOタイプ、閾値、およびMWを、(例えば、10〜20個未満の)SLOプロファイルからなる固定セットにクラスタ化することを伴う。ユーザ入力ステップは、上記のステップ8に相当し、これにより、ユーザは、推奨SLOプロファイルを確認して、それらを更新および/または承認することができ、さらに、所与のアプリケーション用の推奨SLOプロファイルを過去の傾向と共に確認して、それらを更新および/または承認することができる。最後に、上記のステップ9は、図37において、現在のIOプロファイルを、構成されたSLOプロファイルと比較するために、ユーザが周期的に分析を実行することができるステップに相当する。図37は、さらにモニタリングステップを示しており、このステップにおいて、コマンドディレクタは、SLOプロファイルを監視して、SLO違反を通知する。
本発明は、ストレージ環境を計画し、監視するために用いることができる。共通のモニタリング閾値によるベースライン設定法に比した利点は、簡単なモニタリング構成で、OLTP、バッチなど、変化するアプリケーションI/O挙動に応じて、ユーザが適切なサービスレベル・モニタリング方法を動的に適用することを可能としていることである。
[使用される例の説明]
実施形態について説明するために、以下の例を用いる。図1は、本発明の方法ならびに装置を適用することができるシステムのハードウェア構成の一例を示している。システムは、ストレージシステム1001と、サーバ1002と、ストレージ管理サーバ1003とを備え、これらは、SAN 1004に接続されている。ストレージ管理サーバ1003は、コマンドディレクタ・ソフトウェア1005を有している。ウェブストア・アプリケーションのためのプロダクション・データベースをホストしているプロダクションサーバ1006(PROD_DB_WEBSTORE)が、さらにSAN 1004に接続されている。このアプリケーションは、3つのタイプのボリューム、すなわち、インデックスボリューム、データボリューム、トランザクションログ・ボリュームを有する。
ストレージシステム1001は、(RAIDグループ用の)バックエンドプロセッサと、(ポート用の)フロントエンドプロセッサと、キャッシュと、キャッシュスイッチと、ディスクドライブと、を有する。サーバ1002は、CPU(中央処理装置)と、メモリと、ユーザアプリケーションと、OS(オペレーティングシステム)と、HBAインタフェースカードと、を有する。ストレージ管理サーバは、CPUと、メモリと、ストレージと、パフォーマンスデータを収集するためのコマンドデバイスと、HBAインタフェースカードと、を有する。コマンドディレクタ・ソフトウェア1005は、データコレクタと、LUN所有者アナライザと、SLOリコメンデーションエンジンと、SLOモニタリングモジュールと、レポートエンジンと、ウェブサーバと、プレゼンテーション層と、データベースと、を含む。
図2は、プロビジョニングされたボリュームの論理レイアウトの一例を示している。ストレージシステム内にあるのは、RAIDグループ(例えば、01−01および01−05)である。プロビジョニングされたボリュームは、インデックスボリューム01:01および01:02と、データボリューム02:01および02:02と、トランザクションログ・ボリューム03:01および03:02と、を含んでいる。
図3は、データベースアプリケーションについて、ボリュームのワークロード特性(ワークロード・プロファイル)を示すテーブルである。ワークロード1のとき(昼間)には、インデックスボリュームは、高速応答時間で、50%のランダムリードと50%のランダムライトを有し、データボリュームは、通常応答時間で、65%のランダムリードと35%のランダムライトを有し、トランザクションログ・ボリュームは、98%のシーケンシャルライトを有する。ワークロード2のとき(夜間)には、データボリュームは、100%のシーケンシャルリードを有する。ワークロード3のとき(深夜)には、データボリュームは、100%のシーケンシャルリードを有する。
インデックスボリュームは、データベースインデックスを保持しており、従って、少量であるが高速のランダムリードおよびライトを有する。データボリュームは、実データを保持している。通常のウェブオペレーション(ワークロード1)の間は、これらのボリュームは、ランダムアクセスパターンを有する。データウェアハウスへのデータのデステージング(ワークロード2)およびバックアップ・オペレーション(ワークロード3)の間は、ワークロードは、主にシーケンシャルリードである。トランザクションログ・ボリュームは、主にトランザクションログの書き込み(ワークロード1)のためのものである。データ保守の際に、これらのログを読み出すことができる。主なワークロードパターンは、シーケンシャルライトである。
窓口の稼働に関して、米国の企業は、このウェブストアを使用し、従って、主に、午前9時から午後5時までが、通常の稼働状態(ワークロード1)である。毎夜、午後9時から午後11時までは、データウェアハウスアプリケーションへのデータのデステージング(ワークロード2)がある。毎日未明の午前1時から午前3時までは、データベースの増分バックアップ・オペレーション(ワークロード3)がある。日曜日の未明の午前1時から午前5時までは、完全バックアップが予定されている。
図4は、ボリュームパフォーマンスデータ・テーブルの一例を示している。テーブルは、各ボリュームについて、データ時刻、ランダムリードIOPS(1秒あたりの入力/出力オペレーション数)、シーケンシャルリードIOPS、ランダムライトIOPS、シーケンシャルライトIOPS、ランダムリードMbps(メガビット/秒)、シーケンシャルリードMbps、ランダムライトMbps、シーケンシャルライトMbps、平均応答時間、を示している。
動的SLOモニタリングロジックの背後にある論理的根拠は、数万から数百万に及び得る数のボリュームであるデータセンタ内のすべてのSANボリュームについてSLOパラメータ(SLOのタイプ、閾値、モニタリングウィンドウ)を正確に推定することは極めて難しいということである。そこで、これらのサーバ/アプリケーションおよび関連するSANボリュームの正常オペレーションの間に、SLOパラメータを評価し、そして、それらの値を、同ボリュームのモニタリングに使用する。その目的は、環境を監視して、それらのボリュームが、正常オペレーショに基づいて設定されたSLO閾値に違反しているときにはユーザにアラートを発することである。
本明細書において、ストレージグループとは、同じサーバまたはクラスタにプロビジョニングされたボリュームからなるグループである。このグループ分けは、ストレージシステムにおいて設定されたボリュームパス情報から導出される。モニタリンググループとは、あるストレージグループ内で同じIOワークロード特性(例えば、同じ時間帯に、同じIOタイプおよび同等レベルのIO応答時間)を示すボリュームからなるサブグループである。図5は、ストレージグループ/ボリューム・テーブルの一例を示している。モニタリンググループID57は、ボリューム01:01、01:02、02:01、02:02を含んでいる。
持続IO期間とは、その間、あるボリュームが同じIOタイプ(ランダム、シーケンシャル、または混合)である連続した期間である。持続IO期間は、各ボリュームに対して定義され、それは反復的であっても、反復的でなくてもよい。図6は、SRE(SLOリコメンデーションエンジン)持続IOテーブルの一例を示している。テーブルは、各ボリュームについて、IOタイプ(ランダム、シーケンシャル)、開始時刻、終了時刻、(開始時刻値から算出された)時刻、(開始時刻値から算出された)曜日、タイムバケットID、ストレージグループID、を示している。タイムバケットIDは、時刻およびウィンドウ(例えば、±30分の1時間ウィンドウ)に基づくグループ分けを表している。図7は、SRE_TIME_BUCKETテーブルの一例を示している。テーブルは、各タイムバケットIDについて、開始時刻、終了時刻、最小開始時刻、最大終了時刻、を示している。
モニタリングウィンドウとは、その間、あるモニタリンググループのすべてのボリュームが同じIOワークロード(ランダムまたはシーケンシャル)を示す期間である。モニタリングウィンドウは、典型的には、反復的である(例えば、毎日同じ時間に、または特定の曜日の同じ時間に生じる)。
図8は、SRE_RECOMMENDATIONテーブルの一例を示している。テーブルは、各ボリュームについて、IOタイプ、曜日(空欄は毎日パターンを意味する)、開始時刻、終了時刻、RT(応答時間)閾値(シーケンシャルIOの場合は空欄)、DTR(データスループットレート)閾値(ランダムIOの場合は空欄)、閾値バケットID、タイムバケットID、ストレージグループID、を示している。閾値バケットIDは、閾値の値に基づくグループ分けを表している。図9は、SRE_THRESHOLD_BUCKETテーブルの一例を示している。テーブルは、各閾値バケットIDについて、IOタイプ、RT閾値、DTR閾値を示している。
図10は、SRE_RECOMMENDED_MONITORING_GROUPテーブルの一例を示している。テーブルは、各ストレージグループIDについて、モニタリンググループID、モニタリンググループ、IOタイプ、曜日、開始時刻、終了時刻、RT閾値、DTR閾値、を示している。図10に示す例では、それぞれのストレージグループIDによって表される各ストレージグループ内に、複数のモニタリンググループを表す複数のモニタリンググループIDがある。場合によっては、図17に関連して後述するように、あるストレージグループが、モニタリンググループを1つのみ含む(すなわち、同じストレージグループ内のすべてのボリュームが1つのモニタリンググループに含まれる)ことがある。このテーブルは、ボリュームに基づいて編成された図8のSRE_RECOMMENDATIONテーブルを用いて、ストレージグループIDに基づいて再編成される。図11は、SRE_MONITORING_GROUP_VOLUMEテーブルの一例を示しており、これは、モニタリンググループIDおよびボリュームを一覧表示している。
[第1の実施形態]
第1の実施形態は、SLOパラメータ(閾値およびモニタリングウィンドウの周期性)を決定するための過去のパフォーマンスデータの分析、および正常性を監視するためにどのSLOを用いるべきかを決定するためのリアルタイム・パフォーマンスデータの分析、を示すために提示される。
3つの仮定を用いる。第1の仮定は、個々のデータポイントに対するIOタイプの決定に関するものである。いずれのパフォーマンスデータのスナップショットに対しても、IOタイプの決定は、以下の基準を用いて行われる。
1.ランダムIO%が0%〜40%の間である場合は、シーケンシャルIO。
2.ランダムIO%が40%〜60%の間である場合は、混合IO。
3.ランダムIO%が60%超である場合は、ランダムIO。
第2の仮定は、IOタイプからSLOタイプへのマッピング、すなわち適用可能なSLOタイプを決定することに関するものである。主としてランダムなIOは、「応答時間」すなわちRT閾値を用いて監視するべきである。主としてシーケンシャルなIOは、「データスループットレート」すなわちDTR閾値を用いて監視するべきである。その論理的根拠は、典型的には、シーケンシャルIOは、バッチ処理オペレーション(例えば、バックアップ、データウェアハウジングのためのデータ採集、など)の場合に観測されるということである。これらのオペレーションを完了するために要する時間は、決定的因子である。言うまでもなく、他のIOタイプがある。
第3の仮定は、持続IOの特定に関するものである。いくらかのダンピングを提供する(IOタイプの変化に敏感すぎないようにする)ためには、持続するIOタイプのみが、モニタリング用として適切であると考えられる。従って、最小値である「最小持続IOデュレーション閾値」が規定される。
図38は、SLOパラメータを決定するための過去のパフォーマンスデータの分析の視覚表示である。あるアプリケーションのLDEVについての、時間経過に伴うパフォーマンスデータのスナップショットを示している。各LDEVについての連続IOパフォーマンスメトリクスを分析する。
図39は、図38の分析のステップ1を示している。第1の仮定で定義された規則を用いて、各データ時刻に、R(ランダムIOの場合)、M(混合IOの場合)、またはS(シーケンシャルIOの場合)とマークする。
図40は、図38の分析のステップ2を示している。第3の仮定で定義される「最小持続IOデュレーション閾値」を用いて、SLOモニタリングを実施すべき持続期間(十字マークに対するチェックマークで示される)を選択する。変動するIOタイプは、モニタリングされない。
図41は、図38の分析のステップ3を示している。第2の仮定で定義された規則を用いて、SLOモニタリングのタイプおよび閾値を決定する。応答時間SLOタイプを用いるランダムIOタイプの場合は、分析によって、その特定のLDEV用のベースライン応答時間を特定する。データスループットレートSLOタイプを用いるシーケンシャルIOタイプの場合は、分析によって、ベースライン処理ウィンドウを特定する。
図12は、ボリュームパフォーマンスデータを分析するプロセスを示すフロー図の一例を示している。プログラムにより、(次の)ボリュームパフォーマンスデータ・レコードを読み出し、ランダムIOが60%超であるかどうか判断する。yesの場合は、そのIOタイプを、R(主にランダム)としてマークする。noの場合は、プログラムにより、ランダムIOが40%以下であるかどうか判断する。yesの場合は、そのIOタイプを、S(主にシーケンシャル)としてマークする。noの場合、プログラムは、次のボリュームパフォーマンスデータ・レコードを読み出すための前のステップに戻る。次のステップで、プログラムにより、IOタイプが変化したかどうか判断する。noの場合、プログラムは、次のボリュームパフォーマンスデータ・レコードを読み出すための前のステップに戻る。yesの場合は、プログラムにより、そのボリュームについて、持続IO期間を計算する(ステップ102)。次に、プログラムにより、その持続IO期間は、最小所要期間よりも長いかどうか判断する。yesの場合は、プログラムにより、そのデータを、DB(データベース)SRE_SUSTAINED_IOテーブル(図6を参照)に書き込む。noの場合、プログラムは、すべてのレコードが読み出されるまでは、次のボリュームパフォーマンスデータを読み出すための前のステップに戻る。
図13は、推奨SLOパラメータを計算するプロセスを示すフロー図の一例を示している。ステップ201で、プログラムにより、ストレージグループからボリュームへのマッピングを、ストレージグループ/ボリューム・テーブル(図5を参照)から読み出して、SRE_SUSTAINED_IOテーブル(図6を参照)において情報を更新する。ステップ202で、プログラムにより、SRE_SUSTAINED_IOテーブル(図6を参照)において「時刻」および「曜日」の情報を更新する。これらの値は、同テーブルの「開始時刻」の欄から算出される。ステップ203で、プログラムにより、図14に示すプロセスを用いて、SRE_SUSTAINED_IOテーブル内の各レコードについてタイムバケットIDを計算する。ステップ204で、プログラムにより、図15に示すプロセスを用いて、(毎日または毎週の)IOウィンドウの発生パターンを同定する。
ステップ205で、プログラムにより、SRE_RECOMMENDATIONテーブル(図8を参照)の各レコードについて、ボリュームパフォーマンス・テーブル(図4を参照)から、同ボリュームについてのレコードであって、そのデータ時刻が、過去のデータのパターン分析で検出された毎日または特定の曜日のいずれかで、開始時刻と終了時刻の範囲内にあるレコードを、読み出す。読み出されるべきメトリクスは、IOタイプに依存する。IOタイプ=Rの場合、プログラムにより、応答時間値を読み出す。IOタイプ=Sの場合、プログラムにより、トータルスループット値を読み出す。プログラムにより、読み出されたそれらのレコードのすべてのメトリクス値の85パーセンタイル値を計算する。プログラムにより、SRE_RECOMMENDATIONテーブル(図8を参照)において、そのボリューム、IOタイプについてのレコードであって、開始時刻、終了時刻、毎日/曜日についてのレコードの、この「閾値」を更新する。
ステップ206で、プログラムにより、図16に示すプロセスを用いて、SLO閾値バケットIDを計算する。ステップ207で、プログラムにより、図17に示すプロセスを用いて、各ストレージグループについてのモニタリングウィンドウ、およびモニタリンググループ情報を計算する。SRE_RECOMMENDED_MONITORING_GROUPテーブル(図10を参照)およびSRE_MONITORING_GROUP_VOLUMEテーブル(図11を参照)は、UI(ユーザインタフェース)ワークフローを開始させるために用いることができる最終リコメンデーションを有している。
図14は、タイムバケットIDを計算するプロセスを示すフロー図の一例を示している。ステップ301で、プログラムにより、SRE_SUSTAINED_IOテーブル(図6を参照)からすべてのレコードを読み出して、それらのレコードを開始時刻によって順序付けし、次に終了時刻によって順序付けする。ステップ302で、プログラムにより、第1のレコードのタイムバケットIDに、「1」とマークする。ステップ303で、プログラムにより、そのタイムバケットID、開始時刻、終了時刻を、SRE_TIME_BUCKETテーブル(図7を参照)に記録する。続いて、プログラムにより、次のレコードを読み出して、その新たなレコードの開始時刻と終了時刻が、SRE_TIME_BUCKETテーブル(図7を参照)における現在のタイムバケットIDに対応するレコードのそれぞれ開始時刻と終了時刻のタイムバケットサイズ(例えば1時間)内にあるかどうか判断する。yesの場合は、プログラムにより、その新たなレコードにおいて現在のタイムバケットIDをマークし(ステップ305)、そして、さらなるレコードがなくなるまでは、次のレコードを読み出すための前のステップに戻る。noの場合は、プログラムにより、現在のタイムバケットID値をインクリメントして(ステップ304)、その現在のタイムバケットID、開始時刻、終了時刻を、SRE_TIME_BUCKETテーブル(図7を参照)に記録し(ステップ303)、その新たなレコードにおいて現在のタイムバケットIDをマークし(ステップ305)、そして、さらなるレコードがなくなるまでは、次のレコードを読み出すための前のステップに戻る。読み出されるべき、さらなるレコードがない場合、プログラムは、ステップ306に進む。ステップ306では、プログラムにより、各タイムバケットIDについて、そのタイムバケットIDに対応する最小開始時刻および最大終了時刻を見つけるために、SRE_SUSTAINED_IOテーブル(図6を参照)のレコードに照会する。次に、プログラムにより、これらの計算された最小値および最大値を、SRE_RECOMMENDATIONテーブル(図8を参照)において、同じタイムバケットIDのレコードの開始時刻および終了時刻として更新する。
図15は、ワークロードIOの周期性を同定するプロセスを示すフロー図の一例を示している。毎日パターンを見つけるためのステップ401において、プログラムにより、SRE_SUSTAINED_IOテーブル(図6を参照)のレコードを読み出す。所与のボリュームについて、その時間の少なくとも75%において、同じIOタイプおよびタイムバケットIDのレコードを確認できる(例えば、4週間のデータを分析して、全部で28個の可能性のあるレコードのうち少なくとも21個のレコードを確認できる)場合には、そのボリュームおよびIOタイプについて毎日パターンを見つけることができると結論付けられる。プログラムにより、これらを適切な情報と共に、SRE_RECOMMENDATIONテーブル(図8を参照)に記録する。(毎日パターンが見つからなかったボリュームについてのみ)毎週パターンを見つけるためのステップ402において、プログラムにより、SRE_SUSTAINED_IOテーブル(図6を参照)において、毎日パターンが見つからなかったレコードを読み出す。所与のボリュームについて、その時間の少なくとも75%において、同じIOタイプ、タイムバケットID、および曜日のレコードを確認できる(例えば、4週間のデータを分析して、全部で4個の可能性のあるレコードのうち少なくとも3個のレコードを確認できる)場合には、そのボリュームおよびIOタイプについて毎週パターンを見つけることができると結論付けられる。プログラムにより、これらを適切な情報と共に、SRE_RECOMMENDATIONテーブル(図8を参照)に記録する。
図16は、SLO閾値を集約するプロセスを示すフロー図の一例を示している。ステップ501で、プログラムにより、SRE_RECOMMENDATIONテーブル(図8を参照)から、所与のストレージグループかつ所与のSLOタイプ/IOタイプのすべてのレコードを読み出し、プログラムにより、それらのレコードを「閾値」によって降順で順序付けする。例えば、閾値は、IOタイプRの場合のRT閾値、またはIOタイプSの場合のDTR閾値である。ステップ502で、プログラムにより、第1のレコードの閾値バケットIDに、「1」とマークする。ステップ503で、プログラムにより、現在の閾値バケットIDおよび閾値を、SRE_THRESHOLD_BUCKETテーブル(図9を参照)に記録する。続いて、プログラムにより、次のレコードを読み出し、その新たなレコードの閾値と現在の閾値バケットIDに対応する閾値との間のΔ(差分)が、対応する閾値バケットサイズよりも大きいかどうか判断する。例えば、RT閾値の閾値バケットサイズは5msであり、DTR閾値の閾値バケットサイズは10Mbpsである。yesの場合は、プログラムにより、新たなレコードにおいて現在の閾値バケットIDをマークし(ステップ504)、そして、さらなるレコードがなくなるまでは、次のレコードを読み出すための前のステップに戻る。noの場合は、プログラムにより、現在のタイムバケットID値をインクリメントして(ステップ505)、その現在の閾値バケットID、IOタイプ、閾値を、SRE_THRESHOLD_BUCKETテーブル(図9を参照)に記録し(ステップ503)、その新たなレコードにおいて現在の閾値バケットIDをマークし(ステップ504)、そして、さらなるレコードがなくなるまでは、次のレコードを読み出すための前のステップに戻る。読み出されるべき、さらなるレコードがない場合、プロセスは終了する。
図17は、モニタリングウィンドウおよびモニタリンググループデータを計算するプロセスを示すフロー図の一例を示している。ステップ601で、プログラムにより、SRE_RECOMMENDATIONテーブル(図8を参照)から、1つのストレージグループのレコードを読み出して、それらのレコードをタイムバケットIDによって順序付けし、さらにそれらを閾値バケットIDによって順序付けする。ステップ602で、プログラムにより、ストレージグループID、IOタイプ、タイムバケットID、閾値バケットIDの組み合わせの各々のためのレコードを、モニタリング・テーブル(図10および11を参照)内に作成する。ステップ603で、プログラムにより、そのストレージグループID、IOタイプ、時刻値、閾値を、SRE_RECOMMENDED_MONITORING_GROUPテーブル(図10を参照)に記録する。プログラムにより、その新たなモニタリンググループIDを追加し、そのIOタイプおよび閾値に基づいて図10のモニタリンググループ名を作成する。ストレージグループIDで表されるストレージグループは、1つ以上のモニタリンググループIDで表される1つ以上のモニタリンググループを含み得る。図10に示す例では、各々のストレージグループIDが、複数のモニタリンググループIDを有している。しかしながら、計算によって、同じストレージグループ内のすべてのボリュームが1つのモニタリンググループに含まれることが示される場合は、ストレージグループIDで表されるそのストレージグループは、1つのモニタリンググループIDで表される1つのモニタリンググループのみを含む。プログラムにより、さらに同モニタリンググループのボリュームを、SRE_MONITORING_GROUP_VOLUMEテーブル(図11を参照)に記録する。プログラムにより、次のレコードを読み出し、そして、さらなるレコードがなくなりプロセスの終了となるまでは、ステップ602に戻る。
図18は、基本的なSLOモニタリングのプロセスを示すフロー図の一例を示している。開始するには、そのボリュームの新たなパフォーマンスデータを受け取る。プログラムにより、そのボリュームが既に監視されているどうか(例えば、そのボリュームがモニタリングウィンドウ内にあるかどうか)判断する。noの場合には、プロセスは終了する。yesの場合には、プログラムにより、適切なデータポイント値を、SLO閾値(例えば、RT閾値またはDTR閾値)と比較する。そのデータポイントがSLO閾値に違反していない場合、プロセスは終了する。データポイントがSLO閾値に違反している場合は、プログラムにより、その違反をDBに記録し、そしてアラートのためのフラグを設定する。アラート閾値に達していない場合、プロセスは終了する。アラート閾値に達した場合には、プログラムにより、アラートを発して、プロセスは終了する。アラート閾値は、アラートを発するために必要な違反の既定累積数とすることができる既定の閾値である。
図19は、発明の本実施形態で使用されるパラメータのリストの一例を示している。最小持続IOウィンドウ(例えば、2時間)は、実際のIOタイプの変動を安定化させるために用いられる。IOタイプ=「R」の場合のランダム%(例えば、>60%)、IOタイプ=「M」の場合のランダム%(例えば、>40%かつ≦60%)、IOタイプ=「S」の場合のランダム%(例えば、≦40%)は、上述の第1の仮定に基づくものであり、これによって、0%〜100%の範囲が3つのグループに分割される。閾値として使用される応答時間サンプルデータの値(例えば、85パーセンタイル値)は、変動が大きい応答時間を示すために用いられる。本例では、85パーセンタイル値は、平均値+1標準偏差の統計値に基づいて決定される。同じく、閾値として使用されるデータスループット・サンプルデータの値も、本例では85パーセンタイル値である。データポイントをサンプリングとして不適格であるとするための最小IOPS限度は、本例では5である。タイムバケットサイズ(例えば、1時間)は、すべての開始時刻または終了時刻を同じタイムバケットに統合するために用いられる時間ウィンドウのサイズである。応答時間(RT)バケットサイズ(例えば、5ms)としての、そのバケットサイズ内にあるRT閾値のΔは、同じ閾値バケットIDを有するものとして扱われる。データスループットレート(DTR)バケットサイズとしての、そのバケットサイズ内にあるDTR閾値のΔは、同じ閾値バケットIDを有するものとして扱われる。
図20は、アプリケーションUI(ユーザインタフェース)の一例を示している。本例のアプリケーションUIは、モニタリンググループ、ボリューム、SLOタイプ、閾値、モニタリングウィンドウ、アクションを示すテーブルを提示する。ユーザは、モニタリンググループのうちの1つを選択すること、またはそれらのモニタリンググループに関連したアクションを選択すること、が可能である。同様の情報は、SRE_RECOMMENDED_MONITORING_GROUPテーブル(図10)およびSRE_MONITORING_GROUP_VOLUMEテーブル(図11)に見られる。「See SLO Monitoring Recommendation」リンクをクリックすると、図21aの(SLOリコメンデーションの概要ビュー)画面および図21bの(SLOリコメンデーションのカテゴリビュー)画面が起動する。特定のモニタリンググループ名をクリックすると、図23の(モニタリンググループのSLOパラメータの閲覧および編集)画面が起動する。
図21aは、SLOリコメンデーションの概要ビューの画面の一例を示している。概要ビューには、SLOプロファイル、タイプ、閾値、#モニタリンググループの欄が表示される。SLOプロファイルは、本例ではSLOタイプおよび閾値を含んでいる。#モニタリンググループ欄の番号をクリックすると、図22の(モニタリンググループの一覧)画面が起動する。
図21bは、SLOリコメンデーションのカテゴリビューの画面の一例を示している。カテゴリビューには、SLOモニタリングプロファイル・カテゴリおよび#モニタリンググループの欄が表示される。SLOモニタリングプロファイル・カテゴリの例は、「応答時間モニタリング無しのモニタリンググループ」、「応答時間閾値のΔ>10msのモニタリンググループ」、「データスループットレート閾値のΔ>10Mbpsのモニタリンググループ」である。この場合も同じく、#モニタリンググループの欄をクリックすると、図22の画面が起動する。
図22は、モニタリンググループの一覧の画面の一例を示している。本例のテーブルは、モニタリンググループ、#ボリューム、SLOタイプ、閾値、モニタリングウィンドウ、アクションの欄を有する。この場合も、特定のモニタリンググループ名をクリックすると、図23の画面が起動する。
図23は、モニタリンググループのSLOパラメータの閲覧および編集のための画面の一例を示している。本例のテーブルは、ボリューム、現在のSLOタイプ、現在の閾値、現在のモニタリングウィンドウ、推奨SLOタイプ、推奨閾値、推奨モニタリングウィンドウ、アクションの欄を有する。特定のボリュームをクリックすると、図24の(ボリュームのSLOリコメンデーションを確認する)画面が起動する。
図24は、ボリュームのSLOリコメンデーションを確認するための画面の概観の一例を示している。画面には、モニタリングウィンドウについて、観測されたストレージサービスレベルが表示される。ランダム%軸は、ランダムIOと、混合IOと、シーケンシャルIOと、に分割されている。時間軸は、主にシーケンシャルIOのモニタリングウィンドウ(SLO:データスループットレート)と、主にランダムIOのモニタリングウィンドウ(SLO:応答時間)と、を含んでいる。画面には、さらに現在のストレージサービス・モニタリングが表示され、これは、SLOプロファイル、タイプ、閾値、モニタリングウィンドウの欄を有するテーブルに提示される。SLOプロファイルの例には、「ランダムIO−ゴールドレベル」および「バッチ処理−深夜2」が含まれる。
図25は、SLOリコメンデーションの概観である概要ビュー(図21aを参照)を表示するためのプロセスを示すフロー図の一例を示している。開始するには、ユーザが、アプリケーション画面(図20を参照)上の「See SLO Monitoring Recommendation」リンクをクリックする。プログラムにより、SRE_RECOMMENDED_MONITORING_GROUPテーブル(図10を参照)を読み出して、モニタリンググループ名によって集約し、ボリューム数をカウントする。その他のすべての値は、すべてのレコードで全く同じとなる。プログラムにより、データを画面(図21aを参照)に表示する。
図26は、SLOリコメンデーションの概観であるカテゴリビュー(図21bを参照)を表示するためのプロセスを示すフロー図の一例を示している。開始するには、ユーザが、アプリケーション画面(図20を参照)上の「See SLO Monitoring Recommendation」リンクをクリックし、次に「Categorized View」タブ(図21bを参照)をクリックする。プログラムにより、(Rは「推奨」を意味するとして、まとめてテーブルRと呼ばれる)SRE_RECOMMENDED_MONITORING_GROUPテーブル(図10を参照)およびSRE_MONITORING_GROUP_VOLUMEテーブル(図11を参照)を読み出し、さらに、(Cは「現在の」を意味するとして、テーブルCと呼ばれる)現在のSLOモニタリングパラメータ・テーブル(例えば、図24の現在のストレージサービスモニタリング・テーブルを参照)を読み出す。続いて、プログラムにより、両方のIOタイプ(R(ランダム)とS(シーケンシャル))について、以下の分析を実行する。あるモニタリンググループ(MG)のすべてのボリュームが、テーブルRにはあるが、テーブルCにはない場合は、その対応するMGは、「Not Monitored」に分類される。あるMGの一部のボリュームが、テーブルRにはあるが、テーブルCにはない場合、またはあるMGのすべてのボリュームについて、そのモニタリングウィンドウ(MW)が、テーブルCで設定されたものと一致しない場合は、その対応するMGは、「Partially Monitored」に分類される。あるMGの一部のボリュームがテーブルRとテーブルCの両方にあると共に、それらのMWも一致している場合は、プログラムにより、推奨閾値と現在設定されている閾値との間のΔを計算して、そのMGを、対応するカテゴリに追加する。次に、プログラムにより、データを画面に表示する(図21bを参照)。
図27は、ボリュームの詳細情報を閲覧するためのプロセスを示すフロー図の一例を示している。開始するには、ユーザが、1つのボリュームをクリックする。プログラムにより、(1)現在のSLOモニタリングデータを収集し、(2)推奨モニタリングデータを収集し、(3)パフォーマンスデータを収集する。収集した情報を、プログラムにより、テーブルおよびチャートを用いて画面に表示する。推奨データおよび現在のデータの例を、図21a、21b、24に示している。
図28は、ユーザがSLO推奨値を承認するためのプロセスを示すフロー図の一例を示している。開始するには、ユーザが、図23のモニタリンググループのSLOパラメータの閲覧および編集のための画面表示から、1つ、いくつか、またはすべてのボリュームを選択して、「Accept Recommended value」をクリックする。SRE_RECOMMENDATIONテーブル(図8を参照)からのSLOモニタリングパラメータが、実際のSLOモニタリング・テーブル(リコメンデーション・テーブルと構造は類似したものであり得るが、ただし実際のパラメータおよび値を入れることができる)にコピーされる。プログラムにより、新たな現在値情報で表示を更新する。
図29は、ユーザが現在値を編集するためのプロセスを示すフロー図の一例を示している。開始するには、ユーザが、図23のモニタリンググループのSLOパラメータの閲覧および編集のための画面表示から、1つ、いくつか、またはすべてのボリュームを選択して、「Edit Current Value」をクリックする。現在値は、編集可能(または選択可能)となる。ユーザは、それらの値を所望の数値/レベルに手動で変更することができる。そして今度は、この情報が、現在のSLOモニタリング・テーブル(リコメンデーション・テーブルと構造は類似したものであり得るが、ただし現在のパラメータおよび値を入れることができる)に保存される。プログラムにより、新たな現在値情報で表示を更新する。
[第2の実施形態]
第2の実施形態では、アルゴリズムは、ストレージシステム・コンポーネントの内部状態を考慮して修正される。例えば、コンポーネントのいくつかが、全体的なパフォーマンスを低下させるレベルで動作することが分かっているときには、それらの対応するデータポイント(RTおよびDTR)は、サンプルデータにおいて考慮されない。これにより、サンプルデータは、ストレージシステムの正常な動作状態を忠実に表すものであることが保証される。例として考えられる具体的なケースには、以下のものが含まれる。
1.ポート・マイクロプロセッサの使用率が高い(例えば、65%超)ときには、ストレージシステムは、パフォーマンスを下げることで、システムをフラッドさせることなく、(パフォーマンスは低下するものの)データ整合性が維持されるように、設計されている。図30は、ポートパフォーマンスデータの一例を示している。これは、各ポートIDについて、データ時刻およびポートプロセッサビジー(%)を一覧表示している。図32は、ポートからボリュームへのマッピングデータの一例を示している。これは、各ポートIDについて、1つ以上のHSD(ホストストレージドメイン)IDと、さらに各HSD IDについて、1つ以上のボリュームIDと、を一覧表示している。
2.(RAIDグループを制御する)バックエンド・マイクロプロセッサが高い使用率(例えば、85%超)に達したときには、これがIOのパフォーマンスに影響を及ぼす。このような場合も、同じく、対応するデータポイントは、閾値計算用のサンプルデータの一部として考慮されない。図31は、RAIDグループパフォーマンスデータの一例を示している。これは、各RAIDグループについて、データ時刻およびRGプロセッサビジー(%)を一覧表示している。図33は、RAIDグループからボリュームへのマッピングデータの一例を示している。これは、各RG IDについて、ボリュームIDを一覧表示している。
3.IOの数が極めて少ない場合(例えば、<5のIOPS)は、記録されたメトリクスは、正確ではないと考えられる。このような場合には、それらのデータポイントは、サンプルデータにおいて考慮されない。
図34は、ポートのパフォーマンス低下を特定するためのプロセスを示すフロー図の一例を示している。プログラムにより、ポートパフォーマンスデータ(図30を参照)を読み出して、ポートビジー率が65%超であるか否かチェックする。yesの場合は、プログラムにより、そのポートに割り当てられたすべてのボリューム(図32を参照)を見つけて、この情報を記録し(ステップ103)、そしてSRE_SUSTAINED_IOテーブル(図6を参照)に書き込む。いずれの場合も、プログラムにより、すべてのレコードを読み出したかどうか確認して、すべてのレコードが読み出されるまでは、ポートパフォーマンスデータを読み出すための前のステップに戻る。
図35は、RAIDグループのパフォーマンス低下を特定するためのプロセスを示すフロー図の一例を示している。プログラムにより、RAIDグループパフォーマンスデータ(図31を参照)を読み出し、RAIDグループビジー率が85%超であるか否かチェックする。yesの場合は、プログラムにより、そのRGから作成されたすべてのボリューム(図33を参照)を見つけて、この情報を記録し(ステップ104)、そしてSRE_SUSTAINED_IOテーブル(図6を参照)に書き込む。いずれの場合も、プログラムにより、すべてのレコードを読み出したかどうか確認して、すべてのレコードが読み出されるまでは、ポートパフォーマンスデータを読み出すための前のステップに戻る。
[第3の実施形態]
第3の実施形態では、SLOモニタリングは、各ストレージグループおよびモニタリンググループに対して特定されたモニタリングウィンドウの間のみではない。ボリュームIOは、絶えず監視される。ある特定のタイプの持続IOが確認されると直ちに、予め設定されたSLO閾値を用いて、そのボリュームのその持続IOを監視する。
図36は、動的モニタリングのためのプロセスを示すフロー図の一例を示している。プログラムにより、そのボリュームの新たなパフォーマンスデータを受け取って、そのボリュームが既に監視されているか否かチェックする。yesの場合は、プログラムにより、適切なデータポイント値を、SLO閾値と比較する。noの場合は、プログラムにより、そのボリュームのモニタリングを開始すべきかどうかの判断を試みる。ボリュームのモニタリングを開始するためのトリガは、そのボリュームが、(持続IOの)最小閾値よりも長い持続IO期間を有しているかどうか確認することである。ステップ105で、プログラムにより、(過去のIOデータポイントを含む)その持続IOデュレーションの計算を試みる。持続IO期間が検出された場合は、そのIOタイプに基づいて、プログラムにより、どのSLOモニタリング(RTまたはDTR)を採用すべきか決定し、さらに、そのボリュームの過去の閾値が所与であるとして、どのような閾値をモニタリングに用いるべきかを決定する。そして、このSLOモニタリングが、検出された持続IOウィンドウ期間のすべてのデータポイントに適用される(ステップ106)。noの場合、プロセスは終了する。
(既に監視されているボリュームについての適切なデータポイント値(持続IOウィンドウのサービスレベル値)をSLO閾値と比較した後に、またはステップ106の後に)続いて、プログラムにより、データポイントが閾値に違反しているかどうか判断する。noの場合、プロセスは終了する。yesの場合は、プログラムにより、その違反をDBに記録して、アラートのためのフラグを設定し、そして、アラート閾値(例えば、アラート閾値に達するまでの違反の既定累積数)に達したか否か判断する。noの場合、プロセスは終了する。yesの場合は、プログラムにより、アラートを発する。
言うまでもなく、図1に示すシステム構成は、本発明を実施することができる情報システムの単なる例示であり、本発明は特定のハードウェア構成に限定されない。本発明を実施するコンピュータおよびストレージシステムは、さらに、周知のI/Oデバイス(例えば、CDおよびDVDドライブ、フロッピーディスクドライブ、ハードドライブなど)を備えることもでき、これらにより、上記発明の実施に使用されるモジュール、プログラム、およびデータ構造を保存し、読み出すことができる。これらのモジュール、プログラム、およびデータ構造は、かかるコンピュータ可読媒体上にコード化することができる。例えば、本発明のデータ構造は、発明で使用するプログラムが常駐する1つ以上のコンピュータ可読媒体とは独立のコンピュータ可読媒体に保存することができる。システムのコンポーネントは、例えば通信ネットワークであるデジタルデータ通信の任意の形式または媒体によって、相互接続することができる。通信ネットワークの例として、ローカルエリアネットワーク、例えばインターネットである広域ネットワーク、無線ネットワーク、ストレージエリアネットワークなどが含まれる。
本明細書では、発明についての完全な理解を与えるため、説明の目的で様々な詳細について記載している。しかしながら、本発明を実施するために、これら特定の詳細のすべてが必要とされるわけではないことは、当業者には明らかであろう。また、本発明は、プロセスとして記述できるということにも留意すべきであり、それは、通常、フローチャート、フロー図、構造図、またはブロック図として表現される。フローチャートでは、オペレーションが逐次プロセスとして記述され得るが、それらのオペレーションの多くは、並列または同時に実行することができる。さらに、オペレーションの順序は並べ替えることができる。
当該技術分野で知られているように、上記オペレーションは、ハードウェア、ソフトウェア、またはソフトウェアとハードウェアの何らかの組み合わせによって実行することができる。本発明の実施形態のいくつかの態様は、回路および論理デバイス(ハードウェア)を用いて実装することができる一方、他の態様は、機械可読媒体に格納された命令(ソフトウェア)を用いて実装することができ、それらの命令は、プロセッサで実行されることで、本発明の実施形態を実施する方法をプロセッサに実行させるものである。また、本発明のいくつかの実施形態は、ハードウェアのみで実行することができる一方、他の実施形態は、ソフトウェアのみで実行することができる。さらに、記載された種々の機能は、単一のユニットで実行することができ、または、あらゆる方法で多くのコンポーネントに分散させることができる。ソフトウェアで実行する場合、本方法は、コンピュータ可読媒体に格納された命令に基づいて、汎用コンピュータなどのプロセッサで実行することができる。それらの命令は、所望であれば圧縮および/または暗号化形式で媒体に保存することができる。
上記のことから、本発明は、動的ストレージサービスレベル・モニタリングのための方法、装置、ならびにコンピュータ可読媒体に格納されたプログラムを提供するものであることは明らかであろう。また、本明細書では具体的な実施形態を例示および記載しているが、当業者であれば理解できるように、同じ目的を達成すると予測される任意の構成を、開示された特定の実施形態の代用とすることができる。本開示は、本発明のあらゆる改良または変形を包括するものであり、また、当然のことながら、以下の請求項において使用される用語は、本明細書に開示の特定の実施形態に発明を限定するものと解釈されるべきではない。むしろ、本発明の範囲は、かかる請求項によって権利が認められる均等物の全範囲と共に、確立されたクレーム解釈論に従って解釈されるべき以下の請求項によって、完全に決定されるべきである。

Claims (8)

  1. 1以上のサーバに複数のストレージボリュームを提供するストレージシステムに接続された管理コンピュータであって、
    ストレージボリュームについて、そのストレージボリュームの監視に使用されるべきサービスレベル目標(SLO)の第1のタイプを、そのストレージボリュームについて動的に判断されシーケンシャルI/OであるかランダムI/Oであるかに関するI/Oタイプに基づいて決定する手段であるSLOタイプ決定手段と、
    そのストレージボリュームについて、複数のタイプのI/Oパフォーマンス値のうち、前記決定された第1のタイプのSLOに関連付けられた第1のタイプのI/Oパフォーマンス値であって、そのストレージボリュームの第1のタイプのI/Oパフォーマンス値に基づいて、前記決定された第1のタイプのSLO用の閾値を決定する手段である閾値決定手段と、
    そのストレージボリュームの監視に使用するべきものとして、前記決定された第1のタイプのSLOおよび前記第1のタイプのSLO用の前記決定された閾値を表示する手段である表示手段と
    を備える管理コンピュータ。
  2. 前記I/OタイプがランダムI/Oの場合、前記第1のタイプは、応答時間であり、
    前記I/OタイプがシーケンシャルI/Oの場合、前記第1のタイプは、データスループットレートである、
    請求項1に記載の管理コンピュータ。
  3. 同じサーバにプロビジョニングされた1以上の第1のストレージボリュームからなるグループであるストレージグループを作成する手段であるストレージグループ作成手段と、
    前記ストレージグループの下に、前記1以上の第1のストレージボリュームのうちの1以上のストレージボリュームからなるグループであるモニタリンググループを作成する手段であるモニタリンググループ作成手段と
    を更に備える請求項1又は2に記載の管理コンピュータ。
  4. 前記表示手段は、前記ストレージグループ内のモニタリンググループごとに、前記決定された第1のタイプのSLOおよび前記第1のタイプのSLO用の前記決定された閾値を表示する、
    請求項3に記載の管理コンピュータ。
  5. 1以上のサーバに複数のストレージボリュームを提供するストレージシステムの管理方法であって、
    (a)前記ストレージシステムに接続された管理コンピュータが、ストレージボリュームについて動的に判断されシーケンシャルI/OであるかランダムI/Oであるかに関するI/Oタイプを基に、そのストレージボリュームについて、そのストレージボリュームの監視に使用されるべきサービスレベル目標(SLO)の第1のタイプを決定し、
    (b)前記管理コンピュータが、そのストレージボリュームについて、複数のタイプのI/Oパフォーマンス値のうち、前記決定された第1のタイプのSLOに関連付けられた第1のタイプのI/Oパフォーマンス値であって、そのストレージボリュームの前記第1のタイプのI/Oパフォーマンス値に基づいて、前記決定された第1のタイプのSLO用の閾値を決定し、
    (c)前記管理コンピュータが、そのストレージボリュームの監視に使用するべきものとして、前記決定された第1のタイプのSLOおよび前記第1のタイプのSLO用の前記決定された閾値を表示する、
    管理方法。
  6. 前記I/OタイプがランダムI/Oの場合、前記第1のタイプは応答時間であり、
    前記I/OタイプがシーケンシャルI/Oの場合、前記第1のタイプはデータスループットレートである、
    請求項5に記載の管理方法。
  7. 前記管理コンピュータが、同じサーバにプロビジョニングされた1以上の第1のストレージボリュームからなるグループであるストレージグループを作成し、
    前記管理コンピュータが、前記ストレージグループの下に、前記1以上の第1のストレージボリュームのうちの1以上のストレージボリュームからなるグループであるモニタリンググループを作成する、
    請求項5又は6に記載の管理方法。
  8. (c)では、前記管理コンピュータが、前記ストレージグループ内の前記モニタリンググループごとに、前記決定された第1のタイプのSLOおよび前記第1のタイプのSLO用の前記決定された閾値を表示する、
    請求項7に記載の管理方法。
JP2015556577A 2013-02-28 2013-02-28 動的ストレージサービスレベル・モニタリングの管理システムおよび方法 Expired - Fee Related JP6165886B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2013/001156 WO2014132099A1 (en) 2013-02-28 2013-02-28 Management system and method of dynamic storage service level monitoring

Publications (2)

Publication Number Publication Date
JP2016511463A JP2016511463A (ja) 2016-04-14
JP6165886B2 true JP6165886B2 (ja) 2017-07-19

Family

ID=48808397

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015556577A Expired - Fee Related JP6165886B2 (ja) 2013-02-28 2013-02-28 動的ストレージサービスレベル・モニタリングの管理システムおよび方法

Country Status (3)

Country Link
US (1) US20160004475A1 (ja)
JP (1) JP6165886B2 (ja)
WO (1) WO2014132099A1 (ja)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170031600A1 (en) 2015-07-30 2017-02-02 Netapp Inc. Real-time analysis for dynamic storage
US10296232B2 (en) * 2015-09-01 2019-05-21 Western Digital Technologies, Inc. Service level based control of storage systems
US10530791B2 (en) * 2016-08-16 2020-01-07 International Business Machines Corporation Storage environment activity monitoring
US10884622B2 (en) * 2016-10-17 2021-01-05 Lenovo Enterprise Solutions (Singapore) Pte. Ltd Storage area network having fabric-attached storage drives, SAN agent-executing client devices, and SAN manager that manages logical volume without handling data transfer between client computing device and storage drive that provides drive volume of the logical volume
CN108075923A (zh) * 2016-11-16 2018-05-25 杭州海康威视***技术有限公司 备份录像文件存储、播放方法及装置和视频监控***
US10296247B2 (en) 2016-11-21 2019-05-21 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Security within storage area network having fabric-attached storage drives, SAN agent-executing client devices, and SAN manager
US10353602B2 (en) 2016-11-30 2019-07-16 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Selection of fabric-attached storage drives on which to provision drive volumes for realizing logical volume on client computing device within storage area network
US10355925B2 (en) 2017-01-13 2019-07-16 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Autonomous generation and transmission of reportable events by fabric-attachable storage drive
US11223534B2 (en) 2017-12-29 2022-01-11 Virtual Instruments Worldwide, Inc. Systems and methods for hub and spoke cross topology traversal
WO2019133763A1 (en) * 2017-12-29 2019-07-04 Virtual Instruments Corporation System and method of application discovery
US10503672B2 (en) * 2018-04-26 2019-12-10 EMC IP Holding Company LLC Time dependent service level objectives
US10555412B2 (en) 2018-05-10 2020-02-04 Applied Materials, Inc. Method of controlling ion energy distribution using a pulse generator with a current-return output stage
US11785084B2 (en) * 2018-06-20 2023-10-10 Netapp, Inc. Machine learning based assignment of service levels in a networked storage system
US11023178B2 (en) * 2018-07-24 2021-06-01 Weka, Io Ltd Implementing coherency and page cache support for a storage system spread across multiple data centers
US11476145B2 (en) 2018-11-20 2022-10-18 Applied Materials, Inc. Automatic ESC bias compensation when using pulsed DC bias
JP7451540B2 (ja) 2019-01-22 2024-03-18 アプライド マテリアルズ インコーポレイテッド パルス状電圧波形を制御するためのフィードバックループ
US11508554B2 (en) 2019-01-24 2022-11-22 Applied Materials, Inc. High voltage filter assembly
US11481117B2 (en) 2019-06-17 2022-10-25 Hewlett Packard Enterprise Development Lp Storage volume clustering based on workload fingerprints
US11036430B2 (en) * 2019-06-24 2021-06-15 International Business Machines Corporation Performance capability adjustment of a storage volume
US11462389B2 (en) 2020-07-31 2022-10-04 Applied Materials, Inc. Pulsed-voltage hardware assembly for use in a plasma processing system
US20220129173A1 (en) * 2020-10-22 2022-04-28 EMC IP Holding Company LLC Storage array resource control
US11798790B2 (en) 2020-11-16 2023-10-24 Applied Materials, Inc. Apparatus and methods for controlling ion energy distribution
CN112306901B (zh) * 2020-11-16 2022-07-29 新华三大数据技术有限公司 基于分层存储***的刷盘方法、装置、电子设备及介质
US11901157B2 (en) 2020-11-16 2024-02-13 Applied Materials, Inc. Apparatus and methods for controlling ion energy distribution
US11495470B1 (en) 2021-04-16 2022-11-08 Applied Materials, Inc. Method of enhancing etching selectivity using a pulsed plasma
US11948780B2 (en) 2021-05-12 2024-04-02 Applied Materials, Inc. Automatic electrostatic chuck bias compensation during plasma processing
US11791138B2 (en) 2021-05-12 2023-10-17 Applied Materials, Inc. Automatic electrostatic chuck bias compensation during plasma processing
US11967483B2 (en) 2021-06-02 2024-04-23 Applied Materials, Inc. Plasma excitation with ion energy control
US20220399185A1 (en) 2021-06-09 2022-12-15 Applied Materials, Inc. Plasma chamber and chamber component cleaning methods
US11810760B2 (en) 2021-06-16 2023-11-07 Applied Materials, Inc. Apparatus and method of ion current compensation
US11569066B2 (en) 2021-06-23 2023-01-31 Applied Materials, Inc. Pulsed voltage source for plasma processing applications
US11776788B2 (en) 2021-06-28 2023-10-03 Applied Materials, Inc. Pulsed voltage boost for substrate processing
CN113391981A (zh) * 2021-06-30 2021-09-14 中国民航信息网络股份有限公司 一种监控指标的预警方法及相关设备
CN113608960B (zh) * 2021-07-09 2024-06-25 五八有限公司 一种服务监控方法、装置、电子设备及存储介质
US11476090B1 (en) 2021-08-24 2022-10-18 Applied Materials, Inc. Voltage pulse time-domain multiplexing
US11972924B2 (en) 2022-06-08 2024-04-30 Applied Materials, Inc. Pulsed voltage source for plasma processing applications
US20240004573A1 (en) * 2022-06-29 2024-01-04 Western Digital Technologies, Inc. Performance indicator on a data storage device
US20240045698A1 (en) * 2022-08-03 2024-02-08 Netapp, Inc. Storage device energy consumption evaluation and response

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3440219B2 (ja) * 1999-08-02 2003-08-25 富士通株式会社 入出力装置及びディスク・タイムシェアリング方法
US7203621B1 (en) * 2002-06-06 2007-04-10 Hewlett-Packard Development Company, L.P. System workload characterization
JP2004302751A (ja) * 2003-03-31 2004-10-28 Hitachi Ltd 計算機システムの性能管理方法、および、記憶装置の性能を管理する計算機システム
US7395187B2 (en) * 2006-02-06 2008-07-01 International Business Machines Corporation System and method for recording behavior history for abnormality detection
JP2009129134A (ja) * 2007-11-22 2009-06-11 Hitachi Ltd ストレージ管理システム、性能監視方法及び管理サーバ
US8239584B1 (en) * 2010-12-16 2012-08-07 Emc Corporation Techniques for automated storage management
US8621178B1 (en) * 2011-09-22 2013-12-31 Emc Corporation Techniques for data storage array virtualization

Also Published As

Publication number Publication date
US20160004475A1 (en) 2016-01-07
WO2014132099A1 (en) 2014-09-04
JP2016511463A (ja) 2016-04-14

Similar Documents

Publication Publication Date Title
JP6165886B2 (ja) 動的ストレージサービスレベル・モニタリングの管理システムおよび方法
JP4896593B2 (ja) 性能監視方法、計算機及び計算機システム
US8463905B2 (en) Drift visualization
US7444483B2 (en) Management apparatus, management method and storage management system
US9690645B2 (en) Determining suspected root causes of anomalous network behavior
US9971664B2 (en) Disaster recovery protection based on resource consumption patterns
JP4733461B2 (ja) 計算機システム、管理計算機及び論理記憶領域の管理方法
US9665630B1 (en) Techniques for providing storage hints for use in connection with data movement optimizations
US8260622B2 (en) Compliant-based service level objectives
EP2874064B1 (en) Adaptive metric collection, storage, and alert thresholds
US8527238B2 (en) Storage input/output utilization associated with a software application
WO2008098631A2 (en) A diagnostic system and method
JP2005157933A (ja) ストレージネットワークの性能情報を収集する方法およびプログラム
US6988224B2 (en) Measurement apparatus
US9042263B1 (en) Systems and methods for comparative load analysis in storage networks
CA2698215A1 (en) System and method for storage management
US11487462B2 (en) Method and device of predicting inter-volume copy time based on inter-pool copy speed
US11366606B2 (en) Smarter performance alerting mechanism combining thresholds and historical seasonality
US20130144844A1 (en) Computer system and file system management method using the same
CN115237334A (zh) 一种硬盘管理方法、装置及电子设备
JP6622808B2 (ja) 管理計算機および計算機システムの管理方法
US7546489B2 (en) Real time event logging and analysis in a software system
US11994941B2 (en) Analysis and remediation of alerts
US11210159B2 (en) Failure detection and correction in a distributed computing system
JP6823618B2 (ja) アクセス方法推定システム、及びアクセス方法推定方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161011

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170502

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170606

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: 20170620

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170621

R150 Certificate of patent or registration of utility model

Ref document number: 6165886

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees