(57)【要約】【課題】ボリュームの使用状況に応じてボリュームのサイズを適切に設定することのできるボリュームサイズ変更装置および変更方法を提供する。【解決手段】外部記憶装置の物理領域を論理的に分割し、分割した領域をボリューム１２１として管理し、前記物理領域の範囲内で前記ボリュームのサイズを変更するボリュームサイズ変更装置１１０であって、前記ボリュームの使用量を取得する使用量取得部１１２と、ボリュームの使用量の増減をもとに拡張または縮小すべきボリュームサイズを算出する使用量増減算出部１１３と、ボリュームサイズを拡張または縮小処理する際に使用する待避領域を管理する退避領域管理部１１４と、ボリュームサイズの変更を実行するボリュームサイズ変更処理部１１５を備えた。【選択図】        図１
2005011208.tif 000002
【特許請求の範囲】
【請求項１】
外部記憶装置の物理領域を論理的に分割し、分割した領域をボリュームとして管理し、前記物理領域の範囲内で前記ボリュームのサイズを変更するボリュームサイズ変更装置であって、
前記ボリュームの使用量を取得する使用量取得部と、
ボリュームの使用量の増減をもとに拡張または縮小すべきボリュームサイズを算出する使用量増減算出部と、
ボリュームサイズを拡張または縮小処理する際に使用する待避領域を管理する退避領域管理部と、
ボリュームサイズの変更を実行するボリュームサイズ変更処理部を備えたことを特徴とするボリュームサイズ変更装置。
【請求項２】
請求項１記載のボリュームサイズ変更装置において、
使用量増減算出部は、ボリューム使用量の経時変化及びボリュームサイズ変更周期をもとに拡張または縮小すべきボリュームサイズを算出することを特徴とするボリュームサイズ変更装置。
【請求項３】
外部記憶装置の物理領域を論理的に分割し、分割した領域をボリュームとして管理し、前記物理領域の範囲内で前紀ボリュームのサイズを変更するボリュームサイズ変更方法であって、
前記ボリュームの使用量を取得するステップと、
取得したボリュームの使用量の増減をもとに拡張または縮小すべきボリュームサイズを算出するステップと、
Ｉ／０を待避領域領域に切り替え、Ｉ／０を停止することなくボリュームサイズを拡張または縮小処理するステップを備えたことを特徴とするボリュームサイズ変更方法。
【請求項４】
請求項３記載のボリュームサイズ変更方法において、
ボリューム使用量の経時変化及びボリュームサイズ変更周期をもとに拡張または縮小すべきボリュームサイズを算出することを特徴とするボリュームサイズ変更方法。
【請求項５】
請求項３記載のボリュームサイズ変更方法において、
待避領域はボリュームの数と同量備えたことを特徴とするボリュームサイズ変更方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はボリュームサイズ変更装置および変更方法にかかり、特にボリュームの使用状態に応じてボリュームサイズを適切な値に変更することのできるボリュームサイズ変更装置および変更方法に関する。
【０００２】
【従来の技術】
計算機システムで使用する外部記憶装置は、記憶装置の記憶領域（物理領域）を論理的に複数に分割し、分割されたそれぞれの領域をボリュームとして管理する。前記ボリュームのサイズは前記物理領域の範囲内であれば自由に設定することができる。
【０００３】
ボリュームサイズの決定に際しては、ハードウェア構成、ソフトウェア構成あるいは装置の稼動状況を考慮して、システム管理者によって予め決定される。このボリュームサイズの決定にはかなりの知識と経験が必要とされる。
【０００４】
一方、システムの運用形態、あるいはソフトウェアの変更等の際にはボリュームサイズの見直しが必要となる。
【０００５】
このように、計算機システムで使用する外部記憶装置は、その運用に際して、システム管理者による初期設定あるいは定期的なメンテナンスが必要となる。
【０００６】
このような外部記憶装置の管理に関して、例えば特許文献１には、補助記憶装置の残容量を把握して、残容量不足になることを自動的に回避する技術が示されている。また、特許文献２には、記憶容量が不足したとき、利用者プログラムを中断することなく記憶容量を自動的に拡張する技術が示されている。
【０００７】
【特許文献１】
特開平９−１７９７７５号公報
【０００８】
【特許文献２】
特開平６−５９８１９号公報
【０００９】
【発明が解決しようとする課題】
前記従来技術によれば、ボリュームサイズを拡張することはできる。しかし、拡張するサイズは予め決定されており、この拡張するサイズを大きく設定しておくと無駄な領域を確保することになる。一方、拡張するサイズを小さく設定しておくと、拡張処理が頻繁に発生することになる。また、一旦、拡張したボリュームは自動的に縮小されることはない。このため、有限な資源である外部記憶装置の物理領域を有効に活用することはできない。
【００１０】
本発明は、これらの問題点に鑑みてなされたもので、ボリュームの使用状況に応じてボリュームのサイズを適切に設定することのできるボリュームサイズ変更装置および変更方法を提供する。
【００１１】
【課題を解決するための手段】
本発明は、上記の課題を解決するために次のような手段を採用した。
【００１２】
外部記憶装置の物理領域を論理的に分割し、分割した領域をボリュームとして管理し、前記物理領域の範囲内で前記ボリュームのサイズを変更するボリュームサイズ変更装置であって、前記ボリュームの使用量を取得する使用量取得部と、ボリュームの使用量の増減をもとに拡張または縮小すべきボリュームサイズを算出する使用量増減算出部と、ボリュームサイズを拡張または縮小処理する際に使用する待避領域を管理する退避領域管理部と、ボリュームサイズの変更を実行するボリュームサイズ変更処理部を備えた。
【００１３】
【発明の実施の形態】
以下、本発明の実施形態を添付図面を参照しながら説明する。図１は、本発明の実施形態にかかるボリュームサイズ変更装置を説明する図である。図において、１００はディスクアレイ装置であり、計算機システムにおける外部記憶装置を構成する。１１０はボリュームサイズ変更装置である。
【００１４】
１１１はボリュームの情報を管理するボリューム情報管理テーブル、１１２はボリュームの使用量を取得する使用量取得部、１１３は過去のボリューム使用量の増減量をもとに拡張、もしくは縮小すべきボリュームサイズを算出する使用増減量算出部、１１４はボリュームの拡張や縮小処理時に使用する退避領域を管理する退避領域管理部、１１５はボリュームサイズの変更処理を実行するボリュームサイズ変更処理部、１１６はボリュームに対するＩ／Ｏ（入出力）を制御するＩ／Ｏ制御部である。
【００１５】
１２０はディスクアレイ装置１００の物理ディスク領域であり、物理ディスク領域１２０には、ボリューム（１）からボリューム（ｎ）までの複数のボリューム１２１を備える。また、１２２は予備領域であり、ボリュームとして使用されていない物理領域である。１２３はボリュームサイズ変更処理時にデータを退避するための退避領域である。
【００１６】
図２は、ボリューム情報管理テーブル１１１の構成を説明する図である。図において、２０１はボリュームを識別するためのボリューム名、２０２はボリュームサイズ、２０３はボリュームサイズ拡張処理時に使用するボリュームサイズの上限値、２０４はボリュームサイズ縮小処理時に使用するボリュームサイズの下限値、２０５はボリューム使用量の監視間隔、２０６はボリュームサイズ変更周期であり、この期間内におけるボリューム使用量の増減量（予測値）をもとにボリュームの変更サイズを算出する。なお、ボリュームサイズ変更周期は、例えばディスクアレイ装置のメンテナンス周期とすることができる。
【００１７】
ボリュームサイズ２０２は「バイト数」で表したボリュームサイズ、上限値２０３、および下限値２０４は「％」で表したボリュームの使用率、監視間隔２０５は「時間：分：秒」形式で表した時間、サイズ変更対象期間２０６は「日数：時間：分」形式で表した時間である。なお、これらのデータは、ボリューム（１）ないしボリューム（ｎ）、予備領域１２３、及び退避領域１２４毎に格納する。
【００１８】
図３は、ボリュームサイズ変更装置１１０の処理を説明する図である。ボリュームサイズ変更装置１１０は、ボリューム情報管理テーブル１１１に設定されている監視間隔２０５に従って、使用量取得部１１２を介して各ボリュームの現在の使用量を取得する（ステップ３０１）。得られた使用量とボリュームサイズから使用率を算出し（ステップ３０２）、使用率がボリューム情報管理テーブル１１１に設定されている使用率の上限値２０３を越えているか否かを判断する（ステップ３０３）。上限値を越えている場合、ボリュームサイズ変更処理部１１５を呼び出し、ボリュームサイズ拡張処理を実行する（ステップ３０４）。上限値を越えていない場合、ボリューム情報管理テーブル１１１に設定されている使用率の下限値２０４を下回っているか否かを判断する（ステップ３０５）。下限値を下回っている場合、ボリュームサイズ変更処理部１１５を呼びだし、ボリュームサイズ縮小処理を実行する（ステップ３０６）。
【００１９】
図４は、ボリュームサイズ変更処理部１１５によるボリュームサイズ変更処理を説明する図である。まず、図３に示すボリュームサイズ変更装置１１０の処理（ステップ３０４の処理あるいはステップ３０６の処理）をもとに、行うべき処理がボリュームサイズ拡張処理であるのか、ボリュームサイズ縮小処理であるのかを判断する（ステップ４０１）。ボリュームサイズ拡張処理である場合、ボリュームサイズ変更処理部１１５は、拡張に必要なサイズを使用増減量算出部１１３から入手する（ステップ４０２）。次いで、拡張に必要なサイズ分の領域が予備領域１２３から確保できるか否かを判断する（ステップ４０４）。拡張に必要なサイズ分の領域が確保できない場合は、予備領域１２３が全くないのか否かを判断し（ステップ４０５）、少しでも予備領域１２３がある場合はその全てを拡張領域に使用する（ステップ４０６）。この処理により、予備領域１２３が拡張に必要なサイズ分に足りない場合であっても、予備領域を最大限に拡張用の領域に割り当てることができる。
【００２０】
拡張用の領域が確保できた場合、退避領域管理部１１４を呼び出し（ステップ４０７）、退避領域１２４が使用可能か否かを判断する（ステップ４０８）。退避領域１２４が使用可能な場合は、ボリュームサイズ変更処理を実行する（ステップ４０９）。
【００２１】
ステップ４０１において、ボリュームサイズ縮小処理であると判断した場合、ボリュームサイズ変更処理部１１５は、縮小するサイズを使用増減量算出部１１３から入手する（ステップ４０３）。次いで、前記ステップ４０７に進む。
【００２２】
図５は、ボリューム使用量取得部が取得したボリューム使用量をもとに生成したボリューム使用状況一覧５０１の例を示す図である。ボリューム使用量取得部１１２は各ボリューム使用量をもとにボリュームの使用率を算出すると、測定時間５０２及びその時間における使用率５０３をボリューム使用率状況一覧５０１に記録する。図５に示す例では、監視間隔２０５が２４時間に設定されており、毎日２１時に使用量を取得している。
【００２３】
図６は、使用増減量算出部１１３による拡張サイズの算出方法の例を説明する図である。使用増減量算出部１１３は、ボリューム使用率状況一覧５０１にある測定時間５０２とボリュームの使用率５０３をもとに拡張および縮小すべきサイズを算出する。
【００２４】
図６に示す例では、使用量の上限を９０％に設定している。ボリュームの使用率が９０％に達した場合、サイズ変更周期２０６における増加率を、例えば最小二乗法等を用いて算出する。該増加率をもとに算出した予想増加量（Ｃ）と、現時点での残容量（Ｂ）との差を拡張すべきサイズ（Ａ）として求める。縮小すべきサイズの算出も同様の方法により算出することができる。
【００２５】
また、使用量の上昇率が緩やかな場合は、現時点の残容量（Ｂ）＞予想増加量（Ｃ）となる場合がある。このような場合は、サイズ変更対象期間の使用量増加に対して、現時点での残容量（Ｂ）で十分まかなうことが可能である。この場合は、無駄にボリュームを拡張する必要はなく、ボリューム管理情報テーブル１１１の上限値２０３を高く再設定すればよい。また、急に使用率が増加する場合を考慮して、監視間隔２０５は現在の設定より短い時間に再設定するとよい。なお、サイズ変更周期２０６は、任意に設定することが可能であり、例えば定期的なメンテナンスを実行する期間等に設定する。
【００２６】
図７は、退避領域管理部１１４による退避領確認処理を説明する図である。また、図８は、退避領域管理情報の構成を示す図である。
【００２７】
例えば、複数のボリュームが同時にボリュームサイズ変更処理を実行する場合が生じる。このような場合は、退避領域１２４が使用可能か否かを確認することが必要となる。
【００２８】
図７において、退避領域管理部１１４は、退避領域管理情報８０１を参照し、退避領域１２４が使用中であるか否かを確認する（ステップ７０１）。退避領域１２４が使用可能である（使用中でない）場合、退避領域管理情報８０１の使用可否情報８０２を「否」に設定する（ステップ７０２）。退避領域１２４が使用可能でない（使用中である）場合、予め設定されたリトライ回数８０３を越えたか判断する（ステップ７０３）。リトライ回数８０３を越えた場合、退避領域１２４が使用できないと判断してエラー処理を行う（ステップ７０５）。リトライ回数８０３を越えていない場合、リトライ時間８０４に設定されている時間が経過するのを待ち（ステップ７０４）処理を繰り返す。
【００２９】
このリトライ処理により、ボリュームサイズ変更処理が急を要さない場合において退避領域１２４が使用可能になるまで処理を待つことが可能になる。なお、リトライ処理に要する時間は、監視間隔２０５より短く設定する。
【００３０】
図９は、退避領域１２４として予備領域１２３を使用する場合における退避領域管理部の処理を説明する図である。
【００３１】
退避領域１２４が使用中であるか否かを判断し、退避領域１２４が使用中である場合（ステップ９０１）、予備領域１２３に退避用の領域を確保できるか否かを判断する（ステップ９０２）。予備領域１２３に退避領域分を確保できる場合、予備領域１２３の一部を退避領域として一時的に使用する（ステップ９０３）。ステップ９０２において、予備領域１２３に退避領域分を確保できない場合はエラー処理を行う（ステップ９０４）。
【００３２】
図１０は、予め複数の退避領域を用意している場合における退避領域管理部の処理を説明する図である。
【００３３】
予め退避領域１２４を複数用意しておく。次いで、退避領域管理部１１４は使用可能な退避領域１２４があるか判断し（ステップ１００１）、使用可能な退避領域１２４がある場合その領域を使用する（ステップ１００２）。使用可能な退避領域がない場合はエラー処理を行う。なお、存在するボリューム数と同数の退避領域１２４を用意しておけば、退避領域１２４が使用中になることはない。
【００３４】
図１１は、退避に必要なサイズを自動計算して、該サイズ分の領域を退避領域１２４として確保する場合の処理を説明する図である。まず、予め一定量の領域を退避領域１２４として定めておく。次に、ボリュームサイズ変更処理が発生した場合、処理対象となるボリュームのボリュームサイズ変更処理にかかる時間と、前記ボリュームに対するアクセス量をもとに、退避に必要なサイズを自動計算する（ステップ１１０１）。次に算出したサイズを退避領域１２４内に確保できるか否かを判断する（ステップ１１０２）。確保できる場合は、必要なサイズだけ確保し使用する（ステップ１１０３）。確保できない場合はエラー処理する。
【００３５】
なお、前記退避領域を確保した後に残った退避領域は、別のボリューム用の退避用として使用することができる。この処理の場合、別の各ボリュームへのアクセスを管理する制御が新たに必要になる。
【００３６】
このように、図１０及び図１１に示す方式は、複数のボリュームに対するボリュームサイズ変更処理が同時に発生する場合における退避領域の確保処理に採用することができる。
【００３７】
図１２は、ボリュームサイズ変更処理部１１５におけるボリュームサイズ変更処理を説明する図である。ボリュームサイズ変更処理では、まずＩ／Ｏ制御部１１６により、ボリュームサイズの変更対象ボリュームへのＩ／Ｏを退避領域に切り替える（ステップ１２０１）。
【００３８】
Ｉ／Ｏ切り替え後、ボリュームサイズの拡張の場合は、物理的なディスク領域を論理ボリュームに割り当て、ボリューム情報管理テーブル１１１のサイズ２０２を更新し、ボリューム使用状況一覧５０１をクリアする。
【００３９】
一方、ボリュームサイズ縮小の場合、論理ボリューム内を再編成して予備領域が物理的に連続したディスク領域になるようにし、予備領域にする物理的なディスク領域を論理ボリュームから切り離す。次いで、ボリューム情報管理テーブル１１１のサイズ２０２を更新し、ボリューム使用状況一覧５０１をクリアする。これにより、ボリュームサイズが変更される（ステップ１２０２）。
【００４０】
ボリュームサイズの変更が完了すると退避領域にあるデータを該当ボリュームへ戻す（ステップ１２０３）。次いで、Ｉ／Ｏを該当のボリュームへ戻す（ステップ１２０４）。次いで、退避領域にあるデータは不要となるため削除する（ステップ１２０５）。次いで、退避領域管理情報８０１の使用可否８０２を“可”にする（ステップ１２０６）。
【００４１】
なお、図９に示すように退避領域１２４として予備領域１２３を使用する場合には、一時的に確保した退避領域を予備領域に戻す処理が必要となる。
【００４２】
以上説明したように、本実施形態によれば、ボリュームの使用率を監視し、監視結果をもとに拡張あるいは縮小すべきボリュームサイズを自動算出し、算出結果をもとにボリュームサイズを適切なサイズに自動的に変更することができる。これにより、外部記憶装置の物理領域を有効に活用することができる。また、ボリュームサイズ変更処理時に、Ｉ／Ｏ切り替えることにより、運用を中断することなくボリュームサイズの変更処理を実行することができる。
【００４３】
【発明の効果】
以上説明したように本発明によれば、ボリュームの使用状況に応じてボリュームのサイズを適切に設定することのできるボリュームサイズ変更装置および変更方法を提供することができる。
【図面の簡単な説明】
【図１】本発明の実施形態にかかるボリュームサイズ変更装置を説明する図である。
【図２】ボリューム情報管理テーブル１１１の構成を説明する図である。
【図３】ボリュームサイズ変更装置１１０の処理を説明する図である。
【図４】ボリュームサイズ変更処理部１１５によるボリュームサイズ変更処理を説明する図である。
【図５】ボリューム使用量取得部が取得したボリューム使用量をもとに生成したボリューム使用状況一覧５０１の例を示す図である。
【図６】使用増減量算出部１１３による拡張サイズの算出方法の例を説明する図である。
【図７】退避領域管理部１１４による退避領確認処理を説明する図である。
【図８】退避領域管理情報の構成を示す図である。
【図９】退避領域１２４として予備領域１２３を使用する場合における退避領域管理部の処理を説明する図である。
【図１０】予め複数の退避領域を用意している場合における退避領域管理部の処理を説明する図である。
【図１１】退避に必要なサイズを自動計算して、該サイズ分の領域を退避領域１２４に確保する場合の処理を説明する図である。
【図１２】ボリュームサイズ変更処理部１１５におけるボリュームサイズ変更処理を説明する図である。
【符号の説明】
１００  ディスクアレイ装置
１１０  ボリュームサイズ変更装置
１１１  ボリューム情報管理テーブル
１１２  使用量取得部
１１３  使用増減量算出部
１１４  退避領域管理部
１１５  ボリュームサイズ変更処理部
１１６  １／Ｏ制御部
１２０  物理ディスク領域
１２１  ボリューム
１２２  予備領域
１２３  退避領域
【図１】
2005011208.tif 000003
【図２】
2005011208.tif 000004
【図３】
2005011208.tif 000005
【図４】
2005011208.tif 000006
【図５】
2005011208.tif 000007
【図６】
2005011208.tif 000008
【図７】
2005011208.tif 000009
【図８】
2005011208.tif 000010
【図９】
2005011208.tif 000011
【図１０】
2005011208.tif 000012
【図１１】
2005011208.tif 000013
【図１２】
2005011208.tif 000014