(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024165529
(43)【公開日】2024-11-28
(54)【発明の名称】ストレージ装置
(51)【国際特許分類】
G06F 3/06 20060101AFI20241121BHJP
G06F 13/10 20060101ALI20241121BHJP
G06F 13/12 20060101ALI20241121BHJP
G06F 11/14 20060101ALI20241121BHJP
G06F 11/30 20060101ALI20241121BHJP
G06F 11/34 20060101ALI20241121BHJP
G06F 13/14 20060101ALI20241121BHJP
【FI】
G06F3/06 304F
G06F3/06 301X
G06F13/10 340A
G06F13/12 330C
G06F11/14 661
G06F11/30 140M
G06F11/34 133
G06F13/14 330A
【審査請求】有
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023081804
(22)【出願日】2023-05-17
(71)【出願人】
【識別番号】524132520
【氏名又は名称】日立ヴァンタラ株式会社
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】高梨 優美
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042GA34
5B042MA08
5B042MA14
5B042MC22
(57)【要約】
【課題】ストレージ装置のコピー性能を改善する。
【解決手段】ストレージ装置は、ホストからのI/O要求を処理する、ストレージコントローラと、ホストのデータを格納する記憶デバイスと、を含む。ストレージコントローラは、複数ボリュームの各ボリュームに対して、周期内で連続する時間帯それぞれのコピー速度レベルを示すスケジュールを格納する。ストレージコントローラは、ストレージコントローラの現在の性能情報を収集してメモリに格納し、スケジュールが示す次の時間帯のコピー速度レベル、及び、性能情報が示す値と閾値との関係、に基づいて、次の時間帯のコピー速度レベルを決定する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ストレージ装置であって、
ホストからのI/O要求を処理する、ストレージコントローラと、
前記ホストのデータを格納する記憶デバイスと、を含み、
前記ストレージコントローラは、
複数ボリュームの各ボリュームに対して、周期内で連続する時間帯それぞれのコピー速度レベルを示すスケジュールを格納し、
前記ストレージコントローラの現在の性能情報を収集してメモリに格納し、
前記スケジュールが示す次の時間帯のコピー速度レベル、及び、前記性能情報が示す値と閾値との関係、に基づいて、前記次の時間帯のコピー速度レベルを決定する、
ストレージ装置。
【請求項2】
請求項1に記載のストレージ装置であって、
前記ストレージコントローラは、
前記複数ボリュームの第1ボリュームのデータを、ネットワークを介してコピー先ストレージ装置にコピーし、
前記コピー先ストレージ装置の現在の性能情報を取得し、
前記第1ボリュームのスケジュールが示す次の時間帯のコピー速度レベル、前記ストレージコントローラの性能情報が示す値と前記閾値との関係、及び前記コピー先ストレージ装置の性能情報が示す値と閾値との関係に基づいて、前記第1ボリュームの次の時間帯のコピー速度レベルを決定する、ストレージ装置。
【請求項3】
請求項1に記載のストレージ装置であって、
前記ストレージコントローラは、
前記複数ボリュームの第1ボリュームのデータを、ネットワークを介してコピー先ストレージ装置にコピーし、
前記コピー先ストレージ装置の現在の性能情報を取得し、
前記ホストの現在の性能情報を取得し、
前記ネットワークの現在の帯域情報を取得し、
前記第1ボリュームのスケジュールが示す次の時間帯のコピー速度レベル、前記ストレージコントローラの性能情報が示す値と前記閾値との関係、前記コピー先ストレージ装置の性能情報が示す値と閾値との関係、前記ホストの性能情報が示す値と閾値との関係、及び前記帯域情報が示す値と閾値との関係に基づいて、前記第1ボリュームの次の時間帯のコピー速度レベルを決定する、ストレージ装置。
【請求項4】
請求項1に記載のストレージ装置であって、
前記ストレージコントローラは、
前記性能情報が示す値と前記閾値との関係に基づいて、前記スケジュールが示す前記次の時間帯のコピー速度レベルの維持、増加又は減少の必要性のいずれかを判定し、
前記維持又は増加の必要性に対して前記次の時間帯のコピー速度レベルの維持を決定し、
前記減少の必要性に対して前記次の時間帯のコピー速度レベルの減少を決定する、ストレージ装置。
【請求項5】
請求項4に記載のストレージ装置であって、
前記ストレージコントローラは、
前記周期において、前記コピー速度レベルの維持、増加又は減少の必要性の判定結果の履歴を作成し、
前記履歴に基づいて、次の周期のためのコピー速度レベルのスケジュールを作成する、ストレージ装置。
【請求項6】
請求項1に記載のストレージ装置であって、
前記周期は一日であり、
前記ストレージコントローラは、先月の日それぞれの前記コピー速度レベルの減少の回数に応じて、今月における特異日を選択し、
前記閾値は、特異日と前記特異日と異なる通常日とのそれぞれに対して定義されている、ストレージ装置。
【請求項7】
請求項5に記載のストレージ装置であって、
前記周期は一日であり、
前記ストレージコントローラは、
先月の日それぞれの前記コピー速度レベルの減少の回数に応じて、今月における特異日を選択し、
前記今月の特異日における前記コピー速度レベルのスケジュールの初期値を、前記先月の特異日であって、コピー速度減少の判定回数が最大の日におけるコピー速度レベルに基づき決定し、
前記今月の前記特異日と異なる通常日における前記コピー速度レベルのスケジュールの初期値を、前記先月の通常日であって、コピー速度増加の判定回数が最小の日におけるコピー速度レベルに基づき決定する、ストレージ装置。
【請求項8】
請求項1に記載のストレージ装置であって、
前記性能情報は複数の項目の値を示し、
前記複数の項目それぞれに前記閾値が設定され、
前記ストレージコントローラは、複数周期において前記コピー速度レベルを減少する起因となった回数が他の項目より少ない項目の値が、対応する閾値に対して所定レベルより低い場合、前記複数周期において前記コピー速度レベルを減少する起因となった回数が他の項目より多い項目の閾値を増加させる、ストレージ装置。
【請求項9】
ストレージ装置におけるコピー制御方法であって、
前記ストレージ装置は、ストレージコントローラを含み、
前記ストレージコントローラは、複数ボリュームの各ボリュームに対して、周期内で連続する時間帯それぞれのコピー速度レベルを示すスケジュールを格納し、
前記コピー制御方法は、
前記ストレージコントローラが、前記ストレージコントローラの現在の性能情報を収集してメモリに格納し、
前記ストレージコントローラが、前記スケジュールが示す次の時間帯のコピー速度レベル、及び、前記性能情報が示す値と閾値との関係、に基づいて、前記次の時間帯のコピー速度レベルを決定する、コピー制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストレージ装置に関する。
【背景技術】
【0002】
本開示の背景技術として、米国特許出願公開第2008/0077735号がある。米国特許出願公開第2008/0077735号には、例えば、「データを格納するよう構成され、最大容量をそれぞれ有する複数のディスク・ドライブ・サブユニットであって、前記ディスク・ドライブ・サブユニットの合計がキャッシュの最大容量を含む、前記ディスク・ドライブ・サブユニットと、前記キャッシュ・ディスク・ストレージの有効容量の、要求されたアップグレード調整に応じるよう構成されているキャッシュ制御器であって、前記キャッシュ制御器は、前記複数のディスク・ドライブ・サブユニットにまたがるアクティブな認識有効容量を提供するファイルシステムに適用可能な容量制限を規定し、前記ディスク・ドライブ・サブユニットそれぞれの前記認識有効容量は、前記キャッシュ・ディスク・ストレージにおいて前記ファイルシステムにより提供される、データ・ストレージのアクティブな認識有効容量の総量と、前記キャッシュの最大容量との関係についてと同じように、前記ディスク・ドライブ・サブユニットの最大容量に対して相当な割合であり、前記容量制限は、前記要求されたアップグレード調整に関連し、前記容量制限は、前記ファイルシステムに関してデータ転送の速度を制御する、前記キャッシュ制御器と、を含む、キャッシュ・ディスク・ストレージ」が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許出願公開第2008/0077735号
【発明の概要】
【発明が解決しようとする課題】
【0004】
ストレージ装置には様々な要件のシステムのデータが混在し得る。設計者は様々な要件を考慮して各ボリュームを設計することが求められ、ストレージ装置の性能設計は複雑化している。ストレージ装置におけるホストアクセスの処理性能に影響を与えないようにするため、設計者はバックアップ等のボリュームデータのコピーの性能設計を行うことなくコピー速度を一律低速に設定する、又は、少量の専用CLPR(Cache Logical PaRtition)を設定して運用することが多い。その結果、本来発揮することが可能なコピー性能が発揮されていない。
【課題を解決するための手段】
【0005】
本開示の一態様のストレージ装置は、ホストからのI/O要求を処理する、ストレージコントローラと、前記ホストのデータを格納する記憶デバイスと、を含み、前記ストレージコントローラは、複数ボリュームの各ボリュームに対して、周期内で連続する時間帯それぞれのコピー速度レベルを示すスケジュールを格納し、前記ストレージコントローラの現在の性能情報を収集してメモリに格納し、前記スケジュールが示す次の時間帯のコピー速度レベル、及び、前記性能情報が示す値と閾値との関係、に基づいて、前記次の時間帯のコピー速度レベルを決定する。
【発明の効果】
【0006】
本開示の一態様によれば、ストレージ装置のボリュームデータのコピー性能を改善できる。
【図面の簡単な説明】
【0007】
【
図1】本明細書の一実施例の計算機システムの構成例を模式的に示す。
【
図2】ストレージ装置のハードウェア構成例を示す。
【
図4】ストレージコントローラ及び管理装置により実行されるソフトウェアの構成例を示す。
【
図10】速度調整回数及び特異日管理テーブルの構成例を示す。
【
図12A】リアルタイムのコピー速度調整処理の例のフローチャートを示す。
【
図12B】リアルタイムのコピー速度調整処理の例のフローチャートを示す。
【
図12C】リアルタイムのコピー速度調整処理の例のフローチャートを示す。
【
図12D】リアルタイムのコピー速度調整処理の例のフローチャートを示す。
【
図13】次の日のバックアップ実行計画の作成処理例のフローチャートを示す。
【
図14】特異日の判定及び理想値の調整の処理例のフローチャートを示す。
【発明を実施するための形態】
【0008】
以下、図面を用いて実施例を説明する。なお、実施例は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではなく、また実施例の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0009】
以下の説明では、「xxxテーブル」の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「xxxテーブル」を「xxx情報」と呼ぶことができる。また、以下の説明では、要素の識別情報として番号が使用されるが、他種の識別情報(例えば名前、識別子)が使用されてよい。
【0010】
また、以下の説明では、同種の要素を区別しないで説明する場合には、参照符号における共通符号(又は参照符号)を使用し、同種の要素を区別して説明する場合は、参照符号(又は要素のID)を使用することがある。
【0011】
プログラムは、ストレージコントローラに含まれるプロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えば主記憶)及び/又は通信インタフェース装置を用いながら行うため、処理の主語がストレージコントローラ或いはプロセッサとされてもよい。また、ストレージコントローラは、処理の一部又は全部を行うハードウェア回路を含んでもよい。コンピュータプログラムは、プログラムソースからインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバ、又は、コンピュータ読取可能な記憶メディアであってもよい。
【0012】
図1は、本明細書の一実施例の計算機システムの構成例を模式的に示す。計算機システムは、ストレージ装置10、ホスト21、22、管理装置30、外部ストレージ装置40、パブリックストレージ装置50、及びリモートコピー(RC)先ストレージ装置60を含む。なお、各種装置の数は任意であり、一部の種類の装置が省略されてよい。外部ストレージ装置40、パブリックストレージ装置50、及びリモートコピー先ストレージ装置60は、コピー先ストレージ装置である。
【0013】
ホスト21は、例えばストレージエリアネットワークを介して、ストレージ装置10が提供するボリュームにアクセスする。ホスト21は、ストレージ装置10に対して、I/O先を指定したI/O要求(ライト要求又はリード要求)を送信する。ホスト22は、例えばストレージエリアネットワークを介して、外部ストレージ装置40が提供するボリュームにアクセスする。ホスト22は、外部ストレージ装置40に対して、I/O先を指定したI/O要求を送信する。
【0014】
ストレージ装置10は、複数のバックアップ先に対して、ボリューム内に格納されているデータを随時コピーする。データバックアップ(単にバックアップとも呼ぶ)のためのコピーは、同期コピー又は非同期コピーである。コピーされるデータは、コピー元ボリュームの全体データであっても、更新による差分データであってもよい。
【0015】
ストレージ装置10内のバックアップ又はストレージ装置10から他のストレージ装置へのバックアップは、コピー制御部130により制御される。コピー制御部130は、計算機システムにおいて収集された情報に基づいて、コピー速度を制御する。この詳細は後述する。なお、以下では、バックアップのためのデータコピーを主に説明するが、本開示の特徴少なくとも一部は、バックアップと異なる目的のデータコピーに適用され得る。
【0016】
図1の例において、ストレージ装置10のいくつかの正ボリュームのデータは、当該ストレージ装置10又は他のストレージ装置の副ボリュームにコピーされる。正又は副ボリュームのデータは、そのボリュームを管理するストレージ装置の物理記憶デバイスに格納される。
【0017】
図1の例において、ストレージ装置10が格納する正ボリューム121に対する副ボリューム42が、外部ストレージ装置40に格納されている。外部ストレージ装置40は、オンプレミスなストレージ装置であり、例えば、ストレージエリアネットワークにより、ストレージ装置10と通信する。ストレージ装置10の正ボリューム121のデータは、ストレージ装置10内の仮想的なボリュームを介して、外部ストレージ装置40の副ボリューム42にコピーされる。
【0018】
ストレージ装置10が格納する正ボリューム122に対する副ボリューム52が、パブリックストレージ装置50に格納されている。パブリックストレージ装置50は、例えば、パブリッククラウド内のストレージ装置である。ストレージ装置10とパブリックストレージ装置50との通信は、例えば、パブリックなIPネットワークを利用することができる。
【0019】
ストレージ装置10が格納する正ボリューム123をコピーした副ボリューム124が、ストレージ装置10内に格納されている。また、副ボリューム124を正ボリュームとしてコピーした副ボリューム62は、リモートコピー先ストレージ装置60に格納されている。副ボリューム62のデータは、例えば、災害時の正ボリューム123のデータ回復に利用することができる。
【0020】
ストレージ装置10とリモートコピー先ストレージ装置60とは、エクステンダ71、72を含むネットワークパスを介して通信を行う。エクステンダ71、72は、ネットワーク上の長距離伝送を可能とすると共に、ストレージ装置10、60のプロトコルと、エクステンダ71、72間のプロトコルとの間の変換を行う。例えば、エクステンダ間は専用線が使用され、エクステンダとストレージ装置との間は、ストレージエリアネットワークが使用されてもよい。
【0021】
管理装置30は、管理ネットワークを介して、ストレージ装置10、外部ストレージ装置40、リモートコピー先ストレージ装置60、ホスト21、22、及びネットワークのエクステンダ71、72と通信する。管理装置30は、他の装置から様々な種類の情報を収集し、データベース350に格納する。
図1に示す例において、性能管理部320は、ストレージ装置10、外部ストレージ装置40、リモートコピー先ストレージ装置60、及びホスト21、22それぞれから、それらの性能情報(負荷情報)を収集する。
【0022】
なお、可能であれば、管理装置30は、パブリックストレージ装置50又はそれを管理する装置から、パブリックストレージ装置50の性能情報(負荷情報)を得るために通信を行ってよい。
【0023】
レプリケーション管理部330は、リモートコピー元ストレージ装置10とリモートコピー先ストレージ装置60から、リモートコピー関連の性能情報(負荷情報)を収集する。ネットワーク(NW)帯域管理部340は、ストレージ装置10が通信に使用するネットワークの帯域情報(通信負荷情報)を収集する。
図1の例において、エクステンダ71、72から帯域情報が収集される。ネットワーク帯域管理部340は、加えて、ストレージ装置10及び/又はストレージ装置10とパブリックストレージ装置50との間のネットワーク装置から、帯域情報を収集してもよい。
【0024】
なお、上記取集情報の一部のみが収集されてもよく、他の装置の性能情報がさらに収集されてもよい。例えば、ホスト21、22の情報は収集されなくてもよく、ストレージ装置10と通信するホスト21のみから情報が収集されてもよい。上記ネットワークの帯域情報に加えて又は代えて、他のネットワークの帯域情報が収集されてよい。例えば、ネットワーク帯域管理部340は、ストレージ装置10、外部ストレージ装置40及び/又はそれらの間のネットワークのネットワーク装置、例えばスイッチから、帯域情報を収集してもよい。なお、ストレージ装置10からの性能情報の収集は省略されてもよい。ストレージ装置10は、自装置の情報を自装置で保持及び管理する。
【0025】
図2はストレージ装置10のハードウェア構成例を示す。ストレージ装置10は、1以上の物理的記憶デバイスであるドライブ120と、ドライブ120に接続されたストレージコントローラ110とを含む。ストレージコントローラ110は、インタフェース(I/F)113~116、メモリ112、それらに接続されたプロセッサ111を含む。
図2は、複数のプロセッサ及びメモリそれぞれの一つが例として符号で指示されている。
【0026】
インタフェース114は、ホストとストレージコントローラ110との間のデータのやり取りを仲介する通信インターフェースデバイスである。インタフェース114に、例えばストレージエリアネットワークを介して、ホストが接続される。インタフェース115は、外部ストレージ装置40及びリモートコピー先ストレージ装置60と通信を行うためのインターフェースデバイスである。インタフェース115は、ストレージエリアネットワークを介して他のストレージ装置に接続される。
【0027】
インタフェース116は、管理装置30及びパブリックストレージ装置50と通信するための通信インターフェースデバイスである。インタフェース116は、例えば、LANに接続される。インタフェース116は、LANにおいて又はLAN及び公衆回線を介して管理装置30と通信する。インタフェース116は、LAN及び公衆回線を介してパブリックストレージ装置50と通信する。
【0028】
インタフェース113は、複数のドライブ120とストレージコントローラ110の間のデータのやり取りを仲介する通信インターフェースデバイスである。インタフェース113には、複数のドライブ120が、例えば不図示のスイッチを介して、接続される。
【0029】
メモリ112は、プロセッサ111が実行するプログラムと、プロセッサ111が使用するデータを記憶する。メモリ112は、RAM(Random Access Memory)、NVRAM(Non Volatile RAM)等である。不図示の非一過性記憶媒体に格納されているプログラムやデータが、メモリ112に読み込まれる。
【0030】
プロセッサ111は、メモリ112に格納されているプログラムを実行する。例えば、メモリ112及びプロセッサ111の組が二重化されている。プロセッサ111は、CPU、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等を用いて構成される。プロセッサ111が、メモリ112に格納されているプログラムを読み出して実行することにより、所定機能が実現される。
【0031】
ドライブ120は、例えばHDD(Hard Disc Drive)であり、主としてユーザデータを格納する。ドライブ120としては、フラッシュメモリなどの半導体メモリからなるドライブでもよい。複数のドライブ120は、RAIDグループを構成してよい。ドライブ120には、RAIDグループに基づいて一つ以上の論理記憶領域(ボリューム)が作成される。ボリュームは、ドライブ120が有する物理的な記憶領域と関連付けられる。なお、他のストレージ装置40、50、60のハードウェア構成に対しても、ストレージ装置10と同様の説明を適用し得る。
【0032】
図3は、管理装置30のハードウェア構成例を示す。管理装置30は、プロセッサ302、主記憶装置303、補助記憶装置304、入力装置305、出力装置306、通信インタフェース307を含む。管理装置30の各部分は図示しないバス等の通信手段を介して互いに通信可能に接続されている。尚、管理装置30は、構成の全部又は一部がクラウドサーバのような仮想的な資源によって実現されるものであってもよい。
【0033】
プロセッサ302は、CPU、MPU、GPU等を用いて構成される。プロセッサ302が、主記憶装置303に格納されているプログラムを読み出して実行することにより、所定機能が実現される。主記憶装置303は、プログラムやデータを記憶する装置であり、ROM(Read Only Memory)、RAM(Random Access Memory)、NVRAM(Non Volatile RAM)等である。
【0034】
補助記憶装置304は、例えば、SSD(Solid State Drive)、NVRAM、HDD等である。補助記憶装置304は、プログラム及びデータを格納する非一過性記憶媒体を含む。補助記憶装置304に格納されているプログラムやデータは主記憶装置303に随時読み込まれる。
【0035】
入力装置305は、情報の入力を受け付けるインタフェースであり、例えば、キーボード、マウス、タッチパネル、カードリーダ、マイクロフォン等である。出力装置306は、各種の情報を出力するインタフェースであり、例えば、表示装置、印字装置、スピーカ等の音声出力装置等である。通信インタフェース307は、管理装置30が他の装置と通信を行うための装置である。
図3に示す構成要素の一部は省略されてよく、また、他の構成要素が追加されてよい。
【0036】
図4は、ストレージコントローラ110及び管理装置30により実行されるソフトウェアの構成例を示す。管理装置30により実行されるソフトウェアは、性能管理部320、レプリケーション管理部330、及びネットワーク帯域管理部340を含む。
【0037】
性能管理部320は、外部ストレージ装置40の性能情報322と、ホスト21、22の性能情報323を収集及び管理する。性能管理部320は、外部ストレージ装置40及びホスト21、22から情報を定期的に収集して、外部ストレージ性能情報322及びホスト性能情報323に含める。これらは、データベース350に格納される。外部ストレージ性能情報322は、ストレージコントローラ110の性能情報142と同じ項目を含むことができ、ホスト性能情報323は、ホストの性能情報を示し、プロセッサ使用率やメモリ使用率等を含むことができる。性能情報142の項目の詳細は後述する。
【0038】
レプリケーション管理部330は、リモートコピー元ストレージ装置10とリモートコピー先ストレージ装置60のリモートコピー関連の性能情報332を収集及び管理する。レプリケーション管理部330は、リモートコピー元ストレージ装置10とリモートコピー先ストレージ装置60から情報を定期的に収集して、レプリケーション性能情報332に含める。レプリケーション性能情報332は、データベース350に格納される。
【0039】
外部ストレージ性能情報322及びレプリケーション性能情報332は、例えば、ストレージコントローラのプロセッサ稼働率や、キャッシュ書込待率、ポートデータ転送量等を含むことができる。キャッシュ書込待率は、ドライブへのデステージを待つデータの領域のキャッシュ領域に対する比率である。複数のストレージコントローラや複数ポートが実装されている場合、それらの平均値や予め指定されたデバイスの値が使用されてもよい。なお、可能であれば、リモートコピー先ストレージ装置60を外部ストレージとして、リモートコピー先ストレージ装置60の情報を性能管理部320の外部ストレージ性能情報322に含めてよい。
【0040】
ネットワーク帯域管理部340は、ストレージ装置10が使用するネットワークの性能情報を収集して、ネットワーク帯域情報342に含め、それを管理する。ネットワーク帯域情報342は、例えば、エクステンダ71、72やスイッチのようなネットワーク装置から取得することができる。ネットワーク帯域情報342は、データベース350に格納される。
【0041】
ストレージコントローラ110により実行されるファームウェア150は、コピー制御部130及び性能情報取得部140を含む。性能情報取得部140は、ストレージコントローラ110の現在の性能情報142(負荷情報)を収集する。性能情報142は、例えば、プロセッサ稼働率や、キャッシュ書込待率、バックアップジョブ利用率等を含むことができる。バックアップジョブ利用率は、プロセッサが最大で実行できるバックアップのプロセス数に対する、実行プロセス数の比率である。
【0042】
性能情報取得部140は、さらに、ストレージコントローラ110が使用するネットワークの帯域情報を収集してもよい。例えば、インタフェース113~116のポートデータ転送量を含むことができる。性能情報142は、例えば、管理装置30に転送されてデータベース350に格納されてもよい。なお、異なる機能部の現在の性能情報の収集周期は、共通でも共通でなくてもよい。
【0043】
コピー制御部130は、速度設定部132、ビットマップ管理部133、及びコピー速度制御部135を含む。ビットマップ管理部133は、ボリュームコピーにおけるビットマップを管理する。速度設定部132は、ボリューム毎のコピー速度を設定する。なお、複数のボリュームが一つのコピーグループを構成し、コピーグループのボリュームには共通のコピー速度が設定されてもよい。コピー速度制御部135は、管理装置30及び性能情報取得部140が収集した計算機システムの情報に基づいて、ボリュームそれぞれのコピー速度を制御する。コピー制御部130の動作の詳細は後述する。
【0044】
以下において、ストレージコントローラ110が保持及び管理する情報の例を説明する。情報は、メモリ112に格納される。ストレージコントローラ110の管理情報は、ドライブ120又は他の不揮発記憶装置にも可能されてよい。
【0045】
図5は、ビットマップ管理テーブル810の構成例を示す。ビットマップ管理テーブル810は、コピー元ボリュームとコピー先ボリュームとの間のデータの差分を管理する。
図5の例において、ビットマップボリューム内のアドレスは、8ビットで表される。列811は前4ビットを示し、行812は後ろ4ビットを示す。コピー元ボリュームとコピー先ボリュームとの間で、あるアドレスのデータが異なる場合、ビットマップ管理テーブルにおける当該アドレスの値は、1である。データが同一であって差分がない場合、そのアドレスの値は0である。
【0046】
図6は、使用機能管理テーブル820の構成例を示す。使用機能管理テーブル820は、コピー制御において参照する性能情報の範囲を指定するためのフラグを管理する。使用機能管理テーブル820は、フラグを示すフラグ欄822と、フラグがそれぞれ意味する、コピー制御のために使用する機能を示す使用機能欄821を含む。コピー制御部130は、使用機能欄821が示す機能が収集した性能情報を使用して、データコピーを制御する。
【0047】
例えば、フラグ000は、ストレージコントローラ110のファームウェア、つまり、性能情報取得部140のみが収集した性能情報を意味する。フラグ001、010、100は、それぞれ、性能管理部320のみの性能情報、レプリケーション管理部330のみの性能情報、ネットワーク帯域管理部340のみの性能情報を意味する。なお、以下の説明において、「T」は性能管理部320を表し、「R」はレプリケーション管理部330を表し、「N」はネットワーク帯域管理部340を表すことがある。
【0048】
図7は、性能情報管理テーブル830の構成例を示す。性能情報管理テーブル830は、コピー制御において参照される性能項目についての情報を管理する。データ格納先欄831、データ項目名欄832、特異日以外の日の理想値欄833、及び特異日の理想値欄834、フラグ欄835、及び即時カウント欄836を含む。
【0049】
性能情報管理テーブル830の各レコードの理想値(特異日以外)と理想値(特異日)の初期値は、ユーザにより設定される。一例において、各レコードの特異日以外の日の理想値欄833及び特異日の理想値欄834の初期値は同一である。特異日以外の日の理想値欄833及び特異日の理想値欄834の値は、コピー制御部130により更新される。更新の詳細は後述する。
図7において、理想値は16ビットで表されている。
【0050】
なお、性能管理部320、レプリケーション管理部330、ネットワーク帯域管理部340で取得する性能項目についての理想値は、それぞれ性能管理部320、レプリケーション管理部330、ネットワーク帯域管理部340でユーザが設定した理想値を性能情報管理テーブル830に取得してきてもよい。
【0051】
データ格納先欄831は、データを格納するメモリ112のアドレスを示す。データ項目名欄832は、コピー制御で参照される性能情報の項目を示す。特異日以外の日の理想値欄833は、データ項目の特異日以外の理想値を示す。特異日の理想値欄834は、データ項目の特異日の理想値を示す。理想値は、コピー速度レベル決定のために参照される閾値である。フラグ欄835が示すフラグの意味は、使用機能管理テーブル820のフラグ欄822と同様である。即時カウント欄836は、一月の即時カウント数を示し、初期値は0である。即時カウントは、リアルタイムでコピー速度レベルを低下させた回数を示し、コピー処理において更新される。即時カウントの詳細は後述する。
【0052】
性能情報管理テーブル830の各レコードは、フラグ欄835のフラグが示す機能が収集した性能情報における、データ項目名欄832のデータ項目の情報を示す。例えば、レコード837のフラグ欄835の値は000であるので、その対象は、ストレージコントローラ110の性能情報取得部140が収集した情報である。データ項目名欄832はキャッシュ書込待率を示す。従って、レコード837は、ストレージコントローラ110のキャッシュ書込待率の情報を示す。特異日及び理想値の詳細は後述する。
【0053】
レコード838のフラグ欄835の値は001であるので、その対象は、管理装置30の性能管理部320が収集した情報である。データ項目名欄832はプロセッサ稼働率を示す。上述のように、性能管理部320は、外部ストレージ性能情報322及びホスト性能情報323を収集及び管理する。
図7の例は、説明の容易のため、外部ストレージ装置40及びホスト21、22に共通の理想値が定義されているが、外部ストレージ装置40は、ホスト21、22と異なる値が設定されてよく、ホスト21、22の間においても共通又は異なる理想値が設定されてよい。
【0054】
レコード839のフラグ欄835の値は010であるので、その対象は、管理装置30のレプリケーション管理部330が収集した情報である。データ項目名欄832はポートデータ転送量を示す。従って、ストレージ装置10のリモートコピーのための特定のポートの単位時間当たりのデータ転送量の理想値が、レコード839において示されている。ポートデータ転送量は、例えば、リモートコピー先ストレージ装置60のポートデータ転送量でも、複数ポートの単位時間当たりのデータ転送量の平均値でもよい。
【0055】
レコード840のフラグ欄835の値は000であるので、その対象は、ストレージコントローラ110の性能情報取得部140が収集した情報である。データ項目名欄832はコピー処理多重度を示す。つまり、ストレージコントローラ110のコピー処理多重度の理想値が示されている。コピー処理の多重度が大きくなると、コピー速度が増加する。
【0056】
図8は、速度テーブル845の構成例を示す。速度テーブル845は、コピー制御部130により設定され得るコピー速度を示す。コピー速度は、ボリューム毎に設定される。なお、複数のボリュームがコピーグループを構成し、これらに対して共通のコピー速度が設定されてもよい。
【0057】
速度テーブル845は、速度欄846及び識別子欄847を含む。
図8の例は、三つの速度レベルを示し、それらは、低速、中速及び高速である。識別子は、8ビットで表され、低速を-1、中速を0、高速を+1として定義している。なお、速度テーブル845はコピー速度レベルを示し、実際のコピー速度とは異なる。コピー速度制御部135は、指定されたコピー速度レベルに応じて実際のコピー速度を決定する。コピー速度は、例えばコピー処理多重度により変化し、これら速度レベルより細かい制御がなされる。
【0058】
図9は、実行速度管理テーブル850の構成例を示す。実行速度管理テーブル850は、所定周期(時間帯)で各ボリュームに対して事前に設定されたコピー速度レベルのスケジュールと、実際に選択されたコピー速度レベルの履歴を示す。所定周期は、一例において、ファームウェア150の性能情報の取得周期と一致する。ストレージコントローラ110は、各ボリューム又は各コピーグループに対して、
図9に示す構成の実行速度管理テーブル850を保持する。
【0059】
実行速度管理テーブル850は、例えば、当該月の1日から末日まで全回次分のコピー速度レベルのスケジュール及び実績情報を管理する。各回次の時間帯の長さは一定であり、例えば、3分である。なお、バックアップコピーは、例えば、1日の限られた時間帯に実行される。例えば、バックアップ周期である1日のコピー速度レベルのスケジュールは、前日のバックアップの終了後に決定され、実行速度管理テーブル850に登録される。
【0060】
実行速度管理テーブル850は、日付欄851、回次欄852、及び速度欄853を含む。日付欄851は当該月の日付を示し、5ビットで表されている。回次欄852は、各日における回次を示し、16ビットで表されている。コピー処理の開始前、速度欄853の初期値は、各回次(時間帯)に対するコピー速度レベルを指定している。コピー処理の実行において、速度欄853の値は、各回次で実際に使用されたコピー速度レベルに随時更新される。コピー速度レベルは、速度テーブル845が示す通り、低速、中速及び高速がそれぞれ、-1、0、+1で表される。以下に説明する例において、初期値のコマンドは、コピー速度を具体的に指定する又は一つ前の回次と同じコピー速度レベルであることを指定する。
【0061】
後述するように、1日における各時間帯の各ボリュームの実際のコピー速度レベルは、速度欄853が示す設定速度レベル及び取得された計算機システムの性能情報に基づき決定される。実際に使用された速度レベルによって、速度欄853の値が更新される。
【0062】
図10は、速度調整回数及び特異日管理テーブル860の構成例を示す。速度調整回数及び特異日管理テーブル860は、当該月の1日から末日まで、当該ボリュームに対して速度を変更した回数を、特異日判定のために保持する。
図10の例において、速度調整回数及び特異日管理テーブル860は、日付欄861、即時カウント欄862、変更カウント欄863、及び特異日フラグ欄864を含む。
【0063】
即時カウント欄862及び変更カウント欄863は、それぞれ一日の即時カウント数及び変更カウント数を示す。これらは、当該月内の各日のコピー処理において随時更新される。即時カウント及び変更カウントは後述する。当該月に対する特異日フラグ欄864の値は、当該月の開始前に設定される。詳細は月次フローにおいて後述される。
図10において、特異日を示すフラグの値は1である。各月及び各ボリュームに対する速度調整回数及び特異日管理テーブル860が、用意される。
【0064】
図11は、乖離率管理テーブル870の構成例を示す。乖離率管理テーブル870は、理想値からどの程度乖離したものをHIGH又はLOWと判定するか、ユーザの設定値を保持する。乖離率管理テーブル870は、HIGH欄871及びLOW欄872を含む。HIGH欄871は、HIGHと判定される理想値からの乖離率の閾値を示し、LOW欄872はLOWと判定される理想値からの乖離率の閾値を示す。
【0065】
以下において、コピー制御部130の処理を説明する。以下に説明する例において、コピー制御部130は、
図14を参照して後述するように、一月のバックアップ処理の実績に基づき、特異日と特異日以外の通常日を決定する。さらに、特異日及び通常日それぞれの、コピー速度レベルスケジュールの初期値を決定する。月の特異日の初日及び通常日の初日それぞれにおいて、対応する上記コピー速度レベルスケジュールを使用する。これにより、通常日と異なる特異日に対しても適切なコピー速度レベルを設定できる。
【0066】
図13を参照して説明するように、コピー制御部130は、特異日の二日目以降のコピー速度レベルスケジュールを、前回の特異日の実績に基づいて決定する。また、通常日の二日目以降のコピー速度レベルスケジュールを、前回の通常日の実績に基づいて決定する。例えば、特異日が火曜日であれば、二日目の特異日のコピー速度レベルスケジュールは、先週の火曜日の実績に基づいて決定される。通常日である水曜日のコピー速度レベルスケジュールは、その週の月曜日の実績に基づいて決定される。これにより、各日に対してより適切なコピー速度レベルスケジュールを決定できる。
【0067】
図12Aから12Dを参照して説明するように、コピー制御部130は、当日の各時間帯のコピー速度レベルを、事前に設定されたスケジュールと、収集された計算機システムの性能情報に基づいて決定する。これにより、各日のバックアップ処理において、より適切にコピー速度を決定できる。
【0068】
まず、
図12Aから12Dを参照して、リアルタイムのコピー速度調整処理の例を説明する。本例において、リアルタイム速度調整処理は、一定間隔、例えば、性能情報取得と同間隔で、コピー速度を理想値以下になるように調整する。これにより、コピー処理によるホストIO処理を含む他の処理への影響を低減できる。
【0069】
以下に説明する例において、リアルタイムのコピー速度調整処理は、1日の特定の期間において、所定間隔(例えば3分)で実行される。各ボリュームの各時間帯のコピー速度レベルは、実行速度管理テーブル850の速度欄853に格納されている。上述のように、コマンドは、低速、中速若しくは高速を具体的に示す。
【0070】
一つ前の時間帯と現在の時間帯(現在の回次)を比較し速度欄853に差があった場合は、現在の時間帯(現在の回次)の速度欄853に格納されている速度レベルに変更するコマンドを実行する。一つ前の時間帯と現在の時間帯(現在の回次)を比較し速度欄853に差がない時間帯は、一つ前の時間帯と同一のコピー速度レベルであることを意味し、速度レベルの変更、則ちコマンドの実行は行わない。速度欄853に差があった場合のみ速度レベルを変更するコマンドを実行することで、コピー速度レベルの高頻度の増減による不安定動作を避けることができる。
【0071】
以下に説明する例において、ストレージコントローラ110のファームウェア150内の性能情報142は、キャッシュ書込待率、プロセッサ稼働率、ポートデータ転送量及びバックアップジョブ利用率であるとする。
【0072】
まず、コピー速度制御部135は、 性能情報142及び性能情報管理テーブル830を参照して、最新のキャッシュ書込待率の値と理想値とを比較する(S11)。理想値は性能情報管理テーブル830に示される。理想値は、当該日が特異日であるか否かに応じて選択される。特異日の情報は、速度調整回数及び特異日管理テーブル860に示される。キャッシュ書込待率は、性能情報取得間隔での最大値又は平均値等である。キャッシュ書込待率の値が理想値より大きい場合、フローは結合子Aを介して、
図12Bのフローチャートに進む。
【0073】
コピー速度制御部135は、 性能情報142及び性能情報管理テーブル830を参照して、最新のプロセッサ稼働率の値と理想値とを比較する(S12)。理想値は、当該日が特異日であるか否かに応じて選択される。プロセッサ稼働率は、性能情報取得間隔での最大値又は平均値等である。プロセッサ稼働率の値が理想値より大きい場合、フローは結合子Aを介して、
図12Bのフローチャートに進む。
【0074】
コピー速度制御部135は、 性能情報142及び性能情報管理テーブル830を参照して、最新のポートデータ転送量の値と理想値とを比較する(S13)。理想値は、当該日が特異日であるか否かに応じて選択される。ポートデータ転送量は、性能情報取得間隔での最大値又は平均値等である。ポートデータ転送量の値が理想値より大きい場合、フローは結合子Aを介して、
図12Bのフローチャートに進む。
【0075】
コピー速度制御部135は、性能情報142及び性能情報管理テーブル830を参照して、最新のバックアップジョブ利用率の値と理想値とを比較する(S14)。理想値は、当該日が特異日であるか否かに応じて選択される。バックアップジョブ利用率は、性能情報取得間隔での最大値又は平均値等である。バックアップジョブ利用率の値が理想値より大きい場合、フローは結合子Aを介して、
図12Bのフローチャートに進む。
【0076】
4つの値の全てが理想値以下である場合、コピー速度制御部135は、フラグT、R、及びNに0を代入する(S15)。ここで、フラグT、R、及びNは、それぞれ、性能管理部320、レプリケーション管理部330、及びネットワーク帯域管理部340のフラグを示す。
【0077】
次に、コピー速度制御部135は、性能管理部320との連携の有無を、性能情報管理テーブル830を参照して判定する(S16)。フラグ欄835が、性能管理部320を含む値を示す場合、性能管理部320との連携が存在する。性能管理部320との連携が存在する場合(S16:有り)、コピー速度制御部135は、フラグTに1を代入し、さらに、性能管理部320が収集した情報をデータベース350からコピーする(S17)。性能管理部320との連携が存在しない場合(S16:無し)、ステップS17は省略される。
【0078】
次に、コピー速度制御部135は、レプリケーション管理部330との連携の有無を、性能情報管理テーブル830を参照して判定する(S18)。フラグ欄835が、レプリケーション管理部330を含む値を示す場合、レプリケーション管理部330との連携が存在する。レプリケーション管理部330との連携が存在する場合(S18:有り)、コピー速度制御部135は、フラグRに1を代入し、さらに、レプリケーション管理部330が収集した情報をデータベース350からコピーする(S19)。レプリケーション管理部330との連携が存在しない場合(S18:無し)、ステップS19は省略される。
【0079】
次に、コピー速度制御部135は、ネットワーク帯域管理部340との連携の有無を、性能情報管理テーブル830を参照して判定する(S20)。フラグ欄835が、ネットワーク帯域管理部340を含む値を示す場合、ネットワーク帯域管理部340との連携が存在する。ネットワーク帯域管理部340との連携が存在する場合(S20:有り)、コピー速度制御部135は、フラグNに1を代入し、さらに、ネットワーク帯域管理部340が収集した情報をデータベース350からコピーする(S21)。ネットワーク帯域管理部340との連携が存在しない場合(S20:無し)、ステップS21は省略される。
【0080】
次に、コピー速度制御部135は、フラグT=1である場合、外部ストレージ性能情報322及びホスト性能情報323と、性能情報管理テーブル830と、を参照して、性能情報管理テーブル830が指定するデータ項目の最新の値それぞれと、対応する理想値とを比較する(S22)。いずれか一つのデータ項目の最新値が理想値より大きい場合、フローは結合子Aを介して、
図12Bのフローチャートに進む。全てのデータ項目の最新値が理想値より小さい場合、フローはステップS23に進む。
【0081】
次に、コピー速度制御部135は、フラグR=1である場合、レプリケーション性能情報332及び性能情報管理テーブル830を参照して、性能情報管理テーブル830が指定するデータ項目の最新の値それぞれと、対応する理想値とを比較する(S23)。いずれか一つのデータ項目の最新値が理想値より大きい場合、フローは結合子Aを介して、
図12Bのフローチャートに進む。全てのデータ項目の最新値が理想値より小さい場合、フローはステップS24に進む。
【0082】
次に、コピー速度制御部135は、フラグN=1である場合、ネットワーク帯域情報342及び性能情報管理テーブル830を参照して、性能情報管理テーブル830が指定するデータ項目の最新の値それぞれと、対応する理想値とを比較する(S24)。いずれか一つのデータ項目の最新値が理想値より大きい場合、フローは結合子Aを介して、
図12Bのフローチャートに進む。全てのデータ項目の最新値が理想値より小さい場合、フローは結合しBを介して、
図12Cのフローチャートに進む。
【0083】
次に、
図12Bのフローチャートを説明する。コピー速度制御部135は、結合子Aを介して、
図12Bのフローチャートの処理を開始する。まず、コピー速度制御部135は、実行速度管理テーブル850を参照して、現在の時間帯(現在の回次)における設定コピー速度レベルが中速の、ボリュームがあるか判定する(S25)。
【0084】
中速のボリュームが存在する場合(S25:YES)、コピー速度制御部135は、対象ボリュームに対して、現在の時間帯(対象時間帯)で-1ビットを立てる(S26)。各時間帯及び各ボリュームのビットの情報は、メモリ112内の不図示のテーブルに記録される。コピー速度制御部135は、対象ボリュームの設定コピー速度レベルを、中速から低速に変更する。コピー速度制御部135は、速度調整回数及び特異日管理テーブル860の即時カウント欄862の値と、性能情報管理テーブル830の対応データ項目の即時カウント欄836の値とを、インクリメントする(S27)。
【0085】
次に、コピー速度制御部135は、実行速度管理テーブル850を参照して、現在の時間帯(現在の回次)における設定コピー速度レベルが、高速のボリュームがあるか判定する(S28)。高速のボリュームが存在する場合(S28:YES)、コピー速度制御部135は、対象ボリュームに対して、現在の時間帯(対象時間帯)で0ビットを立てる(S29)。コピー速度制御部135は、対象ボリュームの設定コピー速度レベルを、高速から中速に変更する。コピー速度制御部135は、速度調整回数及び特異日管理テーブル860の即時カウント欄862の値と、性能情報管理テーブル830の対応データ項目の即時カウント欄836の値とを、をインクリメントする(S30)。
【0086】
次に、
図12Cのフローチャートを説明する。コピー速度制御部135は、結合子Bを介して、
図12Cのフローチャートの処理を開始する。
図12Cに示す処理は、理想値からの乖離率を計算する。
【0087】
コピー速度制御部135は、変数Tave、Rave、Naveに0を代入する(S31)。Taveは、性能管理部320のデータ項目の理想値からの乖離率の平均値である。Raveは、レプリケーション管理部330のデータ項目の理想値からの乖離率の平均値である。Naveは、ネットワーク帯域管理部340のデータ項目の理想値からの乖離率の平均値である。
【0088】
次に、コピー速度制御部135は、フラグTの値を判定する(S32)。フラグTの値が1である場合(S32:1)、コピー速度制御部135は、Taveの値を算出する(S33)。例えば、算出式は、(Tのデータコピー/理想値)*100/(Tのデータ項目数)、である。つまり、性能管理部320の全てのデータ項目の値それぞれの理想値に対する比率の和を計算し、データ項目数で除算する。フラグTの値が0である場合(S32:0)、ステップS33は省略される。
【0089】
次に、コピー速度制御部135は、フラグRの値を判定する(S34)。フラグRの値が1である場合(S34:1)、コピー速度制御部135は、Raveの値を算出する(S35)。例えば、算出式は、(Rデータコピー/理想値)*100/(Rのデータ項目数)、である。つまり、レプリケーション管理部330の全てのデータ項目の値それぞれの理想値に対する比率の和を計算し、データ項目数で除算する。フラグRの値が0である場合(S34:0)、ステップS35は省略される。
【0090】
次に、コピー速度制御部135は、フラグNの値を判定する(S36)。フラグNの値が1である場合(S36:1)、コピー速度制御部135は、Naveの値を算出する(S37)。例えば、算出式は、(Nのデータコピー/理想値)*100/(Nのデータ項目数)、である。つまり、ネットワーク帯域管理部340の全てのデータ項目の値それぞれの理想値に対する比率の和を計算し、データ項目数で除算する。フラグNの値が0である場合(S36:0)、ステップS33は省略される。
【0091】
次に、コピー速度制御部135は、ストレージコントローラ110のキャッシュ書込待率の理想値からの乖離率Cを算出する(S38)。例えば、算出式は、(キャッシュ書込待率/理想値)*100、である。
【0092】
次に、コピー速度制御部135は、ストレージコントローラ110のプロセッサ稼働率の理想値からの乖離率Mを算出する(S39)。例えば、算出式は、(プロセッサ稼働率/理想値)*100、である。
【0093】
次に、コピー速度制御部135は、ストレージコントローラ110のポートデータ転送量の理想値からの乖離率Mを算出する(S40)。例えば、算出式は、(ポートデータ転送量/理想値)*100、である。
【0094】
次に、コピー速度制御部135は、ストレージコントローラ110のバックアップジョブ利用率の理想値からの乖離率Mを算出する(41)。例えば、算出式は、(バックアップジョブ利用率/理想値)*100、である。
【0095】
次に、コピー速度制御部135は、これまでに算出した、Tave、Rave、Nave、C、M、P、及びSの平均値Aveを算出する(S42)。その後、フローは、結合子Cを介して、
図12Dのフローチャートに進む。
【0096】
次に、
図12Dのフローチャートを説明する。コピー速度制御部135は、結合子Cを介して、
図12Dのフローチャートの処理を開始する。
図12Dに示す処理は、現在の時間帯(現在の回次)における設定コピー速度レベルが理想値に対して余裕がある場合に、次の日の同時間帯(次の日の同回次)の速度を一段階上げるための判定を実行する。なお、次の日とは現在が特異日以外の通常日の場合は次の通常日、現在が特異日の場合は次の特異日となる。
【0097】
コピー速度制御部135は、
図12CのステップS42で算出した平均乖離率Aveの値と、閾値LOWの値とを比較する(S45)。閾値LOWの値は、乖離率管理テーブル870に登録されている。
【0098】
平均乖離率Aveの値が、閾値LOW以上である場合、コピー速度制御部135は、平均乖離率Aveの値と、閾値HIGHの値とを比較する(S46)。閾値HIGHの値は、乖離率管理テーブル870に登録されている。平均乖離率Aveの値が、閾値HIGH以上である場合、本処理は終了する。
【0099】
ステップS45において、平均乖離率Aveの値が、閾値LOW未満である場合、コピー速度制御部135は、設定コピー速度レベルが中速であるボリュームの存在を判定する(S47)。設定コピー速度レベルが中速であるボリュームが存在する場合、その対象ボリューム及び現在の時間帯(対象時間帯)で+1ビットを立てて、速度調整回数及び特異日管理テーブル860の変更カウント欄863の値をインクリメントする(S48)。
【0100】
ステップS47において、設定コピー速度レベルが中速であるボリュームが存在しない場合、又は、ステップS46において平均乖離率Aveの値が閾値HIGH未満である場合、コピー速度制御部135は、設定コピー速度レベルが低速であるボリュームの存在を判定する(S49)。
【0101】
設定コピー速度レベルが低速であるボリュームが存在する場合、その対象ボリューム及び現在の時間帯(対象時間帯)で0ビットを立てて、速度調整回数及び特異日管理テーブル860の変更カウント欄863の値をインクリメントし(S50)、本処理は終了する。設定コピー速度レベルが低速であるボリュームが存在しない場合、本処理は終了する。
【0102】
図12Aから12Dを参照して説明した処理において、コピー速度制御部135は、各ボリュームの各時間帯の実際に使用されたコピー速度レベルの情報を、実行速度管理テーブル850に記録する。
【0103】
図12Aから12Dを参照して説明した処理において、コピー速度制御部135は、実行速度管理テーブル850が示す次の時間帯のコピー速度レベルと、計算機システムの性能情報が示す値と理想値との関係と、に基づいて、次の時間帯のコピー速度レベルを決定する。コピー速度制御部135は、速度レベルの維持、増加又は減少の必要性のいずれかを判定し、
図12Dに示すように維持又は増加の必要性に対して前記次の時間帯のコピー速度レベルの維持を決定し、
図12Bに示すように減少の必要性に対して前記次の時間帯のコピー速度レベルの減少を決定する。
【0104】
システム負荷が理想値との関係で設定レベルより高い場合、コピー速度レベルが即時に低下される。これにより、他の処理に対する影響を低減できる。また、システム負荷が理想値との関係で設定レベルより低くても、コピー速度レベルは即時にあげられることなく、その関係が記録されるのみである。これにより、コピー速度レベルの高頻度の増減による不安定動作を避けることができる。なお、即時にコピー速度レベルを上げてもよい。また、コピー速度レベルを即時に下げなくてもよい。
【0105】
次に、バックアップ実行計画の作成する処理を説明する。バックアップ実行計画は、一定の所定周期で実行される。当該処理は、定期バックアップの終了タイミングで、所定期間分のデータを集計し、各ボリュームの次の所定期間の実行計画を決定する。実行計画では、各ボリュームの各時間帯のコピー速度が決定され、実行速度管理テーブル850に登録される。
図12Aから12Dを参照して説明した処理は、バックアップ実行計画の作成周期内で繰り返し実行される。例えば、バックアップ実行計画は1日(24時間)毎に実行され、
図12Aから12Dを参照して説明したリアルタイム速度調整は3分毎に実行される。
【0106】
図13は、次の日のバックアップ実行計画の作成処理例のフローチャートを示す。バックアップ実行計画は、各ボリュームの、一日のコピー速度レベルスケジュールを示す。コピー速度設定部132は、特異日のコピー速度レベルスケジュールを作成するため、前回の特異日の実績を参照する。また、特異日以外の通常日のコピー速度レベルスケジュールを作成するため、前回の通常日の実績を参照する。コピー速度設定部132は、各ボリュームについて、
図12Aから12Dを参照して説明した処理における性能情報取得間隔毎のビット情報を、繰り返し取得し、以下の処理を実行する。なお、毎月の初めての(初日の)特異日及び通常日のコピー速度レベルスケジュールは、
図14で後述する。
【0107】
速度設定部132は、当該時間帯のビットが存在するか判定する(S61)。ビットが存在しない場合、速度設定部132は、一つ前の時間帯のビットが存在するか判定する(S62)。一つ前の時間帯のビットが存在しない場合、本処理は終了する。一つ前の時間帯のビットが存在する場合、速度設定部132は、対象ボリュームの実行速度管理テーブル850における、前の前の時間帯のコピー速度レベルと同じ速度レベルを、実行速度管理テーブル850の次の日の当該時間帯にセットする。なお、次の日とは現在が特異日以外の通常日の場合は次の通常日、現在が特異日の場合は次の特異日となる。
【0108】
ステップS61においてビットが存在する場合、速度設定部132は、ビットが示す値が-1であるか判定する(S64)。ビットが示す値が-1である場合、速度設定部132は、一つ前の時間帯のビットの値を判定する(S65)。一つ前の時間帯のビットの値が-1である場合、本処理は終了する。一つ前の時間帯のビットの値が-1と異なる場合、速度設定部132は、実行速度管理テーブル850の次の日の当該時間帯の対象ボリュームの速度レベルを低速にセットする(S66)。
【0109】
ステップS64において、ビットが示す値が-1と異なる場合、速度設定部132は、ビットが示す値が0であるか判定する(S67)。ビットが示す値が0である場合、速度設定部132は、一つ前の時間帯のビットの値を判定する(S68)。一つ前の時間帯のビットの値が0である場合、本処理は終了する。一つ前の時間帯のビットの値が0と異なる場合、速度設定部132は、実行速度管理テーブル850の次の日の当該時間帯の対象ボリュームの速度レベルを中速にセットする(S69)。
【0110】
ステップS67において、ビットが示す値が0と異なる場合、速度設定部132は、一つ前の時間帯のビットが示す値が1であるか判定する(S70)。一つ前の時間帯のビットが示す値が1と異なる場合、速度設定部132は、実行速度管理テーブル850の次の日の当該時間帯の対象ボリュームの速度レベルを高速にセットする(S69)。一つ前の時間帯のビットが示す値が1である場合、本処理は終了する。
【0111】
上述の処理により、前日のコピー処理における理想値と性能情報との関係、及び、その関係とボリュームに対する設定コピー速度レベルとの関係を示すビットに基づき、次の日のコピー速度レベルスケジュールを計算機システムの状態に応じて適切に決定することができる。またビット管理することにより、コピー速度レベルの高頻度の増減による不安定動作を避けることができる。
【0112】
次に、
図14のフローチャートを参照して、特異日の判定及び理想値の調整の処理を説明する。本処理は、例えば、一月ごとに実行される月次フローであってもよい。月次フローは、例えば、毎月1日に前月の1日から末日までのデータを集計し、特異日を決定し理想値を調整する。
【0113】
速度設定部132は、前月の1日から月末日までの即時カウント数の情報を、速度調整回数及び特異日管理テーブル860から取得する。ここでは、全てのボリュームについての各日の即時カウント数が取得される。さらに、速度設定部132は、即時カウント数が多い上位の所定数の日と、それ以外の日とを判定する(S81)。ここでは、即時カウント数がトップ5の日とそれら以外の日とが分離される。即時カウントは、性能情報と理想値との関係から、コピー速度レベルが下げられたときにインクリメントされる。即時カウント数が大きいことは、高い頻度でコピー速度レベルが事前の設定値から下げられたことを意味する。これにより、特異日を適切に判定できる。なお、即時カウント数が閾値より大きい日を特異日として選択してもよい。
【0114】
速度設定部132は、即時カウント数が6位以下の日を、特異日と異なる通常日と判定する(S82)。さらに、速度設定部132は、通常日に対するコピー速度スケジュールを設定決定する。具体的には、速度設定部132は、通常日と判定された日において、変更カウント数が最小の日のコピー速度レベル実績(履歴)を、次月の通常日の初日のコピー速度レベルスケジュールと決定する(S83)。変更カウント数は、コピー速度増加の判定回数を示し、各月の通常日におけるコピー速度レベルのスケジュールの初期値は、前の月の通常日であって、コピー速度増加の判定回数が最小の日におけるコピー速度レベルに基づき決定される。
【0115】
変更カウント数が小さいことは、理想値に近い値で性能値が推移していたことを意味する。変更カウント数が最小の通常日のコピー速度レベルスケジュールは、実行速度管理テーブル850の、次月の通常日の初日のレコードに格納される。
【0116】
速度設定部132は、即時カウント数が上位の日の、曜日や月末等の周期性に基づき特異日を決定する(S84)。例えば、同一の曜日の日が3以上含まれる場合、次月の当該曜日は特異日であると判定されてもよい。また、上位の日に月末日が含まれる場合、次月の月末日は特異日と判定されてもよい。曜日及び月末の周期性に含まれない日の日付が、次月の特異日と判定されてもよい。なお、即時カウント数が6以下の日が特異日に指定され得る。特異日以外の日が、最終的な通常日となる。次月の速度調整回数及び特異日管理テーブル860において、特異日が設定される。このように、即時カウント数が示すコピー速度レベルの減少の回数に応じて、今月における特異日が選択される。
【0117】
次に、速度設定部132は、特異日のコピー速度レベルスケジュールを決定する(S85)。速度設定部132は、例えば、即時カウント数が最も大きい日のコピー速度レベル実績(履歴)を、特異日のコピー速度レベルスケジュールに決定する。特異日のコピー速度レベルスケジュールは、実行速度管理テーブル850の、次月の特異日の初日のレコードに格納される。即時カウント数はコピー速度減少の判定回数を示し、その最大の日におけるコピー速度レベルに基づき次月の特異日におけるコピー速度レベルのスケジュールの初期値が決定される。
【0118】
なお、特異日はさらに分類されてもよい。例えば、特定曜日の特異日、月末の特異日、具体的な日付の特異日それぞれに、コピー速度レベルスケジュールが決定される。コピー速度レベルスケジュールは、先月に同一種類の特異日において最も即時カウント数が大きい日の実績が使用されてもよい。日次フローによるコピー速度レベルスケジュールの決定は、統一種類の特異日の前回の実績を参照する。
【0119】
次に、速度設定部132は、前月の性能情報管理テーブル830において、即時カウント数が5位以下のデータ項目を抽出する(S86)。次に、速度設定部132は、抽出した5位以下の全項目に対する、1日(月初日)から月末日までの理想値と実績値との乖離率平均を算出する。さらに、算出した乖離率平均と閾値LOWとを比較する(S87)。
【0120】
乖離率平均が閾値LOWより小さい場合、速度設定部132は、先月の1日から月末日までの実行実績で、即時カウント数が上位5の項目の理想値を10%だけ増加させる(S88)。上記処理は、特定の項目においてのみ実績が理想値以上となる回数が多く、その他の項目は理想値まで余裕がある場合、理想値以上となる回数が多い項目の理想値を上げる。
【0121】
このように、速度設定部132は、即時カウント数が示す複数周期においてコピー速度レベルを減少する起因となった回数が他の項目より少ない項目の値が、対応する理想値(閾値)に対して所定レベルより低い場合、複数周期においてコピー速度レベルを減少する起因となった回数が他の項目より多い項目の理想値(閾値)を増加させる。これにより、項目全体の性能の観点から、コピー速度レベルをより適切に上げることができる。また全体の性能の観点から、より適切な理想値に自動で修正することができる。なお、特異日及び通常日に双方の理想値が増加されてよく、その増加幅は任意である。理想値の修正は、特異日の判定と異なる周期で実行されてもよい。
【0122】
上述のように、ビット、即時カウント、及び変更カウントは、それぞれ、コピー速度レベルの維持、増加又は減少の必要性の判定結果の履歴を示す。ビットは、判定により設定されるべきコピー速度レベルを示す。即時カウントは、減少の判定の回数及び実際に減少させた回数を示す。変更カウントは増加の判定結果の回数を示す。
【0123】
なお、
図12A~12D、13及び14を参照して説明した3つの処理の周期は、上記例に限定されない。
図14を参照して説明した処理の周期が最も長く、
図12A~12Dを参照して説明した処理の周期が最も短い。
【0124】
なお、本発明は上記の実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記の実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0125】
また、上記の各構成・機能・処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード等の記録媒体に置くことができる。
【0126】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際には殆どすべての構成が相互に接続されていると考えてもよい。
【符号の説明】
【0127】
10 ストレージ装置
30 管理装置
40 外部ストレージ装置
50 パブリックストレージ装置
60 リモートコピー先ストレージ装置
71、72 エクステンダ
130 コピー制御部
132 速度設定部
135 コピー速度制御部
140 性能情報取得部
320 性能管理部
330 レプリケーション管理部
340 ネットワーク帯域管理部
【手続補正書】
【提出日】2024-03-13
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ストレージ装置であって、
ホストからのI/O要求を処理する、ストレージコントローラと、
前記ホストのデータを格納する記憶デバイスと、を含み、
前記ストレージコントローラは、
複数ボリュームの各ボリュームに対して、周期内で連続する時間帯それぞれのコピー速度レベルを示すスケジュールを格納し、
前記ストレージコントローラの現在の性能情報を収集してメモリに格納し、
前記スケジュールが示す次の時間帯のコピー速度レベル、及び、前記ストレージコントローラの現在の性能情報が示す値と閾値との関係、に基づいて、前記次の時間帯のコピー速度レベルを決定する、
ストレージ装置。
【請求項2】
請求項1に記載のストレージ装置であって、
前記ストレージコントローラは、
前記複数ボリュームの第1ボリュームのデータを、ネットワークを介してコピー先ストレージ装置にコピーし、
前記コピー先ストレージ装置の現在の性能情報を取得し、
前記第1ボリュームのスケジュールが示す次の時間帯のコピー速度レベル、前記ストレージコントローラの現在の性能情報が示す値と前記閾値との関係、及び前記コピー先ストレージ装置の現在の性能情報が示す値と閾値との関係に基づいて、前記第1ボリュームの次の時間帯のコピー速度レベルを決定する、ストレージ装置。
【請求項3】
請求項1に記載のストレージ装置であって、
前記ストレージコントローラは、
前記複数ボリュームの第1ボリュームのデータを、ネットワークを介してコピー先ストレージ装置にコピーし、
前記コピー先ストレージ装置の現在の性能情報を取得し、
前記ホストの現在の性能情報を取得し、
前記ネットワークの現在の帯域情報を取得し、
前記第1ボリュームのスケジュールが示す次の時間帯のコピー速度レベル、前記ストレージコントローラの現在の性能情報が示す値と前記閾値との関係、前記コピー先ストレージ装置の現在の性能情報が示す値と閾値との関係、前記ホストの現在の性能情報が示す値と閾値との関係、及び前記ネットワークの現在の帯域情報が示す値と閾値との関係に基づいて、前記第1ボリュームの次の時間帯のコピー速度レベルを決定する、ストレージ装置。
【請求項4】
請求項1に記載のストレージ装置であって、
前記ストレージコントローラは、
前記ストレージコントローラの現在の性能情報が示す値と前記閾値との関係に基づいて、前記スケジュールが示す前記次の時間帯のコピー速度レベルの維持、増加又は減少の必要性のいずれかを判定し、
前記維持又は増加の必要性に対して前記次の時間帯のコピー速度レベルの維持を決定し、
前記減少の必要性に対して前記次の時間帯のコピー速度レベルの減少を決定する、ストレージ装置。
【請求項5】
請求項4に記載のストレージ装置であって、
前記ストレージコントローラは、
前記周期において、前記コピー速度レベルの維持、増加又は減少の必要性の判定結果の履歴を作成し、
前記履歴に基づいて、次の周期のためのコピー速度レベルのスケジュールを作成する、ストレージ装置。
【請求項6】
請求項1に記載のストレージ装置であって、
前記周期は一日であり、
前記ストレージコントローラは、先月の日それぞれの前記コピー速度レベルの減少の回数に応じて、今月における特異日を選択し、
前記閾値は、前記特異日と前記特異日と異なる通常日とのそれぞれに対して定義されている、ストレージ装置。
【請求項7】
請求項5に記載のストレージ装置であって、
前記周期は一日であり、
前記ストレージコントローラは、
先月の日それぞれの前記コピー速度レベルの減少の回数に応じて、今月における特異日を選択し、
前記今月の特異日における前記コピー速度レベルのスケジュールの初期値を、前記先月の特異日であって、コピー速度減少の判定回数が最大の日におけるコピー速度レベルに基づき決定し、
前記今月の前記特異日と異なる通常日における前記コピー速度レベルのスケジュールの初期値を、前記先月の通常日であって、コピー速度増加の判定回数が最小の日におけるコピー速度レベルに基づき決定する、ストレージ装置。
【請求項8】
請求項1に記載のストレージ装置であって、
前記ストレージコントローラの現在の性能情報は複数項目の値を示し、
前記複数項目それぞれに前記閾値が設定され、
前記ストレージコントローラは、複数周期において前記コピー速度レベルを減少する起因となった回数が他の項目より少ない項目の値が、対応する閾値に対して所定レベルより低い場合、前記複数周期において前記コピー速度レベルを減少する起因となった回数が他の項目より多い項目の閾値を増加させる、ストレージ装置。
【請求項9】
ストレージ装置におけるコピー制御方法であって、
前記ストレージ装置は、ストレージコントローラを含み、
前記ストレージコントローラは、複数ボリュームの各ボリュームに対して、周期内で連続する時間帯それぞれのコピー速度レベルを示すスケジュールを格納し、
前記コピー制御方法は、
前記ストレージコントローラが、前記ストレージコントローラの現在の性能情報を収集してメモリに格納し、
前記ストレージコントローラが、前記スケジュールが示す次の時間帯のコピー速度レベル、及び、前記ストレージコントローラの現在の性能情報が示す値と閾値との関係、に基づいて、前記次の時間帯のコピー速度レベルを決定する、コピー制御方法。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0080
【補正方法】変更
【補正の内容】
【0080】
次に、コピー速度制御部135は、フラグT=1である場合、外部ストレージ性能情報322及びホスト性能情報323と、性能情報管理テーブル830と、を参照して、性能情報管理テーブル830が指定するデータ項目の最新の値それぞれと、対応する理想値とを比較する(S22)。いずれか一つのデータ項目の最新値が理想値より大きい場合、フローは結合子Aを介して、
図12Bのフローチャートに進む。全てのデータ項目の最新値が理想値
以下の場合、フローはステップS23に進む。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0081
【補正方法】変更
【補正の内容】
【0081】
次に、コピー速度制御部135は、フラグR=1である場合、レプリケーション性能情報332及び性能情報管理テーブル830を参照して、性能情報管理テーブル830が指定するデータ項目の最新の値それぞれと、対応する理想値とを比較する(S23)。いずれか一つのデータ項目の最新値が理想値より大きい場合、フローは結合子Aを介して、
図12Bのフローチャートに進む。全てのデータ項目の最新値が理想値
以下の場合、フローはステップS24に進む。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0082
【補正方法】変更
【補正の内容】
【0082】
次に、コピー速度制御部135は、フラグN=1である場合、ネットワーク帯域情報342及び性能情報管理テーブル830を参照して、性能情報管理テーブル830が指定するデータ項目の最新の値それぞれと、対応する理想値とを比較する(S24)。いずれか一つのデータ項目の最新値が理想値より大きい場合、フローは結合子Aを介して、
図12Bのフローチャートに進む。全てのデータ項目の最新値が理想値
以下の場合、フローは結合
子Bを介して、
図12Cのフローチャートに進む。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0090
【補正方法】変更
【補正の内容】
【0090】
次に、コピー速度制御部135は、フラグNの値を判定する(S36)。フラグNの値が1である場合(S36:1)、コピー速度制御部135は、Naveの値を算出する(S37)。例えば、算出式は、(Nのデータコピー/理想値)*100/(Nのデータ項目数)、である。つまり、ネットワーク帯域管理部340の全てのデータ項目の値それぞれの理想値に対する比率の和を計算し、データ項目数で除算する。フラグNの値が0である場合(S36:0)、ステップS37は省略される。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0093
【補正方法】変更
【補正の内容】
【0093】
次に、コピー速度制御部135は、ストレージコントローラ110のポートデータ転送量の理想値からの乖離率Pを算出する(S40)。例えば、算出式は、(ポートデータ転送量/理想値)*100、である。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0094
【補正方法】変更
【補正の内容】
【0094】
次に、コピー速度制御部135は、ストレージコントローラ110のバックアップジョブ利用率の理想値からの乖離率Sを算出する(S41)。例えば、算出式は、(バックアップジョブ利用率/理想値)*100、である。
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】0106
【補正方法】変更
【補正の内容】
【0106】
図13は、次の日のバックアップ実行計画の作成処理例のフローチャートを示す。バックアップ実行計画は、各ボリュームの、一日のコピー速度レベルスケジュールを示す。コピー速度設定部132は、特異日のコピー速度レベルスケジュールを作成するため、前回の特異日の実績を参照する。また、特異日以外の通常日のコピー速度レベルスケジュールを作成するため、前回の通常日の実績を参照する
。速度設定部132は、各ボリュームについて、
図12Aから12Dを参照して説明した処理における性能情報取得間隔毎のビット情報を、繰り返し取得し、以下の処理を実行する。なお、毎月の初めての(初日の)特異日及び通常日のコピー速度レベルスケジュールは、
図14で後述する。
【手続補正9】
【補正対象書類名】明細書
【補正対象項目名】0110
【補正方法】変更
【補正の内容】
【0110】
ステップS67において、ビットが示す値が0と異なる場合、速度設定部132は、一つ前の時間帯のビットが示す値が1であるか判定する(S70)。一つ前の時間帯のビットが示す値が1と異なる場合、速度設定部132は、実行速度管理テーブル850の次の日の当該時間帯の対象ボリュームの速度レベルを高速にセットする(S71)。一つ前の時間帯のビットが示す値が1である場合、本処理は終了する。
【手続補正10】
【補正対象書類名】明細書
【補正対象項目名】0118
【補正方法】変更
【補正の内容】
【0118】
なお、特異日はさらに分類されてもよい。例えば、特定曜日の特異日、月末の特異日、具体的な日付の特異日それぞれに、コピー速度レベルスケジュールが決定される。コピー速度レベルスケジュールは、先月に同一種類の特異日において最も即時カウント数が大きい日の実績が使用されてもよい。日次フローによるコピー速度レベルスケジュールの決定は、同一種類の特異日の前回の実績を参照する。