JP2005209055A - ストレージの負荷分散方法 - Google Patents
ストレージの負荷分散方法 Download PDFInfo
- Publication number
- JP2005209055A JP2005209055A JP2004016596A JP2004016596A JP2005209055A JP 2005209055 A JP2005209055 A JP 2005209055A JP 2004016596 A JP2004016596 A JP 2004016596A JP 2004016596 A JP2004016596 A JP 2004016596A JP 2005209055 A JP2005209055 A JP 2005209055A
- Authority
- JP
- Japan
- Prior art keywords
- volume
- logical volume
- logical
- load
- 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.)
- Pending
Links
Images
Abstract
【課題】
ボリューム群の負荷の偏りを自動的に分散させて、ボリューム群の間の負荷を均等化し、ディスク装置全体の性能向上を図る。
【解決手段】
入出力に対する処理が排他となる複数の論理ボリュームを備えた複数のボリューム群を有するストレージにおいて,論理ボリュームの負荷の偏りを監視する負荷監視部を有し,この負荷監視部によって負荷の偏りを検知した場合,負荷の大きいボリューム群内の論理ボリュームの内容を負荷の小さいボリューム群にある予備の論理ボリュームへコピーして、ある論理ボリュームを別の論理ボリューム群内の論理ボリュームへ移動する。
【選択図】 図1
ボリューム群の負荷の偏りを自動的に分散させて、ボリューム群の間の負荷を均等化し、ディスク装置全体の性能向上を図る。
【解決手段】
入出力に対する処理が排他となる複数の論理ボリュームを備えた複数のボリューム群を有するストレージにおいて,論理ボリュームの負荷の偏りを監視する負荷監視部を有し,この負荷監視部によって負荷の偏りを検知した場合,負荷の大きいボリューム群内の論理ボリュームの内容を負荷の小さいボリューム群にある予備の論理ボリュームへコピーして、ある論理ボリュームを別の論理ボリューム群内の論理ボリュームへ移動する。
【選択図】 図1
Description
本発明は、ストレージの負荷分散方法に係り、特に複数のディスクから構成されるRAIDのようなストレージを含むシステムにおける負荷分散のためのボリュームの移動制御に関する。
データベースシステムの運用では、通常、磁気ディスク装置から成るストレージにデータベースを構築している。最近では一般に、1又は複数の磁気ディスクから構成されるRAID(Redundant Arrays of Inexpensive Disks)上に複数の論理ボリュームを生成してデータの管理が行なわれている。このようなデータベースシステムにおいて、特定のディスクへのアクセスが偏っている場合には,データベースシステムの性能が十分発揮されない。
1台のディスク装置や1つのRAID上に複数の論理ボリュームが構成される場合,それらの各論理ボリュームへの入出力コマンドが同時に発行されても,同時には1つのコマンドしか実行できないために,それぞれの入出力処理は排他される。そのような論理ボリュームの集合を、以下ボリューム群と呼ぶことにする。最適なデータベースを構築することが難しいため、アクセス頻度の高い複数の論理ボリュームがあるボリューム群に集中した場合,ディスク装置の性能が十分に発揮できないと言う問題がある。
これを解決するために、システムの設計時、或いはシステムの定期的な見直し時に,論理ボリュームの構成等を考慮して,データベースを構築または再構築しなければならない。しかし,データベースが複雑で大規模になるほど最適なデータベースの構築を行うには,多くのコストや熟練者による経験及び知識が必要となる。
例えばファイルの負荷分散に関する技術として、特開2000−231454号公報(特許文献1)には、オペレーティングシステムによりハードディスクのハードディスク単位および物理パーティション単位で記録されたパフォーマンス情報から負荷状態の分析を行い、過負荷状態が検出された場合に物理パーティション単位での構成変更パターンを作成しファイルの負荷分散を行い、物理パーティション情報が変更された場合でも論理パーティション情報を変更すること無く使用を可能とする技術が開示されている。
上記公報に開示された技術は、パフォーマンス情報に基く過負荷の状態に応じてオペレーティングシステムで物理パーティション単位の構成変更を行うものであり、この公報には、論理ボリュームの負荷の偏りに言及した課題及びその対応策については開示されていない。また、この技術において、物理パーティション情報のマッピングはOSが行うとしており、ディスク制御装置内でどのように制御が行われるかについては詳しく開示されていない。
そこで本発明の目的は、ボリューム群の間の負荷を自動的に分散させることにある。
本発明の他の目的は、ボリュームの負荷の分散に際して,処理装置へ影響を与えることなく,ディスク装置内で負荷分散のための構成の変更を行うことにある。
本発明の他の目的は、ボリュームの負荷の分散に際して,処理装置へ影響を与えることなく,ディスク装置内で負荷分散のための構成の変更を行うことにある。
而して、本発明は、入出力に対する処理が排他となる複数の論理ボリュームを備えた複数のボリューム群を有するストレージにおいて,ボリュームに関する負荷の偏りを監視する負荷監視部を有し,負荷監視部により負荷の偏りを検知した場合,あるボリューム群内の論理ボリュームの内容を別のボリューム群に備えられたある論理ボリュームへコピーして、ある論理ボリュームを別の論理ボリューム群内の論理ボリュームへ移動するものである。
好ましい例では、上記負荷監視部は、物理ディスクを有するディスク装置、又は入出力要求を発行する処理装置に備えられ、この負荷監視部により負荷の偏りを検知した場合,負荷監視部からの指示により,あるボリューム群内の論理ボリュームを別ボリューム群にある予備の論理ボリュームへ内容のコピーして,ある論理ボリューム群にある論理ボリュームを他のボリューム群の間で移動する。
本発明は、好ましくは、入出力処理が排他となる複数の論理ボリュームから構成される複数のボリューム群を有するストレージにおいて,あらかじめボリューム群へ予備論理ボリュームを準備しておき,処理装置からの入出力に対するこれら論理ボリュームのアクセスログを採取し,定期的にアクセスログを監視し,監視の結果,ボリューム群の間でアクセスの偏りが所定の閾値以上であった場合には,最も負荷の高いボリューム群の中で,最も負荷の高い論理ボリュームの内容を別ボリューム群の予備論理ボリュームへ移動させることで,ボリューム群の間の負荷を均等化させ,ストレージ全体の性能向上を図る。
本発明はまた、処理装置から入出力時に指定される論理ボリュームアドレスとは別に,ディスク装置内部で用いる内部論理ボリュームアドレスを用意し,論理ボリュームを移動した場合には,論理ボリュームアドレスは変えずに,内部論理ボリュームアドレスを変えることで,処理装置に,論理ボリュームの移動を意識させることなく,最適化を行う。この場合,処理装置からの入出力要求があったときには,指定された論理ボリュームアドレスを内部論理ボリュームアドレスへ読み替えて,入出力を実行する。
好ましい例では、論理ボリュームの移動は,ある論理ボリュームから予備論理ボリュームへデータを移動して行うので、元の論理ボリュームはデータの移動した後,予備論理ボリュームとして使用できる。
好ましい例ではまた,論理ボリュームを移動する際のコピー処理中の論理ボリュームへ入出力があった場合,READの要求であれば,コピー元の論理ボリュームから読み込みを行い,WRITEの要求であれば,現在のコピー状況を判断し,既にコピー済みの領域であればコピー先とコピー元の両者へ,まだコピーしていない領域であればコピー元の論理ボリュームへ書き込みを行う。これにより,論理ボリュームのコピー中であっても,入出力を止めることなく最適化を行うことができる。もし,何らかの要因でコピーが中止されてしまった場合でも,論理ボリュームの内容を保障できる。
本発明はまた、上記の方法を実行するためのステップを有するコンピュータ上で実行可能なプログラムとして実現される。
本発明によれば、ボリューム群の間の負荷を自動的に分散させることができる。また、処理装置上のオペレーティングシステムに影響を与えることなく,ストレージ内で論理ボリュームの移動を行い,ボリューム群間のアクセスの自動最適化を行うことができる。また,論理ボリュームの移動中であっても,入出力を行うことができるため,稼動中の最適化が可能である。
以下、図面を参照して、本発明の一実施例によるディスク装置における負荷分散について詳細に説明する。
図1は,一実施例によるディスク装置及び処理装置を含むストレージシステムの構成を示す図である。
ストレージシステムにおいて、処理装置1は、例えばクライアントとして機能するホスト計算機であり、それに接続されるディスク装置2に対して入出力要求を発行すると共に、ディスク装置2に入出力されるデータの処理を行う。
ディスク装置2は、例えばRAIDのような記憶装置であり、ディスク制御装置20及び物理的なディスクを備えて構成される。ディスク制御装置20は、アクセス制御部3,負荷監視部4,アクセスログ部5及びボリューム管理テーブル6を格納するメモリ21、及びボリュームコピー制御部7を有する。ディスクは、複数のボリューム群8を有して構成される。尚、アクセス制御部3、負荷監視部4、及びアクセスログ部5、ボリューム管理テーブル6等については、後述する。
図1は,一実施例によるディスク装置及び処理装置を含むストレージシステムの構成を示す図である。
ストレージシステムにおいて、処理装置1は、例えばクライアントとして機能するホスト計算機であり、それに接続されるディスク装置2に対して入出力要求を発行すると共に、ディスク装置2に入出力されるデータの処理を行う。
ディスク装置2は、例えばRAIDのような記憶装置であり、ディスク制御装置20及び物理的なディスクを備えて構成される。ディスク制御装置20は、アクセス制御部3,負荷監視部4,アクセスログ部5及びボリューム管理テーブル6を格納するメモリ21、及びボリュームコピー制御部7を有する。ディスクは、複数のボリューム群8を有して構成される。尚、アクセス制御部3、負荷監視部4、及びアクセスログ部5、ボリューム管理テーブル6等については、後述する。
アクセス制御部3は、処理装置1との間でコマンドの送受信の制御、及びコマンドに基いてボリューム群8のアクセスの制御を行う。ボリュームコピー制御部7は、ボリュームの読み書きを制御する。この実施例において特徴的なことは、負荷の分散制御に基いて実用されているボリュームの内容を予備ボリュームにコピーするための制御を行う。上記負荷監視部4などの各部は、例えばマイクロプログラムにて構成され、本実施例の機能が実現される。
ここで、ボリューム群8について詳しく説明しておく。
それぞれのボリューム群8は複数の論理ボリューム9を含み、各論理ボリューム9への入出力処理が排他となる論理ボリュームの集合として構成される。各ボリューム群8は、論理ボリュームの内少なくとも1つを予備ボリューム10として有する。
例えばボリューム群8として、1台の物理ディスク上に複数の論理ボリュームが形成される場合,それらの論理ボリュームへの入出力は同時に実行されずに排他的となることから,1つの物理ディスク上に形成される論理ボリュームの集合がボリューム群となる。同様に,複数台の物理ディスクで構成されるRAIDに複数の論理ボリュームが形成された場合も各論理ボリュームへの入出力が排他される形態のボリューム群となる。
処理装置1から発行される複数の入出力要求に対して,各ボリューム群8へアクセスが分散していれば性能的な問題は起こらないが,特定のボリューム群へ集中するとディスク装置の性能を十分発揮できなくなる。
それぞれのボリューム群8は複数の論理ボリューム9を含み、各論理ボリューム9への入出力処理が排他となる論理ボリュームの集合として構成される。各ボリューム群8は、論理ボリュームの内少なくとも1つを予備ボリューム10として有する。
例えばボリューム群8として、1台の物理ディスク上に複数の論理ボリュームが形成される場合,それらの論理ボリュームへの入出力は同時に実行されずに排他的となることから,1つの物理ディスク上に形成される論理ボリュームの集合がボリューム群となる。同様に,複数台の物理ディスクで構成されるRAIDに複数の論理ボリュームが形成された場合も各論理ボリュームへの入出力が排他される形態のボリューム群となる。
処理装置1から発行される複数の入出力要求に対して,各ボリューム群8へアクセスが分散していれば性能的な問題は起こらないが,特定のボリューム群へ集中するとディスク装置の性能を十分発揮できなくなる。
図2は、処理装置からの入出力要求の命令形式を示す図である。
入出力要求11は、コマンドの種類を示すコマンド部111、アクセス先のボリュームアドレスを示すボリュームアドレス部112、ボリューム内のブロックアドレスを示すブロックアドレス部113、ブロックの長さを示すレングス部114、及びデータ領域のアドレスを示すデータ領域アドレス部115から成る。ここで、ボリュームアドレス112は処理装置1など上位装置のOS(Operating System)が入出力を行うための論理アドレスである。ブロックアドレス113は論理ボリューム内を指定する内部論理アドレスである。データ領域アドレス115は内部論理アドレスで指定されたボリューム内の物理アドレスを示す。
入出力要求11は、コマンドの種類を示すコマンド部111、アクセス先のボリュームアドレスを示すボリュームアドレス部112、ボリューム内のブロックアドレスを示すブロックアドレス部113、ブロックの長さを示すレングス部114、及びデータ領域のアドレスを示すデータ領域アドレス部115から成る。ここで、ボリュームアドレス112は処理装置1など上位装置のOS(Operating System)が入出力を行うための論理アドレスである。ブロックアドレス113は論理ボリューム内を指定する内部論理アドレスである。データ領域アドレス115は内部論理アドレスで指定されたボリューム内の物理アドレスを示す。
図3はアクセスログ5の内容を示す図である。
アクセスログ5は、アクセスのあった論理ボリュームを示す対象内部ボリュームアドレス51に対応して,アクセス時刻52,入出力の種別を示す入出力コマンド53,及びキャッシュヒットの有無、即ちリード(READ)要求時にキャッシュ上にデータがあったか否かを示すキャッシュヒット識別子54を具備して構成される。
アクセスログ5は、アクセスのあった論理ボリュームを示す対象内部ボリュームアドレス51に対応して,アクセス時刻52,入出力の種別を示す入出力コマンド53,及びキャッシュヒットの有無、即ちリード(READ)要求時にキャッシュ上にデータがあったか否かを示すキャッシュヒット識別子54を具備して構成される。
図4は、ボリューム管理テーブル6の内容を示す図である。
各行は論理ボリュームの属性を示し、61は論理ボリュームが属するボリューム群の識別子,62は当該論理ボリュームのボリュームアドレス,63はその論理ボリュームの内部ボリュームアドレス,64は予備の論理ボリュームを持っているか否かを示す識別子,65は論理ボリュームのコピー中にどのボリューム間でコピーを行っているかを識別するためのコピー相手となる論理ボリュームのアドレス,66はその論理ボリュームがコピー中か否かを示す識別子、67は論理ボリュームへのWRITE要求を一時的に抑止するためのWRITE抑止状態を示す。
各行は論理ボリュームの属性を示し、61は論理ボリュームが属するボリューム群の識別子,62は当該論理ボリュームのボリュームアドレス,63はその論理ボリュームの内部ボリュームアドレス,64は予備の論理ボリュームを持っているか否かを示す識別子,65は論理ボリュームのコピー中にどのボリューム間でコピーを行っているかを識別するためのコピー相手となる論理ボリュームのアドレス,66はその論理ボリュームがコピー中か否かを示す識別子、67は論理ボリュームへのWRITE要求を一時的に抑止するためのWRITE抑止状態を示す。
図5は、アクセス制御部3の構成を示す図である。
入出力実行制御部31は、処理装置1からのリード(READ)要求およびライト(WRITE)要求を受けて論理ボリューム9への入出力を制御する。入出力実行制御部31は、コマンドに従ってリードデータを処理するリード処理部32,及びライトデータを処理するライト処理部33を有する。ライト待ちキュー34は待ち状態にあるライト要求をセットする。尚、これらリード処理部32及びライト処理部33の処理動作については、図9,10を参照して後述する。
ログ出力部37は入出力実行制御部36における入出力制御で生成されたログをアクセスログ部5に転送する。ボリュームコピー指示部38は、負荷監視部4からのボリュームコピー要求に従い、入出力実行制御部36及びボリュームコピー制御部7を制御する。尚、このボリュームコピー制御部7の処理動作については、図11を参照して後述する。
入出力実行制御部31は、処理装置1からのリード(READ)要求およびライト(WRITE)要求を受けて論理ボリューム9への入出力を制御する。入出力実行制御部31は、コマンドに従ってリードデータを処理するリード処理部32,及びライトデータを処理するライト処理部33を有する。ライト待ちキュー34は待ち状態にあるライト要求をセットする。尚、これらリード処理部32及びライト処理部33の処理動作については、図9,10を参照して後述する。
ログ出力部37は入出力実行制御部36における入出力制御で生成されたログをアクセスログ部5に転送する。ボリュームコピー指示部38は、負荷監視部4からのボリュームコピー要求に従い、入出力実行制御部36及びボリュームコピー制御部7を制御する。尚、このボリュームコピー制御部7の処理動作については、図11を参照して後述する。
図6は、負荷監視部4の構成を示す図である。
負荷監視部4は、アクセスログ5及びボリューム管理テーブル6からの情報に基いて論理ボリュームの負荷の偏りを解析し、その結果に従って予備の論理ボリュームにコピーするためにそれを決定する制御を行う。
ログ解析部42はアクセスログ5及びボリューム管理テーブル6からアクセスログおよびテーブル情報を取得してボリューム群ごとにアクセスの回数を解析して、アクセス解析テーブル44を作成する。タイマー制御部41は負荷の監視時間を規定し、そのためにアクセスログを取得する時間を計数する。
負荷監視部4は、アクセスログ5及びボリューム管理テーブル6からの情報に基いて論理ボリュームの負荷の偏りを解析し、その結果に従って予備の論理ボリュームにコピーするためにそれを決定する制御を行う。
ログ解析部42はアクセスログ5及びボリューム管理テーブル6からアクセスログおよびテーブル情報を取得してボリューム群ごとにアクセスの回数を解析して、アクセス解析テーブル44を作成する。タイマー制御部41は負荷の監視時間を規定し、そのためにアクセスログを取得する時間を計数する。
コピーボリューム決定部43は,論理ボリュームの負荷の偏りの算出結果から負荷を軽減するために予備の論理ボリュームを決定するために機能する。その詳細については図13を参照して後述する。
アクセス解析テーブル44は、ボリューム群ごとにアクセス回数を登録するテーブルである。図7に示すように、ボリューム群441に対応して内部ボリュームアドレス442およびそのボリューム群のアクセス回数443を登録する。
次に、図8以降の図を参照して,論理ボリュームの負荷を分散させるための論理ボリュームの移動制御について説明する。
まず最初に図8〜図10を参照してアクセス制御動作、及びリード処理、ライト処理について説明する。
まず最初に図8〜図10を参照してアクセス制御動作、及びリード処理、ライト処理について説明する。
図8を参照してアクセス制御部3の制御動作について説明する。
処理装置1からのコマンド要求を受領すると、その要求の種別を判定する(301)。判定の結果、リード要求の場合にはリード処理部32が実行され(303)、ライト要求の場合にはライト処理部33が実行される(304)。これらの処理部32,33によりアクセス対象となるボリュームへ入出力の処理が実行される。また、ボリュームコピー要求またはコピー完了通知の場合には、ボリュームコピー指示部38が実行される。
通常、リード処理部32及びライト処理部33では入出力要求に対してキャッシュメモリ又は対象の論理ボリュームをアクセスして目的のデータを読み出し又は書き込みする。
処理装置1からのコマンド要求を受領すると、その要求の種別を判定する(301)。判定の結果、リード要求の場合にはリード処理部32が実行され(303)、ライト要求の場合にはライト処理部33が実行される(304)。これらの処理部32,33によりアクセス対象となるボリュームへ入出力の処理が実行される。また、ボリュームコピー要求またはコピー完了通知の場合には、ボリュームコピー指示部38が実行される。
通常、リード処理部32及びライト処理部33では入出力要求に対してキャッシュメモリ又は対象の論理ボリュームをアクセスして目的のデータを読み出し又は書き込みする。
図9を参照するに、リード処理部32では,処理装置1からのREAD要求を受けると,ボリューム管理テーブル6を参照して,入出力命令のボリュームアドレスを内部ボリュームアドレスへ変換する(321)。次にキャッシュ上に要求するデータがあれば,キャッシュからデータを読み(324),なければ指定された論理ボリュームからデータの読み出す(323)。読み出されたデータは処理装置1転送される(325)。
本実施例では、その後,現在時刻を採取してアクセスログのデータを作成し(326),アクセスログを出力する(327)。出力されたアクセスログは、図3に示す形式でメモリ21内のアクセスログ部5に記録される。
リード処理では、論理ボリュームの移動中(コピー中)であっても,指定されるコピー元の論理ボリュームからデータを読み出せる。
本実施例では、その後,現在時刻を採取してアクセスログのデータを作成し(326),アクセスログを出力する(327)。出力されたアクセスログは、図3に示す形式でメモリ21内のアクセスログ部5に記録される。
リード処理では、論理ボリュームの移動中(コピー中)であっても,指定されるコピー元の論理ボリュームからデータを読み出せる。
次に図10を参照してライト処理部33の処理動作について説明する。
ライト処理部33では,WRITE要求を受けると,ボリューム管理テーブル6を参照し,指定された論理ボリュームのWRITE抑止状態67を判別する(331)。判別の結果、WRITE抑止状態であれば,WRITE待ちキュー34へ登録して終了する。
ライト処理部33では,WRITE要求を受けると,ボリューム管理テーブル6を参照し,指定された論理ボリュームのWRITE抑止状態67を判別する(331)。判別の結果、WRITE抑止状態であれば,WRITE待ちキュー34へ登録して終了する。
一方、WRITE抑止状態でなければ,コピー中か否かの判別を行う(332)。その判別の結果、もしコピー中でなければ,指定されたボリュームアドレスを内部ボリュームへ変換して(338),指定された論理ボリュームへ書き込みを行う(339)。これに対してコピー中であれば,指定された論理ボリュームに対する現在のコピー処理の進捗状況についてボリュームコピー制御部7へ問い合わせる(334)。
そして、書き込み要求のあったブロックアドレスが既にコピーされたか否か(二重書き)を判定し(335)、もしコピーされている場合には,指定されたボリュームアドレスを内部ボリュームへ変換して(336)、コピー元とコピー先の両方の論理ボリュームへ書き込みを行う(336,337)。一方、未だコピーされていなければ,コピー元の論理ボリュームのみへ書き込みを行うことで(338,339)、論理ボリュームのコピー中即ちボリュームの移動中であっても,WRITE処理が実行可能となる。そして,最後に現在時刻を採取してアクセスログのデータを作成し(340),アクセスログを出力する(341)。
次に、ボリュームの負荷の監視、及び負荷の均等化のための論理ボリュームの移動制御について説明する。
図11を参照して負荷監視部4の処理動作について説明する。
負荷監視部4では定期的にアクセスログの解析を行い負荷の集中度を監視する。そのため、負荷監視部4は一定周期ごとにアクセスログを取得してボリュームの負荷の偏りを算出する処理を行う。
一定周期の時刻になると、まず、タイマー制御部41はタイマーをセットして計数を開始する(401)。タイマーが一定値を計数し終わるまで待つ(402)。この間、アクセスログ部5には、図3に示すように、論理ボリューム対応に入出力要求の時刻、種類等が格納される。
図11を参照して負荷監視部4の処理動作について説明する。
負荷監視部4では定期的にアクセスログの解析を行い負荷の集中度を監視する。そのため、負荷監視部4は一定周期ごとにアクセスログを取得してボリュームの負荷の偏りを算出する処理を行う。
一定周期の時刻になると、まず、タイマー制御部41はタイマーをセットして計数を開始する(401)。タイマーが一定値を計数し終わるまで待つ(402)。この間、アクセスログ部5には、図3に示すように、論理ボリューム対応に入出力要求の時刻、種類等が格納される。
タイマーが一定値を係数し終わると、アクセスログ5とボリューム管理テーブル6を参照して,アクセス解析テーブル44を作成する(403)。この場合,アクセスログ5を参照してアクセス時刻52(図3)が、ある定められた時刻の範囲内のアクセスログを対象にして,内部ボリュームアドレス51毎のログの数を計数(合計)して、アクセス解析テーブル44のアクセス回数443に算出する。これによりある一定時間内におけるボリューム群441及び内部論理アドレスで示される論理ボリュームのアクセス回数を、それらの負荷として計算できる。
なお、リード要求であってキャッシュヒットしたときには、ディスクへのアクセスが生じないため,負荷にならない。この場合の回数はアクセス回数には計数されないように処理される。
なお、リード要求であってキャッシュヒットしたときには、ディスクへのアクセスが生じないため,負荷にならない。この場合の回数はアクセス回数には計数されないように処理される。
上記のようにボリューム管理テーブル6を参照して、各内部ボリュームアドレスに対応するボリューム群を求め,アクセス解析テーブル44を作成処理して、これを出力する。
次に,コピーボリューム決定部43にて,コピー元の論理ボリュームとコピー先の論理ボリュームを決定するための処理を行う(404)。この処理の詳細については、図12を参照して後述するが、例えば,アクセス回数の偏差が大きいボリューム群及びそのボリューム群内のアクセス回数の多い論理ボリュームを特定し、その論理ボリュームをコピー元のボリュームと決める。また、例えばアクセス回数の少ないボリューム郡にある予備の論理ボリュームをコピー先ボリュームとして決める。そしてそれらコピー元の論理ボリュームのアドレスと、コピー先の論理ボリュームのアドレスを登録し(405)、アクセス制御部3へボリュームのコピー要求を送る(406)。コピー要求に従って双方のボリューム間でコピー処理が行われる。
図12を参照して、コピーボリューム決定部43の処理について説明する。
まず、アクセス解析テーブル44を参照して、ボリューム群に対する負荷の偏りを検知する(431)。負荷の偏りとは、アクセス回数の差や偏差が所定の閾値以上となったボリューム群や論理ボリュームのことを言う。例えば、ボリューム群441ごとにアクセス回数443を集計し、アクセス回数の差や偏差が閾値以上となったボリューム群及びそのボリューム群内のアクセス回数の多い論理ボリュームを決める。
図7の例では、ボリューム群aのアクセス回数が700回と最も多く、例えばアクセス回数の標準値(例えば300回)からの偏差が200回であり、それは閾値150回を超えている、と判定される。またボリューム群a内の内部アドレス2の論理ボリュームが最も負荷が大きいと分かる。
まず、アクセス解析テーブル44を参照して、ボリューム群に対する負荷の偏りを検知する(431)。負荷の偏りとは、アクセス回数の差や偏差が所定の閾値以上となったボリューム群や論理ボリュームのことを言う。例えば、ボリューム群441ごとにアクセス回数443を集計し、アクセス回数の差や偏差が閾値以上となったボリューム群及びそのボリューム群内のアクセス回数の多い論理ボリュームを決める。
図7の例では、ボリューム群aのアクセス回数が700回と最も多く、例えばアクセス回数の標準値(例えば300回)からの偏差が200回であり、それは閾値150回を超えている、と判定される。またボリューム群a内の内部アドレス2の論理ボリュームが最も負荷が大きいと分かる。
上記の判定で、負荷の偏りが検知されると、ボリュームを移動する先に使用可能な予備の論理ボリュームが存在するか否かをボリューム管理テーブル6を参照して確認する(432)。ここで,使用可能な予備の論理ボリュームとは,ボリューム管理テーブル6の予備ボリューム64の識別子が「Y」で,かつコピー相手アドレス65が「−」のものを指す。
次に,最もアクセス回数の多いボリューム郡以外のボリューム群に使用可能な予備の論理ボリュームがあるかどうかを判定する(433)。判定の結果、最もアクセス回数の多いボリューム郡以外のボリューム群内に使用可能な予備の論理ボリュームが在れば,最もアクセス回数の多いボリューム郡のうち,最もアクセス回数の多い論理ボリュームをコピー元と決める(434)。そして次に、使用可能な予備の論理ボリュームが在るボリューム群の内、最もアクセス回数の少ないボリューム群内に在る使用可能な予備の論理ボリュームをコピー先と決める(435)。
一方、上記の判定の結果,最もアクセス回数の多いボリューム郡内だけに使用可能な予備の論理ボリュームが在ると判断した場合,最もアクセス回数の少ないボリューム郡の内,最もアクセス回数の少ない論理ボリュームをコピー元とし(436),予備の論理ボリュームの1つをコピー先と決める(437)。
このように,ボリューム群の負荷が分散するように,コピー元の論理ボリュームとコピー先の論理ボリュームが決められる。
このように,ボリューム群の負荷が分散するように,コピー元の論理ボリュームとコピー先の論理ボリュームが決められる。
この後は、図11に示したように、コピー元及びコピー先ボリュームとなった論理ボリュームのボリューム管理テーブル6のコピー相手アドレス65を更新して登録し(405)、アクセス制御部3へボリュームコピー要求を通知する(406)。そして負荷監視部4の処理は先頭へ戻る。
次に、図13を参照して、ボリュームコピー指示部36の処理について説明する。
アクセス制御部3では,まず要求の種別が判別され(301),負荷監視部4からのボリュームコピー要求はボリュームコピー指示部38へ処理(302)が振り分けられる。ボリュームコピー指示部38では,ボリュームコピー要求がある(361)と,ボリューム管理テーブル6のコピー相手アドレス65に数値があり,コピー中66識別子が「N」の論理ボリュームを探し出し,コピー中66識別子を「Y」に更新する(362)。探した論理ボリュームの予備論理ボリューム64識別子が「Y」の論理ボリュームをコピー先,「N」の論理ボリュームをコピー元とし,それぞれの内部ボリュームアドレスをボリュームコピー制御部7へ通知して,コピー開始を指示する(363)。
アクセス制御部3では,まず要求の種別が判別され(301),負荷監視部4からのボリュームコピー要求はボリュームコピー指示部38へ処理(302)が振り分けられる。ボリュームコピー指示部38では,ボリュームコピー要求がある(361)と,ボリューム管理テーブル6のコピー相手アドレス65に数値があり,コピー中66識別子が「N」の論理ボリュームを探し出し,コピー中66識別子を「Y」に更新する(362)。探した論理ボリュームの予備論理ボリューム64識別子が「Y」の論理ボリュームをコピー先,「N」の論理ボリュームをコピー元とし,それぞれの内部ボリュームアドレスをボリュームコピー制御部7へ通知して,コピー開始を指示する(363)。
ボリュームコピー制御部7では、図14の動作フローチャートに示すように、ボリュームコピー制御部7がボリュームコピー要求を受けると,指定されたコピー元の論理ボリュームからコピー先の論理ボリュームへ全データのコピーを実行する(702)。ボリュームのコピーが終了すると,ボリュームコピー指示部38へコピーの終了した内部ボリュームアドレスと共にコピーの完了を通知する(703)。
ボリュームコピー指示部38がコピー完了通知を受けると,図13に示すように、コピー元とコピー先となったボリュームのボリューム管理テーブル6のWRITE抑止状態67識別子を「Y」にしてから(364)、指定ボリュームのボリュームアドレスを入れ替える(365)。ここでWRITE抑止状態とすることで,論理ボリュームへのWRITE処理を抑止し,論理ボリュームの内容を保障する。もし,WRITE処理の抑止を行わなければ,ボリュームアドレス入替えとWRITE処理がぶつかった場合,書き込みの行われる論理ボリュームが不定となってしまい,コピー元の論理ボリュームへ書き込みが行われてしまうと,アドレスの入替えにより,コピー先ボリュームへ論理ボリュームが切り替えられると,その書き込みの内容は捨てられてしまうことになる。
次に,ボリューム管理テーブル6のコピー元ボリュームの予備論理ボリューム64識別子を「Y」とし,コピー先ボリュームの予備論理ボリューム64識別子を「N」とする(366)。さらに,両ボリュームのコピー中66識別子を「N」とし,コピー相手アドレスを「−」へ変更し(367),ボリューム管理テーブル6のWRITE抑止状態67識別子を「N」とする(368)。
WRITE抑止中の論理ボリュームへのWRITE要求はWRITE待ちキューへキューイングし(369)、一時的に論理ボリュームへの書き込みが抑止されるが,抑止状態が解除された後,待ちキューの内容をWRITE処理部33へ指示を行う(370)。なお,WRITEの抑止状態となってから,抑止状態が解除されるまでの時間は,入出力全体に掛かる時間に比べると微小であるため,これによって入出力の性能へ大きく影響することはない。
以上のように,論理ボリュームを移動することによりボリューム群の負荷を均等化できる。また、ボリュームの移動とREAD処理およびWRITE処理を行うことで,処理装置からの入出力へ大きな影響を与えることなく,アクセス負荷の均等化を行うことができる。
図15は、他の実施例によるストレージシステムの構成を示す。
前述した図1の例では、負荷監視部4はディスク装置2内に設けられているが、図15の例では負荷監視部4´は処理装置1内に備えられる。この場合,アクセスログ5とボリューム管理テーブル6へアクセスするため制御コマンド、及びアクセス制御部3へボリュームコピー要求を発行するための制御コマンドが定義され、かつこれらの制御コマンドの処理を行うための制御コマンド処理部11がディスク制御装置20に設けられる。
この例によれば、処理装置1内で論理ボリュームの負荷監視を行うので、例えば複数台のディスク装置2が処理装置1に接続されているようなストレージシステムにおいて、複数台のディスク装置2に対する負荷の監視を集中的に行える。
前述した図1の例では、負荷監視部4はディスク装置2内に設けられているが、図15の例では負荷監視部4´は処理装置1内に備えられる。この場合,アクセスログ5とボリューム管理テーブル6へアクセスするため制御コマンド、及びアクセス制御部3へボリュームコピー要求を発行するための制御コマンドが定義され、かつこれらの制御コマンドの処理を行うための制御コマンド処理部11がディスク制御装置20に設けられる。
この例によれば、処理装置1内で論理ボリュームの負荷監視を行うので、例えば複数台のディスク装置2が処理装置1に接続されているようなストレージシステムにおいて、複数台のディスク装置2に対する負荷の監視を集中的に行える。
なお、上記実施例において、論理ボリュームの移動は、ある論理ボリュームから予備論理ボリュームへデータを移動して行うので、元の論理ボリュームはデータの移動した後,予備論理ボリュームとして使用できる。負荷の高いボリューム群から論理ボリュームの移動を何度も行っていくうちに,予備論理ボリュームが負荷の高いボリューム群以外のボリューム群に無くなってしまう可能性があるが,そのときには,最も負荷の低いボリューム群の中で最も負荷の低い論理ボリュームを,最も負荷の高いボリューム群の予備論理ボリュームへ移動させ,最も負荷の高いボリューム群以外に予備論理ボリュームを作ることで,最適化を継続することが可能になる。
また、上記実施例以外にも本発明は種々変形して実施し得る。例えば、図3、図4、図7に示す各テーブルは一例であって、これに限定されない。
1 処理装置、 2 ディスク装置、
3 アクセス制御部 4 負荷監視部、
5 アクセスログ、 6 ボリューム管理テーブル、
7 ボリュームコピー制御部、 8 ボリューム群、
9 論理ボリューム、 10 予備論理ボリューム
3 アクセス制御部 4 負荷監視部、
5 アクセスログ、 6 ボリューム管理テーブル、
7 ボリュームコピー制御部、 8 ボリューム群、
9 論理ボリューム、 10 予備論理ボリューム
Claims (19)
- 入出力に対する処理が排他となる複数の論理ボリュームを備えた複数のボリューム群を有するストレージにおいて,該ボリュームに関する負荷の偏りを監視する負荷監視部を有し,該負荷監視部により負荷の偏りを検知した場合,あるボリューム群内の論理ボリュームの内容を別のボリューム群に備えられたある論理ボリュームへコピーして、ある論理ボリュームを別の論理ボリューム群内の論理ボリュームへ移動することを特徴とするストレージの負荷分散方法。
- 前記負荷監視部は、物理ディスクを有するディスク装置に備えられ、該負荷監視部により負荷の偏りを検知した場合,該負荷監視部からの指示により,あるボリューム群内の論理ボリュームを別ボリューム群にある予備の論理ボリュームへ内容のコピーして,ある論理ボリューム群にある論理ボリュームを他のボリューム群の間で移動することを特徴とする請求項1記載の負荷分散方法。
- 前記負荷監視部は、該入出力要求を発行する処理装置に備えられ、該負荷監視部により負荷の偏りを検知した場合,該負荷監視部からの指示により,あるボリューム群内の論理ボリュームを別ボリューム群にある予備の論理ボリュームへ内容のコピーして,ある論理ボリューム群にある論理ボリュームを他のボリューム群の間で移動することを特徴とする請求項1記載の負荷分散方法。
- 前記ストレージは,該ストレージの外部から入出力を行うために指定する論理ボリュームアドレスと,ストレージ内で用いる内部論理ボリュームアドレスを保持するボリューム管理テーブルを有し,該論理ボリュームアドレスと内部論理ボリュームアドレスの接続関係を変更することにより,論理ボリュームアドレスを変えることなく,論理ボリュームの構成を変更する請求項1乃至3のいずれかに記載の負荷分散方法。
- 前記ストレージは入出力毎にアクセスログを採取し,前記負荷監視部は,該アクセスログから負荷の偏りを監視することを特徴とする請求項1乃至3のいずれかに記載の負荷分散方法。
- 複数の論理ボリュームを備えた複数のボリューム群を含み、各ボリューム群内の論理ボリュームに対する入出力の処理が排他となるストレージシステムにおけるボリュームの移動制御方法において、
予め各ボリューム群の中に予備の論理ボリュームを形成するステップと、
該ボリューム群の負荷を監視するステップと、
該監視の結果、ボリューム群間で負荷の偏りが小さくなるように、負荷の大きいボリューム群内の論理ボリュームの内容を負荷の小さいボリューム群内の該予備の論理ボリュームへコピーするステップと、
を有することを特徴とするボリュームの移動制御方法。 - 該ボリューム群の負荷の監視は、
処理装置から発行されるボリュームに対する入出力要求のアクセスログを取得するステップと、
該アクセスログを解析して論理ボリュームの負荷の偏りを算出するステップと、
を含むことを特徴とする請求項6記載のボリュームの移動制御方法。 - 該ボリューム群の負荷の監視は、所定の時間内におけるボリューム群ごとの入出力要求に対するアクセス回数を計測して、アクセス回数の多いボリューム群とアクセス回数の少ないボリューム群を算出することにより行い、
該算出の結果、アクセス回数の多いボリューム群のうちのアクセス回数の多い論理ボリュームからアクセス回数の少ないボリューム群うちの予備の論理ボリュームへコピーすることにより論理ボリュームを移動することを特徴とする請求項6記載のボリュームの移動制御方法。 - 複数のボリューム群を含むストレージは,外部の処理装置から入出力を行うために指定する論理ボリュームアドレスと,該ストレージ内で用いる内部論理ボリュームアドレスを保持するボリューム管理テーブルを有し,該論理ボリュームアドレスと内部論理ボリュームアドレスの接続関係を変更することにより,論理ボリュームアドレスを変えることなく,論理ボリュームの構成を変更する請求項6乃至8のいずれかに記載のボリュームの移動制御方法。
- 前記アクセスログの取得は、タイマが所定の時間を計数する間のアクセスログを内部ボリュームアドレス対応にメモリに記録しておくことにより行う請求項7記載のボリュームの移動制御方法。
- あるボリューム群内の論理ボリュームを別ボリューム群にある予備の論理ボリュームへ内容のコピーして移動した後、あるボリューム群内の該論理ボリュームを予備の論理ボリュームとして使用することを特徴とする請求項1又は6記載の負荷分散方法。
- 論理ボリュームを移動する際、コピー処理中の論理ボリュームへ入出力要求があった場合,該入出力要求がREAD要求であれば,コピー元の該論理ボリュームからデータを読み出し,該入出力要求がWRITE要求であれば,現在のコピー状況を判断し,既にコピー済みの領域であればコピー先の論理ボリュームとコピー元の論理ボリュームの両方へデータを書き込み,未だコピーしていない領域であればコピー元の論理ボリュームへデータを書き込むことを特徴とする請求項1又は6記載の負荷分散方法。
- 前記アクセスログは、アクセスのあった論理ボリュームを示す対象内部ボリュームアドレスに対応して、アクセス時刻,入出力の種別を示す入出力コマンド,及びキャッシュヒットの有無を含むことを特徴とする請求項7記載のボリュームの移動制御方法。
- 処理装置から送られる入出力要求に対する処理が排他となる複数の論理ボリュームから構成される複数のボリューム群を有するストレージシステムにおいて、
複数の論理ボリュームを含む複数のボリューム群が形成され、かつ該ボリューム群には少なくとも1つの予備の論理ボリュームを含む記憶装置と、
該ボリューム群間の負荷の偏りを監視する負荷監視部と、
該負荷監視部が負荷の偏りを検知した場合,該負荷監視部からの指示により,あるボリューム群内の論理ボリュームを別ボリューム群にある予備の論理ボリュームへ内容のコピーして,ある論理ボリューム群にある論理ボリュームを他のボリューム群の該予備の論理ボリュームへ移動するための制御を行う制御部と、
を有することを特徴とするストレージシステム。 - 処理装置から送られる論理ボリュームに対する入出力要求のアクセスログを格納するメモリを有し、
前記負荷監視部は、該メモリに格納されているアクセスログを解析して論理ボリュームの負荷の偏りを算出することを特徴とする請求項14記載のストレージシステム。 - 前記アクセスログとして、アクセスのあった論理ボリュームを示す対象内部ボリュームアドレスに対応して、アクセス時刻,入出力の種別を示す入出力コマンド,及びキャッシュヒットの有無を含む情報を該メモリに格納することを特徴とする請求項15記載のストレージシステム。
- 外部の処理装置から入出力を行うために指定する論理ボリュームアドレスと,該ストレージ内で用いる内部論理ボリュームアドレスを保持するボリューム管理テーブル格納するメモリを有し,前記制御部は、該論理ボリュームアドレスと内部論理ボリュームアドレスの接続関係を変更することにより,論理ボリュームアドレスを変えることなく,論理ボリュームの構成を変更することを特徴とする請求項15又は16記載のストレージシステム。
- 前記アクセスログを解析して求められる、ボリューム群及びボリューム群内の内部ボリュームアドレスごとのアクセス回数を格納するアクセス解析テーブルを有し、
前記制御部は、該アクセス解析テーブルを参照してアクセス回数の多いボリューム群及びその内のアクセス回数の多い第1の論理ボリューム、及びアクセス回数の少ないボリューム群及びその内の予備の第2の論理ボリュームを決定して、該第1の論理ボリュームから第2の論理ボリュームへコピーすることにより論理ボリュームを移動する制御を行うことを特徴とする請求項15乃至17のいずれかに記載のストレージシステム。 - 請求項1乃至13のいずれかに記載の方法を実行するためのステップを有するコンピュータ上で実行可能なプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004016596A JP2005209055A (ja) | 2004-01-26 | 2004-01-26 | ストレージの負荷分散方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004016596A JP2005209055A (ja) | 2004-01-26 | 2004-01-26 | ストレージの負荷分散方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005209055A true JP2005209055A (ja) | 2005-08-04 |
Family
ID=34901699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004016596A Pending JP2005209055A (ja) | 2004-01-26 | 2004-01-26 | ストレージの負荷分散方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005209055A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009129025A (ja) * | 2007-11-20 | 2009-06-11 | Nec Corp | 記憶情報配置システム、記憶情報配置方法、および記憶情報配置プログラム |
JP2010072753A (ja) * | 2008-09-16 | 2010-04-02 | Hitachi Ltd | 自動拡張ボリューム及び省電力機能を備えたストレージシステム |
US8539069B2 (en) | 2010-03-31 | 2013-09-17 | Fujitsu Limited | Distributed storage system, method thereof and computer readable medium storing distributed storage program |
JP2013543997A (ja) * | 2011-03-02 | 2013-12-09 | 株式会社日立製作所 | 計算機システム及びデータ移行方法 |
US8725968B2 (en) | 2007-07-26 | 2014-05-13 | Fujitsu Limited | Storage section controlling apparatus, storage section controlling system and computer-readable recording medium on or in which storage section controlling program is recorded |
JP2016162407A (ja) * | 2015-03-05 | 2016-09-05 | 富士通株式会社 | 制御装置、制御方法、および制御プログラム |
JP2018521439A (ja) * | 2015-07-29 | 2018-08-02 | ▲騰▼▲訊▼科技(深▲セン▼)有限公司 | 分散データベースの負荷を平準化するための方法および装置 |
CN113821161A (zh) * | 2020-06-19 | 2021-12-21 | 株式会社日立制作所 | 信息处理装置和方法 |
-
2004
- 2004-01-26 JP JP2004016596A patent/JP2005209055A/ja active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8725968B2 (en) | 2007-07-26 | 2014-05-13 | Fujitsu Limited | Storage section controlling apparatus, storage section controlling system and computer-readable recording medium on or in which storage section controlling program is recorded |
JP2009129025A (ja) * | 2007-11-20 | 2009-06-11 | Nec Corp | 記憶情報配置システム、記憶情報配置方法、および記憶情報配置プログラム |
JP2010072753A (ja) * | 2008-09-16 | 2010-04-02 | Hitachi Ltd | 自動拡張ボリューム及び省電力機能を備えたストレージシステム |
US8539069B2 (en) | 2010-03-31 | 2013-09-17 | Fujitsu Limited | Distributed storage system, method thereof and computer readable medium storing distributed storage program |
JP2013543997A (ja) * | 2011-03-02 | 2013-12-09 | 株式会社日立製作所 | 計算機システム及びデータ移行方法 |
US9292211B2 (en) | 2011-03-02 | 2016-03-22 | Hitachi, Ltd. | Computer system and data migration method |
JP2016162407A (ja) * | 2015-03-05 | 2016-09-05 | 富士通株式会社 | 制御装置、制御方法、および制御プログラム |
JP2018521439A (ja) * | 2015-07-29 | 2018-08-02 | ▲騰▼▲訊▼科技(深▲セン▼)有限公司 | 分散データベースの負荷を平準化するための方法および装置 |
US10554737B2 (en) | 2015-07-29 | 2020-02-04 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for leveling loads of distributed databases |
CN113821161A (zh) * | 2020-06-19 | 2021-12-21 | 株式会社日立制作所 | 信息处理装置和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7933995B2 (en) | Computer program and apparatus for controlling computing resources, and distributed processing system | |
JP4918940B2 (ja) | 正センタの仮想テープ装置、副センタの仮想テープ装置、仮想ライブラリシステムおよび仮想テープ制御方法 | |
WO2013018808A1 (ja) | 分散ストレージシステムおよび方法 | |
JP4514501B2 (ja) | ストレージシステム及びストレージシステムの障害解消方法 | |
US20140304306A1 (en) | Database Management System With Database Hibernation and Bursting | |
US9984139B1 (en) | Publish session framework for datastore operation records | |
JP2008186108A (ja) | 性能ボトルネックを緩和する機能を備えたストレージシステム | |
US9378078B2 (en) | Controlling method, information processing apparatus, storage medium, and method of detecting failure | |
US8429129B2 (en) | Database restructuring apparatus, and computer-readable recording medium recording database restructuring program | |
US11204941B2 (en) | Distributed database system, distributed database management method, and distributed database management program | |
US10162564B2 (en) | Selecting a virtual tape server in a storage system to provide data copy while minimizing system job load | |
JP2005301499A (ja) | ディスクアレイ装置及びディスクアレイ装置の制御方法 | |
WO2022257719A1 (zh) | 数据库事务处理的方法、系统、电子设备及存储介质 | |
JP4945232B2 (ja) | アクセス制御方法、計算機システム、及びオブジェクト複製プログラム | |
JP4813975B2 (ja) | 無共有型データベースシステムの構成変更方法、管理サーバ及び無共有型データベースシステム | |
US20130332932A1 (en) | Command control method | |
KR20180046078A (ko) | 데이터베이스 리밸런싱 방법 | |
JP4719801B2 (ja) | デバイス管理装置、デバイス初期化方法、デバイス初期化プログラムおよびデバイスシステム | |
JP2005209055A (ja) | ストレージの負荷分散方法 | |
JP6229733B2 (ja) | 情報処理装置、方法、プログラム及び記録媒体 | |
JP6747018B2 (ja) | 記憶システム、記憶システム制御装置、記憶システム制御方法及びプログラム | |
JP2009129025A (ja) | 記憶情報配置システム、記憶情報配置方法、および記憶情報配置プログラム | |
JP6788188B2 (ja) | 制御装置および制御プログラム | |
JP2005141672A (ja) | 共有リソースの使用の排他制御方式及び方法 | |
US8150806B2 (en) | Idempotent storage replication management |