(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024158090
(43)【公開日】2024-11-08
(54)【発明の名称】ストレージシステム及びストレージシステムの制御方法
(51)【国際特許分類】
G06F 11/34 20060101AFI20241031BHJP
G06F 13/10 20060101ALI20241031BHJP
G06F 9/48 20060101ALI20241031BHJP
H04L 67/1097 20220101ALI20241031BHJP
G06F 3/06 20060101ALI20241031BHJP
【FI】
G06F11/34 133
G06F13/10 340A
G06F9/48 300G
H04L67/1097
G06F3/06 301A
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023072959
(22)【出願日】2023-04-27
(71)【出願人】
【識別番号】524132520
【氏名又は名称】日立ヴァンタラ株式会社
(74)【代理人】
【識別番号】110002365
【氏名又は名称】弁理士法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】細谷 睦
(72)【発明者】
【氏名】吉原 朋宏
(72)【発明者】
【氏名】大平 良徳
(72)【発明者】
【氏名】下薗 紀夫
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042GA34
5B042JJ06
5B042MA08
5B042MA14
5B042MC29
(57)【要約】
【課題】ストレージコントローラのリソースの割り当てを適切に行う。
【解決手段】ストレージシステムのプロセッサは、複数のコントローラノードの負荷の時系列データに基づいて、複数のコントローラノードの将来の一定期間にわたる負荷の変動の予測である長期負荷変動予測を算出する。そして長期負荷変動予測と、複数のコントローラノードの負荷とエネルギー効率の関係を表す電力性能モデルから決まる負荷の閾値とに基づいて、コントローラノードの増設又は減設を完了する増減設完了目標時刻を算出する。そして増設又は減設に伴って複数のドライブノード間でデータを移動させるリバランス処理におけるデータの移動量と、データの移動のパスの帯域情報とに基づいて、リバランス処理にかかるリバランス時間を算出する。そして増減設完了目標時刻とリバランス時間とからリバランス処理の開始時刻を算出し、開始時刻にリバランス処理を開始する。
【選択図】
図5
【特許請求の範囲】
【請求項1】
複数のドライブノードと、上位装置から前記複数のドライブノードに対するデータのI/Oを制御する複数のコントローラノードと、プロセッサと、を有するストレージシステムであって、
前記プロセッサは、
前記複数のコントローラノードの負荷の時系列データに基づいて、該複数のコントローラノードの将来の一定期間にわたる負荷の変動の予測である長期負荷変動予測を算出し、
前記長期負荷変動予測と、前記複数のコントローラノードの負荷とエネルギー効率の関係を表す電力性能モデルから決まる負荷の閾値と、に基づいて、該複数のコントローラノードのうちの稼働中のコントローラノードの増設又は減設を完了する増減設完了目標時刻を算出し、
前記増設又は前記減設に伴って前記複数のドライブノード間でデータを移動させるリバランス処理における該データの移動量と、該データの移動のパスの帯域情報と、に基づいて、該リバランス処理にかかるリバランス時間を算出し、
前記増減設完了目標時刻と前記リバランス時間とから、前記リバランス処理の開始時刻を算出し、
前記開始時刻に前記リバランス処理を開始する
ことを特徴とするストレージシステム。
【請求項2】
請求項1に記載のストレージシステムであって、
前記プロセッサは、
前記リバランス処理を開始する際に、該リバランス処理における前記データの移動にかかるコストと、前記増設又は前記減設を実施した場合の所定期間における前記複数のコントローラノードの稼働に係るコストと、を比較し、
前記コストの比較結果に基づいて、前記リバランス処理を開始する
ことを特徴とするストレージシステム。
【請求項3】
請求項1に記載のストレージシステムであって、
前記プロセッサは、
前記リバランス処理が完了したか否かを判定し、
前記リバランス処理が終了したと判定される場合に、前記コントローラノードの前記増設又は前記減設を実施し、
前記リバランス処理が終了したと判定されない場合に、前記長期負荷変動予測を修正し、修正した前記長期負荷変動予測に基づいて前記リバランス処理を実施する
ことを特徴とするストレージシステム。
【請求項4】
請求項1に記載のストレージシステムであって、
前記ドライブノードと前記コントローラノードが独立したノードであり、
前記増設又は前記減設に伴って前記複数のドライブノード間で移動させる前記データは、実体データの管理に用いられるメタデータである
ことを特徴とするストレージシステム。
【請求項5】
請求項1に記載のストレージシステムであって、
前記ドライブノードと前記コントローラノードが一体化してストレージノードが構成され、
前記増設又は前記減設に伴って前記複数のドライブノード間で移動させる前記データは、実体データと該実体データの管理に用いられるメタデータとである
ことを特徴とするストレージシステム。
【請求項6】
請求項1に記載のストレージシステムであって、
前記プロセッサは、
前記長期負荷変動予測において所定の短期で変動する負荷が許容値以下となる期間のみで前記リバランス処理を実施する
ことを特徴とするストレージシステム。
【請求項7】
請求項1に記載のストレージシステムであって、
前記プロセッサは、
前記長期負荷変動予測と、該長期負荷変動予測において所定の短期で変動する負荷と、に基づいて、前記増減設完了目標時刻を算出する
ことを特徴とするストレージシステム。
【請求項8】
請求項1に記載のストレージシステムであって、
前記負荷の閾値は、前記複数のコントローラノードの省電力性及び性能の何れを優先するかに応じて、外部から調整可能に構成されている
ことを特徴とするストレージシステム。
【請求項9】
請求項1~8の何れか一項に記載のストレージシステムと、
前記複数のストレージシステムを接続するクラスタ間スイッチと、を有し、
前記複数のストレージシステムの各ストレージシステム内において前記リバランス処理並びに前記増設又は前記減設を実施すると共に、前記複数のストレージシステム間で前記リバランス処理並びに前記増設又は前記減設を実施する
ことを特徴とするストレージシステム。
【請求項10】
複数のドライブノードと、上位装置から前記複数のドライブノードに対するデータのI/Oを制御する複数のコントローラノードと、プロセッサと、を有するストレージシステムが実行するストレージシステムの制御方法であって、
前記プロセッサが、
前記複数のコントローラノードの負荷の時系列データに基づいて、該複数のコントローラノードの将来の一定期間にわたる負荷の変動の予測である長期負荷変動予測を算出し、
前記長期負荷変動予測と、前記複数のコントローラノードの負荷とエネルギー効率の関係を表す電力性能モデルから決まる負荷の閾値と、に基づいて、該複数のコントローラノードのうちの稼働中のコントローラノードの増設又は減設を完了する増減設完了目標時刻を算出し、
前記増設又は前記減設に伴って前記複数のドライブノード間でデータを移動させるリバランス処理における該データの移動量と、該データの移動のパスの帯域情報と、に基づいて、該リバランス処理にかかるリバランス時間を算出し、
前記増減設完了目標時刻と前記リバランス時間とから、前記リバランス処理の開始時刻を算出し、
前記開始時刻に前記リバランス処理を開始する
各処理を含んだことを特徴とするストレージシステムの制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストレージシステム及びストレージシステムの制御方法に関する。
【背景技術】
【0002】
持続可能社会の実現を目指して、脱炭素化への取り組みが推進される中で、ITインフラも省電力化が社会的要請となっている。ITインフラの省電力化の基本は、計算に必要十分なリソースを適切なタイミングで割り当てることである。リソースの割り当てには、その準備に一定の時間を要するので、適切なタイミングで適量のリソースを割り当てることが重要になってくる。
【0003】
そこでリソース割り当ての適正なタイミングを知るために、履歴情報を用いて予測が行われることがある。この先行技術として、例えば特許文献1には、ストレージシステムにおける将来の時点でのデータの使用容量を予測し、予測された使用容量と現在割り当てられている記憶容量との差分を計算し、計算結果に基づいてデータ格納領域の記憶容量の増減設を実施する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ストレージシステムは、データ格納領域と、データ格納領域を制御するストレージコントローラとを含んで構成される。上述の従来技術は、データ格納領域の所要量を予測し、予測結果に基づいてデータ格納領域をリソース割り当ての対象とする技術を開示するものである。
【0006】
しかし上述の従来技術は、あくまでデータ格納領域をリソース割り当ての対象とし、ストレージコントローラをリソース割り当ての対象とするものではないため、適切なタイミングで適量のストレージコントローラのリソースを割り当てることはできない。
【0007】
本発明は、上記を考慮してなされたものであり、ストレージコントローラのリソースの割り当てを適切に行うことを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決する一態様として、複数のドライブノードと、上位装置から前記複数のドライブノードに対するデータのI/Oを制御する複数のコントローラノードと、プロセッサと、を有するストレージシステムであって、前記プロセッサは、前記複数のコントローラノードの負荷の時系列データに基づいて、該複数のコントローラノードの将来の一定期間にわたる負荷の変動の予測である長期負荷変動予測を算出し、前記長期負荷変動予測と、前記複数のコントローラノードの負荷とエネルギー効率の関係を表す電力性能モデルから決まる負荷の閾値と、に基づいて、該複数のコントローラノードのうちの稼働中のコントローラノードの増設又は減設を完了する増減設完了目標時刻を算出し、前記増設又は前記減設に伴って前記複数のドライブノード間でデータを移動させるリバランス処理における該データの移動量と、該データの移動のパスの帯域情報と、に基づいて、該リバランス処理にかかるリバランス時間を算出し、前記増減設完了目標時刻と前記リバランス時間とから、前記リバランス処理の開始時刻を算出し、前記開始時刻に前記リバランス処理を開始することを特徴とする。
【発明の効果】
【0009】
本発明によれば、ストレージコントローラのリソースの割り当てを適切に行うことで省電力化が実現できる。
【図面の簡単な説明】
【0010】
【
図1】実施形態1に係るストレージシステムの構成を示す図。
【
図2】実施形態1に係るコントローラノードの構成を示す図。
【
図3】実施形態1に係る管理サーバの構成を示す図。
【
図4A】実施形態1に係るリバランス計画部の構成と、負荷減少時のリバランス制御の概要を示す図。
【
図4B】実施形態1に係るリバランス計画部の構成と、負荷増加時のリバランス制御の概要を示す図。
【
図5】実施形態1に係るリバランス及び増減設処理を示すフローチャート。
【
図6A】実施形態1に係る電力性能モデル(負荷減少時)を示す図。
【
図6B】実施形態1に係る電力性能モデル(負荷増大時)を示す図。
【
図8】実施形態2に係るストレージシステムの構成を示す図。
【
図9】実施形態2に係るストレージノードの構成を示す図。
【
図10】実施形態2に係るリバランスの動作説明図。
【
図11】実施形態3に係る複数のストレージシステムを含んで構成されるストレージシステムの構成を示す図。
【
図12】実施形態4に係るリバランスを含めたシステム負荷をシステム負荷許容値以下に抑える負荷制御の説明図。
【
図13】実施形態5に係る長期負荷変動予測から短期負荷変動幅を除外する負荷制御の説明図。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態を図面に基づいて詳細に説明する。本実施形態において、同一の構成には原則として同一の符号を付け、繰り返しの説明は省略する。なお、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではない。
【0012】
以下の説明では、プログラムが行う処理について説明する場合がある。コンピュータは、プロセッサ(例えばCPU(Central Processing Unit)、GPU(Graphics Processing Unit))により、主記憶装置のメモリ等を用いながら、プログラムで定められた処理を行う。そのため、プログラムを実行して行う処理の主体を、プロセッサとしてもよい。プロセッサがプログラムを実行することで、処理を行う機能部が実現される。
【0013】
同様に、プログラムを実行して行う処理の主体が、プロセッサを有するコントローラ、装置、システム、計算機、ノードであってもよい。プログラムを実行して行う処理の主体は、演算部であればよく、特定の処理を行う専用回路を含んでいてもよい。専用回路は、例えばFPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)等である。
【0014】
以下の説明では、プログラムは、プログラムソースから計算機にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバ又は計算機が読取り可能な非一時的な記憶メディアであってもよい。プログラムソースがプログラム配布サーバの場合、プログラム配布サーバはプロセッサと配布対象のプログラムを記憶する記憶資源(ストレージ)を含み、プログラム配布サーバのプロセッサが配布対象のプログラムを他の計算機に配布してもよい。また、実施形態において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
【0015】
[実施形態1]
(実施形態1に係るストレージシステム1Sの構成)
図1は、実施形態1に係るストレージシステム1Sの構成を示す図である。ストレージシステム1Sは、ストレージコントローラ(コントローラノード)とドライブノードが分離した分離型ストレージシステムである。
【0016】
ストレージシステム1Sは、複数のコンピュートノード400、複数のコントローラノード100、及び複数のドライブノード200を有する。ストレージシステム1Sでは、これらがコントローラノード間ネットワークスイッチ300及びコンピュートノード間ネットワークスイッチ320を介して接続されている。
【0017】
コンピュートノード400で実行される業務プログラムから発行されるアクセス要求が、コントローラノード100の制御下でドライブノード200内のデータに対して処理される。システム管理のために、管理サーバ410及びシステム環境外部サーバ420が管理ネットワークスイッチ330を介して接続されている。システム可用性を確保するために、全てのノードとパスが冗長化されているが、一部図示を省略している。
【0018】
(実施形態1に係るコントローラノード100の構成)
図2は、実施形態1に係るコントローラノード100の構成を示す図である。
【0019】
コントローラノード100は、プロセッサ110、メモリ115、管理ポート120、フロントエンドポート130、及びバックエンドポート140を有する。コントローラノード100は、コンピュートノード400からの指示に従って、データの入出力処理や、データ暗号化・データ圧縮・スナップショット作成・データ仮想化などの機能を提供する。コントローラノード100は、コンピュートノード400とはフロントエンドポート130を介して、ドライブノード200とはバックエンドポート140を介して、管理サーバ410とは管理ポート120を介して接続される。
【0020】
プロセッサ110は、フロントエンドポートスイッチ160及びフロントエンドポート130を介してデータを入出力する。またプロセッサ110は、バックエンドポートスイッチ170及びバックエンドポート140を介してデータを入出力する。
【0021】
(実施形態1に係る管理サーバ410の構成)
図3は、実施形態1に係る管理サーバ410の構成を示す図である。
【0022】
管理サーバ410は、管理ネットワークスイッチ330及び管理ネットワーク(不図示)を介してストレージシステム1Sと接続される。
図3では、本実施形態と関連する管理サーバ410の機能構成のみを図示及び説明し、その他の機能構成の図示及び説明を省略する。
【0023】
管理サーバ410は、長期負荷変動予測部411、リバランス計画部412、リバランス実施部413、増減設実施部414、通信部415、及び電力性能モデル20を含んで構成される。また管理サーバ410は、オペレータに情報を表示する表示部、及びオペレータによる情報入力を受け付けるキーボード等の入力部を有する。電力性能モデル20は、所定の記憶領域に格納されている。電力性能モデル20は、後述のコントローラ減設閾値3A(システム負荷L1~L3)、及びコントローラ増設閾値3B(システム負荷L4~L6)等を、表示部及び入力部を介してオペレータによって編集可能である。
【0024】
通信部415は、管理サーバ410が管理ネットワークスイッチ330を介してコントローラノード100、ドライブノード200、コンピュートノード400、ストレージノード500と通信を行うための通信インタフェースである。
【0025】
長期負荷変動予測部411は、一定期間(例えば数週間)のスパンでのコントローラノード100に対する負荷(以下「コントローラ負荷」と呼ぶ)の変動を見た場合の変動量のトレンドを予測する。長期負荷変動予測部411は、トレンドが一定と見なせる状態を一定時間継続した場合に、コントローラ負荷に長期的な観点での負荷の変動を表す長期負荷変動があると判定する。このように長期負荷変動予測部411は、一定の長期スパンで見たコントローラ負荷が増加トレンドにあるか、又は減少トレンドにあるかを予測する。
【0026】
なお管理サーバ410の代わりに、各コントローラノード100の複数のプロセッサ110が分散協調処理によって、
図5のリバランス及び増減設処理を実行してもよい。すなわちリバランス及び増減設処理は、管理サーバ410のプロセッサ1001又はコントローラノード100のプロセッサ110によって実行される。
【0027】
(リバランス計画部412の構成)
先ず負荷減少時のリバランス制御を説明する。
図4Aは、実施形態1に係るリバランス計画部412の構成と、負荷減少時のリバランス制御の概要を示す図である。
【0028】
リバランス計画部412は、リバランス時間予測部11及びリバランス開始時刻予測部12を有する。またリバランス計画部412は、制約条件13、データ移動量14、及び帯域情報15の各データを記憶領域に格納している。
【0029】
コントローラノード100は、自装置のプロセッサ110の処理負荷(コントローラ負荷)を負荷時系列データ1として常時計測し蓄積している。リバランス計画部412は、負荷時系列データ1を分析することで、長期負荷変動予測2を算出する。
【0030】
コントローラ負荷は、ストレージシステム1Sに対するホスト等の上位装置からの要求に基づく業務量に応じて変動する。長期負荷変動予測2は、将来の一定期間(例えば数週間)継続すると予測されるコントローラ負荷の変動トレンドの予測である。
【0031】
1台のコントローラノード100でカバーできるコントローラ負荷の変動量には限界がある。このため長期負荷変動予測2がコントローラ増減設閾値(コントローラ減設閾値3A又はコントローラ増設閾値3B)を超えると、稼動させるコントローラの増減設を行う必要がある。不要なリソースを遅延なく開放し、必要十分なリソース割り当てを維持するために、長期負荷変動予測2がコントローラ増減設閾値を超えるタイミングでコントローラ増減設を完了させることが目標となる。
【0032】
コントローラ増減設閾値は、
図4Aのグラフのように負荷時系列データ1が減少していく場合はコントローラ減設閾値3Aになり、
図4Bのグラフのように負荷時系列データ1が増加していく場合はコントローラ増設閾値3Bになる。コントローラ減設閾値3Aとコントローラ増設閾値3Bは、一般的には異なる。
【0033】
リバランス計画部412は、長期負荷変動予測2がコントローラ増減設閾値(コントローラ減設閾値3A又はコントローラ増設閾値3B)を超えるか否かを判定する。そしてリバランス計画部412は、長期負荷変動予測2がコントローラ減設閾値3Aを超えるタイミングを、コントローラノード100の減設を完了させる目標時刻(減設完了目標時刻t12)とする。減設完了目標時刻t12は、長期負荷変動予測2とコントローラ減設閾値3Aの交点から計算できる。
【0034】
一方、コントローラノード100の減設を行うためには、コントローラノード100が管轄しているデータを別のコントローラノード100の管轄下に移行する必要がある。これをコントローラのリバランスと呼ぶ。リバランスには、一般的には実データの移動やメタデータの移動が含まれる。実データは、ストレージシステムの記憶領域に格納される実体データである。メタデータは、実体データの管理に用いられるデータである。本実施形態ではドライブノード200は増減設されないので、実データの移動は発生せずメタデータの移動のみが発生する。
【0035】
コントローラノード100のリバランスにかかるリバランス時間4Aは、制約条件13、リバランスの際のデータ移動量14、及びこのデータ移動に使われるパスの帯域情報15に依存する。制約条件13には、例えばデータの移動可能な時間帯等の時間的制約やデータの移動順序等の物理的制約がある。リバランス時間4Aは、制約条件13、データ移動量14、及び帯域情報15以外の情報にも影響されてもよい。
【0036】
リバランス時間予測部11は、制約条件13、データ移動量14、及び帯域情報15に基づいてリバランス時間4Aを予測する。リバランス開始時刻予測部12は、減設完了目標時刻t12からリバランス時間4Aを減じて算出された時刻以前に、リバランス開始時刻t11を設定する。このようにしてリバランス計画部412は、リバランス開始時刻t11、リバランス時間4A、及び減設完了目標時刻t12を含むリバランス計画を作成する。
【0037】
次に負荷増加時のリバランス制御を説明する。
図4Bは、実施形態1に係るリバランス計画部412の構成と、負荷増加時のリバランス制御の概要を示す図である。
【0038】
長期負荷変動予測2がコントローラ増設閾値3Bを超えるタイミングを、コントローラノード100の増設を完了させる目標時刻(増設完了目標時刻t22)とする。増設完了目標時刻t22は、長期負荷変動予測2とコントローラ増設閾値3Bの交点から計算できる。
【0039】
コントローラノード100のリバランスにかかるリバランス時間4Bは、制約条件13、リバランスの際のデータ移動量14、及びこのデータ移動に使われる帯域情報15に依存する。リバランス時間4Bは、制約条件13、データ移動量14、及び帯域情報15以外の情報にも影響されてもよい。
【0040】
リバランス時間予測部11は、制約条件13、データ移動量14、及び帯域情報15に基づいてリバランス時間4Bを予測する。リバランス開始時刻予測部12は、増設完了目標時刻t22からリバランス時間4Bを減じて算出された時刻以前に、リバランス開始時刻t21を設定する。
【0041】
図3の説明に戻る。リバランス実施部413は、リバランス計画部412によって作成されたリバランス計画に従ってリバランスを実施するように、コントローラノード100に対して指示を送信する。リバランス実施部413は、リバランスが終了すると、コントローラノード100からリバランスの完了通知を受信する。
【0042】
増減設実施部414は、リバランス実施部413がリバランスの完了通知を受信すると、コントローラノード100の増減設を実施するように各コントローラノード100に対して指示を送信する。増減設実施部414は、コントローラノード100の増減設が終了すると、コントローラノード100から増減設の完了通知を受信する。
【0043】
(実施形態に係るリバランス及び増減設処理)
図5は、実施形態1に係るリバランス及び増減設処理を示すフローチャートである。実施形態に係るリバランス及び増減設処理は、管理サーバ410によって定期的に実行される。
【0044】
先ずステップS11では、長期負荷変動予測部411は、負荷時系列データ1に基づいて長期負荷変動予測2を算出する。次にステップS12では、長期負荷変動予測部411は、コントローラノード100の増減設の実施の判断を実施する。具体的には長期負荷変動予測部411は、コントローラの長期負荷変動予測2のトレンドが一定時間内にコントローラ増減設閾値を超える見込みかどうかの判断を行う。長期負荷変動予測部411は、長期負荷変動予測2のトレンドカーブが一定時間内にコントローラ増減設閾値を超える見込みの場合(ステップS12YES)に増減設が必要と判断してステップS13に処理を移す。一方長期負荷変動予測部411は、長期負荷変動予測2のトレンドカーブが一定時間内にコントローラ増減設閾値を超えない見込みの場合(ステップS12NO)に増減設が不要と判断して本リバランス及び増減設処理を終了する。
【0045】
ステップS13ではリバランス計画部412は、ステップS13でトレンドカーブが一定時間内にコントローラ増減設閾値を超えると判定された長期負荷変動予測2の最新情報と、電力性能モデル20とに基づいて、リバランスの計画を作成する。その計画の際、必要となるコントローラ増減設閾値は、電力性能モデル20により与えられる。電力性能モデル20の詳細は、
図6A及び
図6Bを参照して後述する。
【0046】
次にステップS14では、リバランス計画部412は、リバランスを継続するか判定する。リバランスには一定以上の時間を要するため、長期負荷変動予測2の減少又は増加のトレンドに変化がなく、ステップS13で作成されたリバランス計画を計画通り実施してよいかを定期的に確認する必要がある。また例えばコントローラノード100の増減設のコスト(リバランスのデータ移動にかかる電力コスト等)が、コントローラノード100の増減設後の所定期間の稼働コストに見合うかを確認してもよい。例えばコントローラノード100の減設のコストが、減設後のコントローラノード100の運用コストの削減量よりも大きい場合は、コストが見合わないため、コントローラノード100の減設を実施すべきではない。またコントローラノード100を増設しても、コントローラ負荷が想定よりも伸びない場合は、コストが見合わないため、コントローラノード100の増設を実施すべきではない。このようにコストの比較結果に基づいて、コントローラノード100の減設又は増設を実施するかを決定する。
【0047】
リバランス計画部412は、リバランスを継続する場合(ステップS14YES)にステップS15に処理を移し、リバランスを中断する場合(ステップS14NO)に本リバランス及び増減設処理を終了する。
【0048】
ステップS15では、リバランス実施部413は、リバランス処理として、実データ及び/又はメタデータの移動を実施するように、コントローラノード100に対して指示を送信する。
【0049】
次にステップS16では、リバランス実施部413は、コントローラノード100からリバランスの完了通知を受信したかのリバランス完了を判定する。ステップS16は、ステップS15の実行後所定時間が経過後に実行される。
【0050】
リバランス実施部413は、リバランス完了の場合(ステップS16YES)にはステップS17に処理を移し、リバランス未完了の場合(ステップS16NO)にはステップS13に処理を移す。ステップS16から処理を移されたステップS13では、リバランス計画部412は、長期負荷変動予測2の最新情報と、電力性能モデル20とに基づいて、リバランス計画を修正し、修正したリバランス計画に基づいてステップS14~S16を実行する。ステップS16からステップS13の処理の流れでリバランス計画が修正されることで、ステップS13で作成したリバランス計画と長期負荷変動予測2の現状が大きく乖離するという状況を回避できる。
【0051】
ステップS17では、増減設実施部414は、コントローラノード100の増減設を実施するように、コントローラノード100に対して指示を送信する。増減設実施部414は、コントローラノード100の増減設が終了すると、コントローラノード100から増減設の完了通知を受信する。
【0052】
上述の通り、コントローラの増減設に必要なリバランスをコントローラ増減設完了目標時刻に合わせて開始することで、必要なタイミングで遅延なくコントローラ増減設を実施できる。
【0053】
(実施形態に係る電力性能モデル20)
次に実施形態に係る電力性能モデル20を説明する。
図6Aは、実施形態1に係る電力性能モデル20(負荷減少時)を示す図である。
図6Aは、実施形態1に係る電力性能モデル20(負荷増大時)を示す図である。
図6A及び
図6Bでは、横軸がシステム負荷(コントローラ負荷)のスケールを表し、縦軸が電力又はエネルギー効率のスケールを表す。
図6A及び
図6Bでは、棒グラフが各負荷時の電力を表し、折れ線グラフが各負荷時のエネルギー効率を表す。
【0054】
図6A及び
図6Bの例では、コントローラノード100が1~4個の間で可変であり、コントローラ負荷減少時及び負荷増大時のそれぞれにおいて各3つずつの閾値が与えられている。閾値は、可変とするコントローラノード100の数に応じて決まる。
【0055】
電力性能モデル20は、コントローラノード100のコントローラ負荷に応じて、コントローラ減設閾値3A及びコントローラ増設閾値3Bが調整される。これにより、コントローラノード100の性能と電力効率とのトレードオフを、システム要件に合わせて最適化する機能を提供する。
【0056】
図6Aに示すように、コントローラの負荷減少時の電力性能モデル20では、システム負荷L1、L2、L3のように比較的広い間隔でコントローラ数が減少するようにコントローラ減設閾値3Aが設定されている。コントローラ数の減少に応じてシステム電力は減少する。このようにコントローラの負荷減少に対しては、コントローラの性能を比較的緩やかに縮小させる。
【0057】
コントローラの負荷減少に対しては、コントローラの性能の縮小を、負荷拡大時と比較して早めのタイミングで開始する。これは、コントローラの負荷が高い方がエネルギー効率は良い一方、レスポンス性能が悪いためである。
【0058】
一方
図6Bに示すように、コントローラの負荷増大時の電力性能モデル20では、システム負荷L4、L5、L6のようにシステム負荷L1、L2、L3と比較して狭い間隔でコントローラ数が増加するようにコントローラ増設閾値3Bが設定されている。コントローラ数の増加に応じてシステム電力は増加する。このようにコントローラの負荷増加に対しては、コントローラの性能を、負荷減少時と比較して機敏に拡大する。
【0059】
このようにコントローラ減設閾値3A及びコントローラ増設閾値3Bを調整することで、省電力性と性能とのトレードオフを調整することができる。すなわち負荷上昇局面で遅延なく必要な性能を提供し、負荷下降局面で遅延なく不要なリソースを開放し省電力化を実現できる。コントローラ減設閾値3A及びコントローラ増設閾値3Bは、電力構成比により調整してもよい。再生可能エネルギーの割合が多い場合には、CO2排出量が小さいため、コントローラ減設閾値3A及びコントローラ増設閾値3Bを低く設定し、増設しやすく減設しにくくし、性能に余裕を持たせることができる。電力性能モデル20のコントローラ増減設閾値は、上位装置の業務要件に応じて、システム設計時や運用時に変更できるようにしてもよい。
【0060】
(実施形態1に係るリバランス)
図7は、実施形態1に係るリバランスの動作説明図である。
【0061】
コントローラノード100で処理される入出力の履歴は、負荷時系列データ1として管理サーバ410に集められる。管理サーバ410は、収集した負荷時系列データ1から長期負荷変動予測2を算出し、予測型リバランスを計画する(ステップS13(
図5))。その結果は、各コントローラノード100に送られ、予測型リバランスが実行される(ステップS15(
図5))。
【0062】
図7のシステム構成では、データ格納領域であるドライブノード200がコントローラノード100と分離されてコントローラノード間ネットワークスイッチ300で接続されている。そのため、ドライブノード200を管轄するコントローラノード100の変更に伴うリバランス時に、実データの移動は必要ないが、実データの管理情報であるメタデータの移動は必要となる。必要なメタデータの移動などが行われた後に、コントローラノード100へのアクセスパスの切り替えが行われ、コントローラノードの増減設が完了する。
【0063】
上述のように、長期負荷変動予測2をもとに、先行的にメタデータ移動を完了させることで、必要なタイミングで遅延なくコントローラの増減設を実施することが可能となる。
【0064】
(実施形態1の効果)
上述の実施形態1では、長期負荷変動予測に基づいて、メタデータ等のデータ移動といったストレージコントローラの増減設に必要なオーバーヘッド処理を先行実施する。よって必要なタイミングで遅延なくコントローラ増減設を実施し、ストレージシステムのオートスケールを実施することができる。またストレージコントローラの増減設を負荷変動に追随して遅延なく実施できるので、必要十分なリソースを継続的に提供できるとともに、不要なリソース解放が迅速に行われ省電力化が実現できる。
【0065】
[実施形態2]
図8は、実施形態2に係るストレージシステム2Sの構成を示す図である。ストレージシステム2Sは、ストレージコントローラとドライブノードが一体化したストレージノードを含んで構成される。実施形態2では、ストレージシステム2Sにおけるストレージノードの増減設処理は、実施形態1においてコントローラノードをストレージノードに置き換えた処理と同様であり、以下では差分についてのみ説明する。
【0066】
ストレージシステム2Sは、複数のコンピュートノード400及び複数のストレージノード500がストレージノード間ネットワークスイッチ310及びコンピュートノード間ネットワークスイッチ320を介して接続されている。またシステム管理のために、管理サーバ410及びシステム環境外部サーバ420が管理ネットワークスイッチ330を介して接続されている。システム可用性を確保するために、全てのノードとパスが冗長化されているが、一部図示を省略している。
【0067】
(実施形態2に係るストレージノード500の構成)
図9は、実施形態2に係るストレージノード500の構成を示す図である。ストレージノード500は、コントローラノード100とドライブノード210とが一体となった装置である。
【0068】
(実施形態2に係るリバランス)
図10は、実施形態2に係るリバランスの動作説明図である。
【0069】
ストレージノード500内のコントローラノード100で処理される入出力の履歴は、負荷時系列データ1として管理サーバ410に集められる。管理サーバ410は、収集した負荷時系列データ1から長期負荷変動予測2を算出し、予測型リバランスを計画する(ステップS13(
図5))。その結果は、コントローラノード100に送られて、予測型リバランスが実行される(ステップS15(
図5))。
【0070】
図10のシステム構成では、データ格納領域であるドライブノード210とコントローラノード100とがストレージノード500内で一体になっている。そのため、コントローラの増減設に伴うリバランス時に実データの移動が必要となる。必要な実データ(と付随するメタデータ)の移動などが完了後に、ストレージノード500へのアクセスパスが切り替えられ、ストレージノード500の増減設が完了する。
【0071】
すなわち
図10に示すように、1コントローラ構成、2コントローラ構成、3コントローラ構成、及び4コントローラ構成の各状態間の遷移は、ストレージノード500単位で行われる。これはドライブノード210とコントローラノード100とがストレージノード500内で一体になっているためである。よってストレージノード500の増設の際には、増設されたストレージノード500に新規データが書き込まれる。一方ストレージノード500の減設の際には、減設されるストレージノード500に格納されている実データ及びメタデータを、減設されない他のストレージノード500に移動される。
【0072】
(実施形態2の効果)
上述の実施形態2では、コントローラノードとドライブノードとが一体となったストレージノードでも、長期負荷変動予測2に基づいて先行的に実データ及びメタデータの移動を完了させる。よって、必要なタイミングで遅延なくストレージコントローラを増減設でき、省電力化が実現できる。
【0073】
[実施形態3]
図11は、実施形態3に係る複数のストレージシステム1S及び/又は2Sを含んで構成されるストレージシステム3Sの構成を示す図である。
図11では、ストレージシステム3Sは、ストレージシステム1S及び2Sを1つずつ含んでいる構成を例示しているが、これらの数は変更可能である。ストレージシステム3Sは、複数のストレージシステム1Sのみを含んで構成されていても、複数のストレージシステム2Sのみを含んで構成されていても、複数のストレージシステム1S及び2Sを含んで構成されていても、何れでもよい。
【0074】
ストレージシステム3Sは、ストレージシステム1S及び/又は2Sの複数のストレージクラスタがクラスタ間スイッチ340を介して接続されて構成されたハイブリッド・ストレージシステムである。ストレージシステム3Sは、データ用途やデータライフサイクルに合わせてストレージシステム1S,2Sを使い分け、データ配置を最適化する目的で用いられる。
【0075】
例えば、データのライフサイクルの進展に伴い、データ保管コストが高いストレージクラスタから、保管コストが低いストレージクラスタにデータ移動を行うユースケースなどが考えられる。その際、管理サーバ410は、移動元のストレージクラスタ内で実施形態1又は2の予測型減設を行い、移動先のストレージクラスタ内でも実施形態1又は2の予測型増設を行う。さらに管理サーバ410は、移動元のストレージクラスタと移動先のストレージクラスタ間で実施形態1又は2の予測型増設を行う。これにより、ストレージシステム3Sにおいても必要十分なリソース割当て・解放を遅延なく実施することが可能となる。
【0076】
各ストレージクラスタでは、プロジェクト稼働に伴うワークロードによってデータに関するストレージコントローラへの負荷変動が発生する。この負荷変動に関する長期負荷変動予測に基づき、ストレージコントローラの増設又は減設を実施する。リバランスに伴うデータのマイグレーショを、自身のストレージクラスタ内に閉じて実施するか、他のストレージクラスタに向けて実施するかは、プロジェクト及びワークロードのユースケース毎に異なる。
【0077】
(実施形態3の効果)
上述の実施形態3では、ハイブリッド・ストレージシステムにおいて、各ストレージクラスタ単位でストレージコントローラの増減設を行い得ると共に、複数のストレージクラスタを跨いでストレージコントローラの増減設を行うことができる。
【0078】
[実施形態4]
上述の実施形態1~3では、コントローラノード100にかかるリバランスの処理負荷の増大を考慮せず、コントローラ負荷(システム負荷)の増減のタイミングのみに応じて、リバランスを含むコントローラノード100の増減設を実施している。
【0079】
しかしリバランスによってコントローラ負荷がさらに増大すると、ホスト等の上位システムに対するI/O性能の低下といった問題が生じる。
【0080】
そこで、実施形態4では、実施形態1~3のリバランスの実施期間に制限を設け、リバランスを含めた全体のシステム負荷が閾値を超過しないように制御する。
【0081】
(実施形態4に係る負荷制御)
図12は、実施形態4に係るリバランスを含めたシステム負荷をシステム負荷許容値以下に抑える負荷制御の説明図である。
図12では、負荷時系列データ1の短期負荷変動幅7を示している。ここでの“短期”とは、例えば2~3日程度である。
【0082】
実施形態4では、リバランスを実施する際に、特定の制約条件を設けることで、システム動作を最適化する。コントローラノード100は、リバランスによる通常のI/O等の性能劣化影響を緩和するために、コントローラノード100の負荷変動がシステム負荷許容値6を超える場合は、リバランス処理を一時的に停止する。
【0083】
(実施形態4の効果)
上述の実施形態4では、上述のコントローラノード100の負荷変動がシステム負荷許容値6を超える場合は、リバランス処理を一時的に停止する制御によって、リバランス処理と通常処理とのバランスをとることが可能となる。また、この制御を行うとリバランス完了までの時間が長くなるが、その時間の増加分を考慮して、リバランス時間を計算することにより、増減設目標時刻に合わせたリバランスの実行が可能になり、省電力化を実現できる。
【0084】
[実施形態5]
上述の実施形態1~3では、コントローラノード100の長期負荷変動予測2の短期的な負荷変動を考慮せず、
図13に示すように、長期負荷変動予測2が例えばコントローラ減設閾値3Aに達したタイミングを減設完了目標時刻t12としている。ここでの“短期”は、例えば2~3日程度である。しかし、長期負荷変動予測2が短期的に大きく変動する場合には、この変動を見込んで余裕を持ったタイミングを減設目標時刻とすることが望ましい。この問題は、増設完了目標時刻t22の算出の際にも同様に発生する。
【0085】
実施形態5では、リバランスを実施する際に、特定の制約条件を設けることで、システム動作を最適化する。すなわち実施形態5では、増減設目標時刻の算出の際に、長期負荷変動予測2の短期負荷変動幅7を考慮し、短期負荷変動幅7の最大値で増減設目標時刻を算出するように制御する。
【0086】
(実施形態5に係る負荷制御)
図13は、実施形態5に係る長期負荷変動予測2から短期負荷変動幅7を除外する負荷制御の説明図である。
図13は、コントローラ負荷が減少する場合を示している。通常は、長期負荷変動予測2とコントローラ減設閾値3Aとの交点を減設完了目標時刻t12とする。
【0087】
しかし、短期負荷変動幅7が大きい場合、負荷時系列データ1がコントローラ減設閾値3Aを短期的に上下することが考えられ、安定したリバランスを計画するのが困難となる。そこで減設完了時刻の予測精度を向上するために、短期負荷変動幅7を算出し、短期負荷変動幅7の最大値を表す直線とコントローラ減設閾値3Aとの交点を減設完了目標時刻t13とする。
【0088】
(実施形態5の効果)
上述の実施形態5では、減設完了目標時刻t13を目標に減設を実行することで、短期負荷変動幅7を考慮した安全マージンを持たせた減設完了目標時刻t13でリバランス及びコントローラノード100の減設を、安定的に実施することができる。
【0089】
なお
図13では、コントローラノード100の減設の場合を示しているが、コントローラノード100の増設の際の増設完了時刻も同様に求められる。
【0090】
(コンピュータ1000のハードウェア)
図14は、コンピュータ1000の構成を示すハードウェア図である。例えばコンピュートノード400、管理サーバ410、システム環境外部サーバ420、及びストレージノード500は、コンピュータ1000によって実現される。
【0091】
コンピュータ1000は、バス等の内部通信線1009を介して相互に接続されたCPUをはじめとするプロセッサ1001、主記憶装置1002、補助記憶装置1003、ネットワークインタフェース1004、入力装置1005、及び出力装置1006を備える。
【0092】
プロセッサ1001は、コンピュータ1000全体の動作制御を司る。また主記憶装置1002は、例えば揮発性の半導体メモリから構成され、プロセッサ1001のワークメモリとして利用される。補助記憶装置1003は、非一時的記憶媒体の一例であり、ハードディスク装置、SSD(Solid State Drive)、又はフラッシュメモリ等の大容量の不揮発性の記憶装置から構成され、各種プログラムやデータを長期間保持するために利用される。
【0093】
補助記憶装置1003に格納された実行可能プログラム1100がコンピュータ1000の起動時や必要時に主記憶装置1002にロードされ、主記憶装置1002にロードされた実行可能プログラム1100をプロセッサ1001が実行する。これにより、各種処理を実行するシステムや各機能部(長期負荷変動予測部411、リバランス計画部412、リバランス実施部413、及び増減設実施部414)が実現される。
【0094】
なお実行可能プログラム1100は、非一時的記録媒体に記録され、媒体読み取り装置によって非一時的記録媒体から読み出されて、主記憶装置1002にロードされてもよい。または、実行可能プログラム1100は、ネットワークを介して外部のコンピュータから取得されて、主記憶装置1002にロードされてもよい。
【0095】
ネットワークインタフェース1004は、コンピュータ1000をシステム内の各ネットワークに接続する、あるいは他のコンピュータと通信するためのインタフェース装置である。ネットワークインタフェース1004は、例えば有線LAN(Local Area Network)や無線LAN等のNIC(Network Interface Card)から構成される。
【0096】
入力装置1005は、キーボードや、マウス等のポインティングデバイス等から構成され、ユーザがコンピュータ1000に各種指示や情報を入力するために利用される。
【0097】
出力装置1006は、液晶ディスプレイ又は有機EL(Electro Luminescence)ディスプレイ等の表示装置や、スピーカ等の音声出力装置から構成され、必要時に必要な情報をユーザに提示するために利用される。
【0098】
以上、本願開示に係る実施形態について詳述したが、本願開示は上述の実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、上述の実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また上述の実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0099】
また上述の各構成、機能部や処理部等は、それらの一部又は全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また上述の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD(Solid State Drive)等の記録装置、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【0100】
また上述の各図において、制御線や情報線は説明上必要と考えられるものを示しており、必ずしも実装上の全ての制御線や情報線を示しているとは限らない。例えば、実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【0101】
また上述したコンピュートノード400、管理サーバ410、システム環境外部サーバ420、及びストレージノード500の各機能及びデータの配置形態は一例に過ぎない。各機能及びデータの配置形態は、ハードウェアやソフトウェアの性能、処理効率、通信効率等の観点から最適な配置形態に変更し得る。
【符号の説明】
【0102】
100:コントローラノード、110:プロセッサ、200:ドライブノード、210:ドライブ、400:コンピュートノード、410:管理サーバ、411:長期負荷変動予測部、412:リバランス計画部、413:リバランス実施部、414:増減設実施部、500:ストレージノード、1001:プロセッサ、1002:主記憶装置。