(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025006348
(43)【公開日】2025-01-17
(54)【発明の名称】ストレージ管理プログラム、情報処理システム及びストレージ管理方法
(51)【国際特許分類】
G06F 16/13 20190101AFI20250109BHJP
【FI】
G06F16/13 100
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023107081
(22)【出願日】2023-06-29
(71)【出願人】
【識別番号】598057291
【氏名又は名称】エフサステクノロジーズ株式会社
(74)【代理人】
【識別番号】110003649
【氏名又は名称】弁理士法人真田特許事務所
(74)【代理人】
【識別番号】100189201
【弁理士】
【氏名又は名称】横田 功
(72)【発明者】
【氏名】岩館 洸太
(72)【発明者】
【氏名】渡辺 司芳
(57)【要約】
【課題】ボリュームの乖離値の計算精度を向上させ、ユーザに正しい情報を提供する。
【解決手段】設定された複数のボリュームの割り当て及び割り当て解除を示す情報に基づいて、複数のボリュームのそれぞれが使用されていない時間帯を除いた通信時間に関する指標値の平均値を算出し、複数のボリュームのそれぞれについて所定時間毎に取得した指標値と算出した平均値との乖離値を算出し、複数のボリュームの中から算出した乖離値の高いボリュームと、乖離値に対応する時間帯とを抽出して提示する、処理をコンピュータに実行させる。
【選択図】
図5
【特許請求の範囲】
【請求項1】
設定された複数のボリュームの割り当て及び割り当て解除を示す情報に基づいて、前記複数のボリュームのそれぞれが使用されていない時間帯を除いた通信時間に関する指標値の平均値を算出し、
前記複数のボリュームのそれぞれについて所定時間毎に取得した指標値と前記算出した平均値との乖離値を算出し、
前記複数のボリュームの中から算出した前記乖離値の高いボリュームと、前記乖離値に対応する時間帯とを抽出して提示する、
処理をコンピュータに実行させる、ストレージ管理プログラム。
【請求項2】
前記複数のボリュームの中から算出した前記乖離値の高い二以上のボリュームを、前記乖離値順にソートして、クライアント装置に提示する、
処理を前記コンピュータに実行させる、請求項1に記載のストレージ管理プログラム。
【請求項3】
前記指標値は、Input Output Per Second(IOPS)値又はレスポンス値である、
請求項1又は2に記載のストレージ管理プログラム。
【請求項4】
クライアント装置と管理装置とストレージ装置とを有する情報処理システムであって、
前記管理装置は、
前記クライアント装置によって設定された前記ストレージ装置における複数のボリュームの割り当て及び割り当て解除を示す情報に基づいて、前記複数のボリュームのそれぞれが使用されていない時間帯を除いた通信時間に関する指標値の平均値を算出し、
前記複数のボリュームのそれぞれについて所定時間毎に取得した指標値と算出した平均値との乖離値を算出し、
前記複数のボリュームの中から算出した前記乖離値の高いボリュームと、前記乖離値に対応する時間帯とを抽出して提示する、
プロセッサを備える、情報処理システム。
【請求項5】
クライアント装置と管理装置とストレージ装置とを有する情報処理システムにおいて、
前記管理装置が備えるコンピュータは、
前記クライアント装置によって設定された前記ストレージ装置における複数のボリュームの割り当て及び割り当て解除を示す情報に基づいて、前記複数のボリュームのそれぞれが使用されていない時間帯を除いた通信時間に関する指標値の平均値を算出し、
前記複数のボリュームのそれぞれについて所定時間毎に取得した指標値と算出した平均値との乖離値を算出し、
前記複数のボリュームの中から算出した前記乖離値の高いボリュームと、前記乖離値に対応する時間帯とを抽出して提示する、
処理を実行する、ストレージ管理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストレージ管理プログラム、情報処理システム及びストレージ管理方法に関する。
【背景技術】
【0002】
ストレージ管理ソフトにおいて登録したストレージに業務用ボリュームが作成され、同じくストレージ管理ソフトに登録した業務サーバに作成された業務用ボリュームが割り当てられ、業務が行われることがある。異なる業務毎に別のボリュームが使用され、ストレージシステムにおけるボリューム数は数千・数万規模に及ぶことがある。
【0003】
ボリューム毎に単位時間毎(例えば、1分毎)に、性能情報(例えば、IOPS;Input Output Per Second)が所定期間(例えば、90日間)収集記録され、性能が大きく乖離したボリュームとその期間を利用者に通知することがある。その情報を通知することで、利用者は大きく負荷がかかっているボリュームとその時刻を把握することができる。
【0004】
性能が大きく乖離したボリュームとその期間を求めるには、収集記録した長期間の性能情報群に基づき性能情報の乖離基準値が算出され、乖離基準値から所定以上離れた性能情報と該性能情報を記録した時刻が性能情報群から抽出される。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2021-190000号公報
【特許文献2】特開2018-190055号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
性能情報群の全期間に基づき性能情報の乖離基準値を算出すると、実際にボリュームが使われていない時間も含まれた乖離基準値が算出されてしまう。収集記録される性能情報がIOPS等の場合は、実際にボリュームが使われていない時間(IOPSが0である時間)も乖離基準値の算出に含むと、乖離基準値が不当に下がってしまうため、乖離値の計算を正確に行うことができないおそれがある。
【0007】
乖離値の計算をより正確に行うためにボリュームが実際に使われた時刻の性能情報に基づき性能情報の乖離基準値を算出したいが、ボリュームが実際に使われた上で、IOPSが0である場合と、ボリュームが使われていない時間のIOPSが0である場合とを性能情報だけでは区別することができず、0データを排除できないおそれがある。
【0008】
1つの側面では、ボリュームの乖離値の計算精度を向上させ、ユーザに正しい情報を提供することを目的とする。
【課題を解決するための手段】
【0009】
1つの側面では、ストレージ管理プログラムは、設定された複数のボリュームの割り当て及び割り当て解除を示す情報に基づいて、前記複数のボリュームのそれぞれが使用されていない時間帯を除いた通信時間に関する指標値の平均値を算出し、前記複数のボリュームのそれぞれについて所定時間毎に取得した指標値と前記算出した平均値との乖離値を算出し、前記複数のボリュームの中から算出した前記乖離値の高いボリュームと、前記乖離値に対応する時間帯とを抽出して提示する、処理をコンピュータに実行させる。
【発明の効果】
【0010】
1つの側面では、ボリュームの乖離値の計算精度を向上させ、ユーザに正しい情報を提供することができる。
【図面の簡単な説明】
【0011】
【
図1】関連例としてのストレージシステムにおけるボリューム割り当てを説明する図である。
【
図2】関連例としてのストレージシステムにおける時刻毎のIOPSを例示するグラフである。
【
図3】実施形態におけるボリュームが使用されている時間の抽出処理を説明する図である。
【
図4】実施形態における性能情報を例示するテーブルである。
【
図5】実施形態における情報処理システムの構成例を模式的に示すブロック図である。
【
図6】実施形態におけるアフィニティグループテーブルを例示する図である。
【
図7】実施形態におけるアクセスパステーブルを例示する図である。
【
図8】実施形態における関連情報テーブルを例示する図である。
【
図9】実施形態におけるボリュームID=1の性能情報CSVファイルを例示するテーブルである。
【
図10】実施形態におけるボリュームID=5の性能情報CSVファイルを例示するテーブルである。
【
図11】実施形態における業務ボリュームが使用されている時間の抽出処理を説明するフローチャートである。
【
図12】
図5に示したストレージ管理装置のハードウェア構成例を模式的に示すブロック図である。
【発明を実施するための形態】
【0012】
〔A〕関連例
図1は、関連例としてのストレージシステム600におけるボリューム割り当てを説明する図である。
【0013】
図1に示すストレージシステム600は、クライアント6、サーバ7及び1以上(
図1に示す例では、2つ)のストレージ8を備える。
【0014】
クライアント6によってストレージ8が登録されると、符号A1に示すように、ストレージ8から切り出されたボリューム80(
図1に示す例では、Vol#1、Vol#2、・・・Vol#5000)が定義される。
【0015】
クライアント6によってサーバ7が登録されると、符号A2に示すように、ストレージ8から切り出されたボリューム80がサーバ7に割り当てられる。
【0016】
図1に示す例では、符号A3に示すようにVol#1が業務#1で使用され、符号A4に示すようにVol#2が業務#2で使用され、符号A5に示すようにVol#5000が業務#5000で使用される。
【0017】
ここで、業務#1(別言すればVol#1)に遅延がみられた場合(例えば、ボリューム80へのIO遅延がみられた場合)には、その原因がどのボリューム80にあるのか、調査が行われる。
【0018】
原因となるボリューム80の調査にあたっては、いずれかのボリューム80が定常時よりもIOに負担をかけているかが特定され、そのボリューム80を中心に調査が行われてよい。IO負荷が高いことの確認のためにはボリューム80毎のIOPSが確認され、定常時と比較してIOPSがどれだけ乖離(別言すれば、上昇)しているかが確認されてよい。例えば、ボリューム80のIOPS情報は時系列グラフでユーザに提示されてよい。
【0019】
IOPSが定常時(別言すれば、平均)と比較してどれだけ乖離しているかを表す指標として、乖離値が用いられてよい。
【0020】
乖離値は、業務(別言すれば、ボリューム80)毎に求められ、乖離値が最も高いボリューム80が特定され、そのボリューム80を中心にIO遅延の原因が調査されてよい。乖離値tは、例えば次式によって算出される。IOPS平均値は、乖離基準値と称されてもよい。
乖離値t=時刻tのIOPS値-取得した全時刻のIOPS平均値
【0021】
なお、乖離値tは、差分によって算出される場合の他、例えば変化率によって算出されてもよい。
【0022】
図2は、関連例としてのストレージシステム600における時刻毎のIOPSを例示するグラフである。
【0023】
図2に示すグラフにおいて、横軸は時刻を表し、縦軸はIOPSを表す。また、実線グラフはVol#1のIOPSを表し、一点鎖線枠グラフはVol#2のIOPSを表す。
【0024】
符号B1に示すように業務#1が開始されるとVol#1のIOPSが記録されるが、符号B2に示すようにVol#2のIOPSは0のままである。その後、符号B3に示すように、時刻tにおいて業務#2が開始されると、Vol#2のIOPSが記録される。
【0025】
図2に示す例においては、業務#2と業務#1とは開始時間が異なるため、破線枠で示す時刻tよりも前のIOPS(別言すれば、0データ)によって乖離値を正確に計算できなくなる。
【0026】
〔B〕実施形態
以下、図面を参照して一実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【0027】
図3は、実施形態におけるボリュームが使用されている時間の抽出処理を説明する図である。
【0028】
Vol#1~#3について、符号C1に示す時刻にボリューム割り当て又はボリューム割り当て解除の操作が行われたものとする。
【0029】
符号C2に示すタイムチャートにおいて、斜線部分の時間帯に取得したIOPSについては、現在時刻から遡って、ストレージ管理ソフトが性能情報の保持できる期間(例えば、90日)を超過している。そのため、ストレージ管理ソフトで性能情報を保持していないため、乖離値基準値の計算において除外される。
【0030】
また、白色部分の時間帯も、実際にボリュームを使用していない時間帯のため、乖離基準値の計算から除外される。
【0031】
一方、網掛け部分の時間帯は、乖離基準値の計算に使用する性能情報(別言すれば、IOPS)として絞り込まれる。なお、IOPSは、計算に使用する時間帯におけるレスポンスの応答時間を表すレスポンス値であってもよい。
【0032】
2022/10/1 13:00:00(符号C21参照)~2022/10/30 13:00:00(符号C22参照)においては、Volume#1はIOPSの保持期間を超過しているため計算対象から除外され、Volume#2,#3は実際にボリュームを使用していない時間帯のため計算対象から除外される。
【0033】
2022/10/30 13:00:00(符号C22参照)~2022/11/1 13:00:00(符号C23参照)においては、Volume#1~#3は実際にボリュームを使用していない時間帯のため計算対象から除外される。
【0034】
2022/11/1 13:00:00(符号C23参照)~2022/12/4 13:00:00(符号C24参照)においては、Volume#2,#3はIOPSの保持期間を超過しているため計算対象から除外され、Volume#1は実際にボリュームを使用していない時間帯のため計算対象から除外される。
【0035】
2022/12/4 13:00:00(符号C24参照)は、ストレージ管理ソフトで保持する最古の性能情報取得時刻であり、例えば現在時刻から遡って90日であってよい。
【0036】
2022/12/4 13:00:00(符号C24参照)~2022/12/10 16:00:00(符号C25参照)においては、Volume#1は実際にボリュームを使用していない時間帯のため計算対象から除外され、Volume#2,#3は計算対象に含められる。
【0037】
2022/12/10 16:00:00(符号C25参照)~2023/2/21 14:00:00(符号C26参照)においては、Volume#1、#3は実際にボリュームを使用していない時間帯のため計算対象から除外され、Volume#2は計算対象に含められる。
【0038】
2023/2/21 14:00:00(符号C26参照)~2023/2/28 17:00:00(符号C27参照)においては、Volume#1は実際にボリュームを使用していない時間帯のため計算対象から除外され、Volume#2,#3は計算対象に含められる。
【0039】
2023/2/28 17:00:00(符号C27参照)~2023/3/3 14:00:00(符号C28参照;現在時刻)においては、Volume#1、#2は実際にボリュームを使用していない時間帯のため計算対象から除外され、Volume#3は計算対象に含められる。
【0040】
図4は、実施形態における性能情報を例示するテーブルである。
【0041】
符号D1に示す性能情報は、例えばCSVファイルであり、各リソース(例えば、ボリュームやディスク)毎に開始時刻(例えば、性能情報取得時間A)から終了時刻(例えば、性能情報取得時間B)の間に発生したIOPSの値を保持している。
【0042】
符号D1には、Volume#1のIOが示されており、性能情報取得時間A(12:00)と性能情報取得時間B(12:00:30)との間に発生したIOPSが300であることが示されている。
【0043】
図5は、実施形態における情報処理システム100の構成例を模式的に示すブロック図である。
【0044】
情報処理装置は、クライアント1、ストレージ管理装置2及びストレージシステム3を備える。
【0045】
ストレージシステム3は、業務サーバ31、スイッチ32及びストレージ33を備える。
【0046】
業務サーバ31は、サーバ機能を備えたコンピュータである。
図5に示す例においてはストレージシステム3が1つの業務サーバ31を備えることとしているが、ストレージシステム3が備える業務サーバ31の数は種々変更することができる。
【0047】
スイッチ32は、業務サーバ31とストレージ33との間の経路を自在に変更するものである。
【0048】
ストレージ33は、データを読み書き可能に記憶する装置であり、例えば、Hard Disk Drive(HDD)やSolid State Drive(SSD),Storage Class Memory(SCM)が用いられてよい。なお、ストレージシステム3が備えるストレージ33の数は種々変更できる。
【0049】
クライアント1は、リクエスト発行部111及び表示データ生成部112としての機能を備える。
【0050】
リクエスト発行部111は、ストレージ管理装置2のサイドに対して、ユーザの操作に基づき、IOPS乖離値の高いボリュームの表示命令を取得する命令を発行する。命令には、業務ボリュームのIDと表示数とが含まれてよい。業務ボリュームのIDは、ユーザが指定するIO遅延がみられる業務ボリュームの識別子である。この業務ボリュームのIO遅延の原因と考えられる業務ボリュームがストレージ管理装置2で算出される。表示数は、ストレージ管理装置2のサイドから取得するレスポンスデータ数であり、乖離値でソートされて最も高い業務ボリュームから指定した表示数だけ表示される。
【0051】
表示データ生成部112は、ストレージ管理装置2から受け取ったレスポンスから、ブラウザで表示するためのHTMLを生成する。表示データ作成部227は、例えば、priorityが1に近いレスポンスの表示情報ほど、左上に表示するようHTMLを生成する。
【0052】
ストレージ管理装置2は、通信部211、割り当て指示部222、インタフェース部223、業務情報格納部224、性能情報格納部225、性能情報解析部226及び表示データ作成部227としての機能を備える。
【0053】
性能情報格納部225は、インタフェース部223において作成したCSVファイルの保存場所である。
【0054】
業務情報格納部224は、ストレージ管理装置2に登録している業務ボリュームが属するアフィニティグループを業務サーバ31へ割り当てた時間情報を保持している。
【0055】
性能情報解析部226は、性能情報格納部225からIOPS情報を取得する。性能情報解析部226は、業務情報格納部224にアクセスし、業務サーバ31に割り当てた全業務ごとのIOPS取得開始時間及びIOPS取得終了時間を算出する。性能情報解析部226は、-算出した時間からIOPS乖離値を算出してソートし、クライアント1から送信された業務ボリュームの負荷原因と考えられる業務ボリュームの候補を、上位からX件算出する。Xは、クライアント1から渡された“表示数”パラメータの値である。
【0056】
表示データ作成部227は、クライアント1のサイドに送信するレスポンスデータ(例えば、key-value形式)を作成する。表示データ作成部227は、作成する表示データ数を乖離値でソートし、最も高い業務ボリュームから、ユーザが指定した数(例えば、2件)だけ取得する。
【0057】
key-valueデータは、例えば以下のようになる。なお、volume_nameはボリューム名であり、start_timeはIOPS取得開始時間であり、end_timeはIOPS取得終了時間であり、divergenceは乖離値である。また、prioirityは1~レスポンスデータ数(本例では2)の間のいずれかの値で、乖離値でソートした際に最も乖離値の大きいものが1となる。
volume_name:Vol1
start_time:2022/12/7:22:00
end_time:2022/12/7:22:01
divergence:1000
priority:1
【0058】
上記のkey-valueデータは、Vol1の22:00~22:01までに観測されたIOPSについて最も高い乖離値が観測されていることを表す。
【0059】
通信部211は、クライアント1からのリクエストの受付を行うと共に、表示データ作成部227で作成されたレスポンスデータをクライアント1に送信する。
【0060】
割り当て指示部222は、クライアント1から受け付けたパラメータに基づき、業務サーバ31へのボリューム割り当て命令を作成し、ストレージシステム3とのインタフェース部223へ送信する。
【0061】
インタフェース部223は、ストレージシステム3に対して、割り当て指示部222から受け付けたパラメータに基づき、ボリューム割り当てコマンドを発行する。また、インタフェース部223は、ユーザが設定した性能情報監視間隔毎にストレージ333から性能情報(別言すれば、IOPS)の値を取得し、性能情報格納部225に転送し保存する。
【0062】
図5において、符号G1、G2に示す処理は、ストレージ管理装置2のサイドでの処理で、業務ボリュームの性能情報(別言すれば、IOPS)の値をストレージ33から取得する処理の手順を表す。符号G1、G2に示す処理は、ストレージ管理装置2において、ユーザが設定した性能情報監視間隔(例えば、30sec)毎にバックグラウンドで実行されてよい。
【0063】
ストレージ管理装置2のインタフェース部223は、ストレージ33からボリューム毎のIOPS値を取得する(符号G1参照)。インタフェース部223は、取得した性能情報(別言すれば、CSVファイル)を性能情報格納部225へ転送する(符号G2参照)。
【0064】
図5において、符号F1~F8に示す処理は、ストレージ管理装置2での処理で、ストレージ管理装置2においてユーザが業務サーバ31に業務ボリュームを割り当てる命令を発行した際に実行される。符号F1~F8に示す処理は、ストレージ管理装置2による業務ボリュームの割り当ての指示から指示結果までをストレージ管理装置2の業務情報格納部224に保存するまでの処理の手順を示す。符号F1~F8に示す処理は、バックグラウンドで実行される。
【0065】
クライアント1のリクエスト発行部111は、ストレージ管理装置2に対して、業務ボリュームの業務サーバ31への割当て命令を発行する。割り当て命令には、ストレージ識別子、アフィニティグループ識別子、業務サーバ識別子及びポート識別子の各パラメータが含まれてよい(符号F1参照)。
【0066】
ストレージ管理装置2の通信部211は、クライアント1から受け付けたパラメータに基づき、業務ボリュームを業務サーバ31に割り当てる命令の発行を指示する(符号F2参照)。
【0067】
ストレージ管理装置2の割り当て指示部222は、クライアント1から受け付けたパラメータに基づき、業務ボリュームを業務サーバ31に割り当てる命令を作成する(符号F3参照)。割り当て指示部222は、作成した命令をストレージシステム3とのインタフェース部223に送信する(符号F4参照)。
【0068】
ストレージ管理装置2のインタフェース部223は、ストレージシステム3に対してボリューム割り当ての指示命令を発行する(符号F5参照)。インタフェース部223は、発行したボリューム割り当ての指示命令の応答結果を受け取る(符号F6参照)。
【0069】
割り当て指示部222は、業務ボリュームの割り当て処理の結果(成功/失敗)及び操作が完了した時間の情報をインタフェース部223から受け取る(符号F7参照)。割り当て指示部222は、ボリューム割り当ての操作に対して、完了した時刻と割り当てたボリュームの識別子、サーバの識別子のペア情報を業務情報格納部224に保存する(符号F8参照)。
【0070】
図5において、符号E1~E9に示す処理は、クライアント1のサイドにおける処理で、ユーザの操作を起点とする処理である。符号E1~E9に示す処理は、乖離値の高いボリュームをストレージ管理装置2がストレージ管理装置2の保持する性能情報と業務情報とから算出し、結果をクライアント1に返却し、クライアント側で表示するまでの処理の手順を表す。
【0071】
クライアント1のリクエスト発行部111は、IOPS乖離値の高い業務ボリュームを表示する命令を発行する(符号E1参照)。命令には、ボリュームID(例えば、a)及び表示数(例えば、2)の各パラメータが含まれてよい。
【0072】
ストレージ管理装置2の通信部211は、クライアント1から受け付けたパラメータ(別言すれば、ボリュームID及び表示数)を同梱してIOPS乖離値算出命令を性能情報解析部226に送信する(符号E2参照)。
【0073】
ストレージ管理装置2の性能情報解析部226は、IOPS取得開始時間とIOPS取得終了時間とを算出するために必要な情報を読み込む。性能情報解析部226は、性能情報のCSVファイルを読み込む。性能情報解析部226における処理の詳細は、
図6~
図10を用いて後述する。
【0074】
上述した関連例では、業務ボリューム毎、時間毎に乖離値(別言すれば、当該時刻のIOPS情報と乖離基準値との差分)を計算する際、業務ボリュームが実際に使用されていない時間帯の0データも含めた計算が行われていた。これにより、乖離基準値が実際よりも減少するため、乖離値が不当に高く算出されることとなる。
【0075】
図5に示す性能情報解析部226は、乖離値の計算をより正確に計算できるようにするため、乖離基準値計算に使用するIOPS値を業務ボリュームが実際に使用された区間に絞り込み、絞り込んだ区間のIOPS情報のみを使って乖離基準値を求める。
【0076】
具体的には、性能情報解析部226は、符号E2に示した通信部211から受け取ったパラメータ(別言すれば、ボリュームID)に該当する業務ボリュームの負荷が高い原因の候補となる業務ボリュームを抽出するための乖離値計算を実行する。性能情報解析部226は、乖離値計算において、使用するIOPS情報を業務サーバ31に割り当てられている各業務ボリュームが実際に使用された区間に絞り込むために、各業務ボリュームの業務サーバ31に割り当てられた時間及び解除された時間を抽出する。
【0077】
性能情報解析部226は、符号E2に示した通信部211から受け取ったボリュームIDを持つ業務ボリュームが属するアフィニティグループのIDを取得する。
【0078】
性能情報解析部226は、取得したアフィニティグループに属する業務ボリュームについて、業務サーバ31に割り当てられた時間(別言すれば、アクセスパス設定時間)及び割り当てを解除された時間(別言すれば、アクセスパス解除時間)を算出する。
【0079】
その後、性能情報解析部226は、性能情報格納部225から取得した性能情報のSCSVファイルの時間情報を参照し、アクセスパス設定時間からアクセスパス解除時間の区間に取得したIOPS値を抽出して業務ボリューム毎の乖離基準値を算出する。
【0080】
性能情報解析部226は、乖離基準値の算出後は、業務ボリューム毎、時間帯毎に乖離値(別言すれば、当該時間帯に取得したIOPS値-乖離基準値)を算出する。
【0081】
なお、性能情報解析部226は、IOPS取得開始時間からIOPS取得終了時間までに含まれない時間の乖離値を0とする。
【0082】
性能情報解析部226は、算出した乖離値をソートし、負荷の高い原因と考えられる業務ボリュームを符号E2に示した通信部211から受け取ったパラメータ(別言すれば、表示数)分抽出する。
【0083】
性能情報解析部226は、乖離値の高いボリューム情報を表示データ作成部227に送信する(符号E5参照)。
【0084】
ストレージ管理装置2の表示データ作成部227は、クライアント1との通信部211にレスポンスデータを格納する(符号E6参照)。
【0085】
通信部211は、格納されたレスポンスデータをクライアント1に送信する(符号E7参照)。
【0086】
クライアント1の表示データ作成部227は、ストレージ管理装置2からレスポンスデータを受信し、レスポンスデータからブラウザでの表示用HTMLを生成する(符号E8参照)。表示データ作成部227は、生成した表示用HTMLを表示装置131に表示させる(符号E9参照)。
【0087】
図6は、実施形態におけるアフィニティグループテーブル201を例示する図である。
【0088】
アフィニティグループは、業務サーバ31に割り当てた業務ボリュームの集合である。ストレージ管理装置2は、業務サーバ31への業務ボリューム割り当て前にアフィニティグループを作成しておき、業務サーバ31に業務ボリュームを割り当てる際にアフィニティグループ単位で行う。
【0089】
ボリュームID=1を受け取った場合に、ボリュームIDでアフィニティグループIDとボリュームIDの関連付けを行うアフィニティグループテーブル201が参照され、指定された業務ボリュームが属するアフィニティグループが特定される。
【0090】
図6に示す例では、ボリュームID=1に対応するアフィニティグループIDは1となる。
【0091】
図7は、実施形態におけるアクセスパステーブル202を例示する図である。
【0092】
アクセスパスは、業務サーバ31とストレージポート及びアフィニティグループの間に設定される論理パスである。アクセスパスが設定された業務サーバ31から、アフィニティグループに属する業務ボリュームを認識できるようになる(別言すれば、ボリューム割り当てが行われる)。
【0093】
取得したアフィニティグループID(本例では1)で、アフィニティグループIDと業務サーバIDとの関連付けを行うアクセスパステーブル202が参照され、当該アフィニティグループのアクセスパス設定時間及びアクセスパス解除時間が取得される。
【0094】
アクセスパステーブル202は、業務サーバ31へのアフィニティグループ割り当て情報を保持している。
図7に示すテーブルの先頭を例にすると、アフィニティグループID=1のアフィニティグループが業務サーバID=1の業務サーバ#1に2022/12/23 12:00:00に割り当てられ、2023/1/5 11:00:00に割り当てが解除されたことが示されている。なお、ボリューム割り当てが解除されていない場合には、解除時間については空白となる。
【0095】
図8は、実施形態における関連情報テーブル203を例示する図である。
【0096】
関連情報テーブル203は、アフィニティグループとアクセスパス設定時間・解除時間との関係を示す。
【0097】
図8に示す例では、
図7に示したアクセスパステーブル202からアフィニティグループID=1についてのアクセスパス設定時間及びアクセスパス解除時間が抽出される。
【0098】
図8に示すアクセスパス設定時間からアクセスパス解除時間までの区間に取得したIOPS情報が、実際に業務を行っていた際に得られたIOPS値である。
【0099】
図9は、実施形態におけるボリュームID=1の性能情報CSVファイル204aを例示するテーブルである。
図10は、実施形態におけるボリュームID=5の性能情報CSVファイル204bを例示するテーブルである。
【0100】
図8に示した関連情報テーブル203から、アフィニティグループID(本例では1)が取得され、当該アフィニティグループに属する業務ボリュームの性能情報CSVファイル204aが読み込まれる。アフィニティグループテーブル201より、アフィニティグループID=1に属する業務ボリュームは#1,#5であるため、ボリュームID=1,5のボリュームの性能情報CSVファイル204a、204bが読み込まれ、アクセスパス設定時間からアクセスパス解除時間までのIOPS値が取得される。
【0101】
上述した関連例では取得した性能情報をすべて使用して乖離基準値が算出されるため、業務ボリュームが実際に使用されていない区間(
図9及び
図10の破線枠外)のIOPS値(0データ)が乖離基準値の計算時に含まれ、乖離基準値(別言すれば、平均値)が低く算出される。一方、本実施形態では
図9及び
図10の破線枠で囲われた区間のIOPS値のみを使用して乖離基準値が計算される。
【0102】
そして、
図9及び
図10に示す性能情報CSVファイル204a、204bから乖離基準値が計算される。
【0103】
ボリューム#1の場合には、2022/12/23 12:00~2023/1/5 11:00, 2023/2/21 15:00~2023/2/28 11:00の区間まで1分おきに取得した28500(18660+9840)個のIOPS値から乖離基準値が求められる。ボリューム#1の乖離基準値 = (100+80+60+120+150+50*(28500-5))/28500 ≒ 50.01となる。
【0104】
ボリューム#5の場合には、2022/12/23 12:00~2023/1/5 11:00, 2023/2/21 15:00~2023/2/28 11:00の区間まで1分おきに取得した28500(18660+9840)個のIOPS値から乖離基準値が求められる。ボリューム#5の乖離基準値 = (30+10+50+20+150+10*(28500-5))/28500 ≒ 10となる。
【0105】
図11は、実施形態における業務ボリュームが使用されている時間の抽出処理を説明するフローチャートである。
【0106】
ストレージ管理装置2は、クライアント1から、ボリュームIDを受け取る(ステップS1)。
【0107】
ストレージ管理装置2は、アフィニティグループテーブル201に接続し、ステップS1における処理で受け取ったボリュームIDを持つ行を検索する(ステップS2)。
【0108】
ストレージ管理装置2は、アクセスパステーブル202に接続し、アフィニティグループのアクセスパス設定時間及びアクセスパス解除時間を取得する(ステップS3)。
【0109】
ストレージ管理装置2は、アフィニティグループテーブル201に接続し、当該アフィニティグループに属する業務ボリュームのID一覧を取得する(ステップS4)。
【0110】
ストレージ管理装置2は、取得した全てのIDに該当する業務ボリュームの性能情報ファイルを読み込み済みであるかを判定する(ステップS5)。
【0111】
取得した全てのIDに該当するボリュームの性能情報ファイルを読み込み済みでない場合には(ステップS6のNoルート参照)、ストレージ管理装置2は、取得したボリュームID=Nに該当する業務ボリュームの性能情報ファイルを読み込む(ステップS6)。そして、処理はステップS5へ戻る。
【0112】
一方、取得した全てのIDに該当するボリュームの性能情報ファイルを読み込み済みである場合には(ステップS5のYesルート参照)、ストレージ管理装置2は、乖離基準値計算のための変数(別言すれば、perf_arrと呼称)を業務ボリューム毎に初期化する(ステップS7)。
【0113】
ストレージ管理装置2は、取得した全てのIDに該当する業務ボリュームの乖離基準値を計算済みであるかを判定する(ステップS8)。
【0114】
取得した全てのIDに該当するボリュームの乖離基準値を計算済みである場合には(ステップS8のYesルート参照)、業務ボリュームが使用されている時間の抽出処理は終了する。
【0115】
一方、取得した全てのIDに該当するボリュームの乖離基準値を計算済みでない場合には(ステップS8のNoルート参照)、ストレージ管理装置2は、アクセスパス設定時間から解除時間までの全ての性能情報を読み込み済みであるかを判定する(ステップS9)。
【0116】
アクセスパス設定時間から解除時間までの全ての性能情報を読み込み済みである場合には(ステップS9のYesルート参照)、ストレージ管理装置2は、perf_arrの要素の平均値を求め、乖離基準値とする(ステップS10)。そして、処理はステップS8へ戻る。
【0117】
一方、アクセスパス設定時間から解除時間までの全ての性能情報を読み込み済みでない場合には(ステップS9のNoルート参照)、ストレージ管理装置2は、ボリュームID=Nの性能情報ファイルから時間帯iの性能情報を読み込み、perf_arrに追加する(ステップS11)。
【0118】
ストレージ管理装置2は、時間帯iをインクリメントする(ステップS12)。そして、処理はステップS9へ戻る。
【0119】
図12は、
図5に示したストレージ管理装置2のハードウェア構成例を模式的に示すブロック図である。
【0120】
図12に示すように、ストレージ管理装置2は、CPU(Central Processing Unit)11,メモリ部12,表示制御部13,記憶装置14,入力Interface(IF)15,外部記録媒体処理部16及び通信IF17を備える。
【0121】
なお、
図5に示したクライアント1及び業務サーバ31も、ストレージ管理装置2と同様のハードウェア構成を有してよい。
【0122】
メモリ部12は、記憶部の一例であり、例示的に、Read Only Memory(ROM)及びRandom Access Memory(RAM)などである。メモリ部12のROMには、Basic Input/Output System(BIOS)等のプログラムが書き込まれてよい。メモリ部12のソフトウェアプログラムは、CPU11に適宜に読み込まれて実行されてよい。また、メモリ部12のRAMは、一時記録メモリあるいはワーキングメモリとして利用されてよい。
【0123】
表示制御部13は、表示装置131と接続され、表示装置131を制御する。表示装置131は、液晶ディスプレイやOrganic Light-Emitting Diode(OLED)ディスプレイ,Cathode Ray Tube(CRT),電子ペーパーディスプレイ等であり、オペレータ等に対する各種情報を表示する。表示装置131は、入力装置と組み合わされたものでもよく、例えば、タッチパネルでもよい。表示装置131は、ストレージ管理装置2のユーザに対する種々の情報を表示する。
【0124】
記憶装置14は、高IO性能の記憶装置であり、例えば、Dynamic Random Access Memory(DRAM)やSSD(Solid State Drive),Storage Class Memory(SCM),HDD(Hard Disk Drive)が用いられてよい。
【0125】
入力IF15は、マウス151やキーボード152等の入力装置と接続され、マウス151やキーボード152等の入力装置を制御してよい。マウス151やキーボード152は、入力装置の一例であり、これらの入力装置を介して、オペレータが各種の入力操作を行う。
【0126】
外部記録媒体処理部16は、記録媒体160が装着可能に構成される。外部記録媒体処理部16は、記録媒体160が装着された状態において、記録媒体160に記録されている情報を読み取り可能に構成される。本例では、記録媒体160は、可搬性を有する。例えば、記録媒体160は、フレキシブルディスク、光ディスク、磁気ディスク、光磁気ディスク、又は、半導体メモリ等である。
【0127】
通信IF17は、外部装置との通信を可能にするためのインタフェースである。
【0128】
CPU11は、プロセッサの一例であり、種々の制御や演算を行う処理装置である。CPU11は、メモリ部12に読み込まれたOperating System(OS)やプログラムを実行することにより、種々の機能を実現する。なお、CPU11は、複数のCPUを含むマルチプロセッサであってもよいし、複数のCPUコアを有するマルチコアプロセッサであってもよく、或いは、マルチコアプロセッサを複数有する構成であってもよい。
【0129】
ストレージ管理装置2全体の動作を制御するための装置は、CPU11に限定されず、例えば、MPUやDSP,ASIC,PLD,FPGAのいずれか1つであってもよい。また、ストレージ管理装置2全体の動作を制御するための装置は、CPU,MPU,DSP,ASIC,PLD及びFPGAのうちの2種類以上の組み合わせであってもよい。なお、MPUはMicro Processing Unitの略称であり、DSPはDigital Signal Processorの略称であり、ASICはApplication Specific Integrated Circuitの略称である。また、PLDはProgrammable Logic Deviceの略称であり、FPGAはField Programmable Gate Arrayの略称である。
【0130】
〔C〕効果
上述した実施形態におけるストレージ管理プログラム、情報処理システム100及びストレージ管理方法によれば、例えば以下の作用効果を奏することができる。
【0131】
ストレージ管理装置2は、クライアント1によって設定されたストレージシステム3における複数のボリュームの割り当て及び割り当て解除を示す情報に基づいて、複数のボリュームのそれぞれが使用されていない時間帯を除いた通信時間に関する指標値の平均値を算出する。ストレージ管理装置2は、複数のボリュームのそれぞれについて所定時間毎に取得した指標値と算出した平均値との乖離値を算出する。ストレージ管理装置2は、複数のボリュームの中から算出した乖離値の高いボリュームと、乖離値に対応する時間帯とを抽出して提示する。
【0132】
これにより、ボリュームの乖離値の計算精度を向上させ、ユーザに正しい情報を提供することができる。
【0133】
ストレージ管理装置2は、複数のボリュームの中から算出した乖離値の高い二以上のボリュームを、乖離値順にソートして、クライアント1に提示する。
【0134】
これにより、ユーザは乖離度が高い順で業務ボリュームを認識することができる。
【0135】
指標値は、IOPS値又はレスポンス値である。
【0136】
これにより、ボリュームの乖離値の計算精度をより向上させることができる。
【0137】
〔D〕その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
【0138】
〔E〕付記
以上の実施形態に関し、更に以下の付記を開示する。
【0139】
(付記1)
設定された複数のボリュームの割り当て及び割り当て解除を示す情報に基づいて、前記複数のボリュームのそれぞれが使用されていない時間帯を除いた通信時間に関する指標値の平均値を算出し、
前記複数のボリュームのそれぞれについて所定時間毎に取得した指標値と前記算出した平均値との乖離値を算出し、
前記複数のボリュームの中から算出した前記乖離値の高いボリュームと、前記乖離値に対応する時間帯とを抽出して提示する、
処理をコンピュータに実行させる、ストレージ管理プログラム。
【0140】
(付記2)
前記複数のボリュームの中から算出した前記乖離値の高い二以上のボリュームを、前記乖離値順にソートして、クライアント装置に提示する、
処理を前記コンピュータに実行させる、付記1に記載のストレージ管理プログラム。
【0141】
(付記3)
前記指標値は、Input Output Per Second(IOPS)値又はレスポンス値である、
付記1又は2に記載のストレージ管理プログラム。
【0142】
(付記4)
クライアント装置と管理装置とストレージ装置とを有する情報処理システムであって、
前記管理装置は、
前記クライアント装置によって設定された前記ストレージ装置における複数のボリュームの割り当て及び割り当て解除を示す情報に基づいて、前記複数のボリュームのそれぞれが使用されていない時間帯を除いた通信時間に関する指標値の平均値を算出し、
前記複数のボリュームのそれぞれについて所定時間毎に取得した指標値と前記算出した平均値との乖離値を算出し、
前記複数のボリュームの中から算出した前記乖離値の高いボリュームと、前記乖離値に対応する時間帯とを抽出して提示する、
プロセッサを備える、情報処理システム。
【0143】
(付記5)
前記プロセッサは、
前記複数のボリュームの中から算出した前記乖離値の高い二以上のボリュームを、前記乖離値順にソートして、前記クライアント装置に提示する、
付記4に記載の情報処理システム。
【0144】
(付記6)
前記指標値は、Input Output Per Second(IOPS)値又はレスポンス値である、
付記4又は5に記載の情報処理システム。
【0145】
(付記7)
クライアント装置と管理装置とストレージ装置とを有する情報処理システムにおいて、
前記管理装置が備えるコンピュータは、
前記クライアント装置によって設定された前記ストレージ装置における複数のボリュームの割り当て及び割り当て解除を示す情報に基づいて、前記複数のボリュームのそれぞれが使用されていない時間帯を除いた通信時間に関する指標値の平均値を算出し、
前記複数のボリュームのそれぞれについて所定時間毎に取得した指標値と前記算出した平均値との乖離値を算出し、
前記複数のボリュームの中から算出した前記乖離値の高いボリュームと、前記乖離値に対応する時間帯とを抽出して提示する、
処理を実行する、ストレージ管理方法。
【0146】
(付記8)
前記複数のボリュームの中から算出した前記乖離値の高い二以上のボリュームを、前記乖離値順にソートして、前記クライアント装置に提示する、
処理を前記コンピュータが実行する、付記7に記載のストレージ管理方法。
【0147】
(付記9)
前記指標値は、Input Output Per Second(IOPS)値又はレスポンス値である、
付記7又は8に記載のストレージ管理方法。
【符号の説明】
【0148】
1 :クライアント
2 :ストレージ管理装置
3 :ストレージシステム
6 :クライアント
7 :サーバ
8 :ストレージ
11 :CPU
12 :メモリ部
13 :表示制御部
14 :記憶装置
16 :外部記録媒体処理部
31 :業務サーバ
32 :スイッチ
33 :ストレージ
80 :ボリューム
100 :情報処理システム
111 :リクエスト発行部
112 :表示データ生成部
131 :表示装置
151 :マウス
152 :キーボード
160 :記録媒体
201 :アフィニティグループテーブル
202 :アクセスパステーブル
203 :関連情報テーブル
204a :性能情報CSVファイル
204b :性能情報CSVファイル
211 :通信部
222 :割り当て指示部
223 :インタフェース部
224 :業務情報格納部
225 :性能情報格納部
226 :性能情報解析部
227 :表示データ作成部
333 :ストレージ
600 :ストレージシステム
IF15 :入力
IF17 :通信