(57)【要約】  容量算出部（１３０）が、容量算出情報記憶部（１２０）に記憶された容量算出情報を用いて、アプリケーションが必要とするデータ領域を特定するとともに、特定した各データ領域の容量を算出し、仮想ディスク割当部（１７０）が容量算出部（１３０）によって容量が算出されたデータ領域に、実ディスク（４０）が対応付けられた仮想ディスク（３０）を割り当てる。また、仮想ディスク割当部（１７０）は、データ領域間の配置制限に基づいて実ディスク（４０）を仮想ディスク（３０）に対応付ける。【特許請求の範囲】
【請求項１】
アプリケーションが使用する記憶領域を記憶装置から割り当てる記憶領域割当装置であって、
前記アプリケーションが必要とする種別毎のデータ領域を特定し、該特定したデータ領域の容量を算出する容量算出手段と、
前記容量算出手段により算出された容量の記憶領域を記憶装置から前記データ領域として割り当てる領域割当手段と、
を備えたことを特徴とする記憶領域割当装置。
【請求項２】
前記領域割当手段は、前記容量算出手段により算出された容量の仮想記憶領域を前記データ領域として割り当て、該割り当てた仮想記憶領域に対応する実記憶領域を前記記憶装置から割り当てることを特徴とする請求項１に記載の記憶領域割当装置。
【請求項３】
前記領域割当手段は、前記データ領域の間の配置制限に基づいて記憶装置から記憶領域を割り当てることを特徴とする請求項１に記載の記憶領域割当装置。
【請求項４】
前記配置制限には、最も望ましい配置である最良配置と最低限必要な配置条件を満たす最低配置とがあり、
前記領域割当手段は、記憶領域を最良配置で割り当て、最良配置で割り当てることができない場合に最低配置で割り当てることを特徴とする請求項３に記載の記憶領域割当装置。
【請求項５】
前記アプリケーションにはデータベースソフトウェアが含まれ、
前記容量算出手段は、データベースソフトウェアに対して、データを格納するデータベーススペース領域、ディクショナリ情報を格納するディクショナリ領域およびログを記録するログ領域の容量を算出し、
前記領域割当手段は、データベーススペース領域、ディクショナリ領域およびログ領域の間の配置制限に基づいて記憶領域を記憶装置から割り当てることを特徴とする請求項３または４に記載の記憶領域割当装置。
【請求項６】
前記データ領域として割り当てられた記憶領域を移行する際に、最低配置で割り当てられている記憶領域に対しては、最良配置で割り当てることが可能か否かを判定し、最良配置で割り当てることが可能な場合には、最良配置で新たな記憶領域を割り当てるマイグレーション手段をさらに備えたことを特徴とする請求項４に記載の記憶領域割当装置。
【請求項７】
前記アプリケーションによる各種別毎のデータ領域の使用状況を監視し、使用されている領域の割合が所定の閾値を越えた場合には、該閾値を越えたデータ領域の容量を拡張するとともに、該アプリケーションが使用する他のデータ領域の容量も拡張する容量拡張手段をさらに備えたことを特徴とする請求項１に記載の記憶領域割当装置。
【請求項８】
アプリケーションが使用する記憶領域を記憶装置から割り当てる記憶領域割当方法であって、
前記アプリケーションが必要とする種別毎のデータ領域を特定し、該特定したデータ領域の容量を算出する容量算出工程と、
前記容量算出工程により算出された容量の記憶領域を記憶装置から前記データ領域として割り当てる領域割当工程と、
を含んだことを特徴とする記憶領域割当方法。
【請求項９】
アプリケーションが使用する記憶領域を記憶装置から割り当てる記憶領域割当プログラムであって、
前記アプリケーションが必要とする種別毎のデータ領域を特定し、該特定したデータ領域の容量を算出する容量算出手順と、
前記容量算出手順により算出された容量の記憶領域を記憶装置から前記データ領域として割り当てる領域割当手順と、
をコンピュータに実行させることを特徴とする記憶領域割当プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、アプリケーションが使用する記憶領域を記憶装置から割り当てる記憶領域割当装置、記憶領域割当方法および記憶領域割当プログラムに関し、特に、アプリケーションへの記憶領域の割当作業の効率を向上することができる記憶領域割当装置、記憶領域割当方法および記憶領域割当プログラムに関するものである。
【背景技術】
【０００２】
従来、データベースを構築する場合には、システムエンジニア（ＳＥ）やシステム管理者は、データベースに格納するデータ容量を基準に、推奨値(マニュアル等に記載されている計算式から求まる値)に経験値を加味して、データベーススペースに割り当てる容量、ディクショナリ領域、ログ領域などの関連する種別毎のデータ領域に割り当てる容量を求めていた。【０００３】
そして、記憶領域を管理する管理装置に対して、必要とされる記憶装置の性能、信頼性などの属性とともに容量を指定することによって、データベーススペースなどの領域を確保していた（例えば、特許文献１参照。）。【０００４】
【特許文献１】特開２００２−２２２０６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、データ領域の容量を算出するためには、複雑な計算式を用いて計算を行う必要があり、システムエンジニア（ＳＥ）やシステム管理者の作業効率が悪いという問題があった。また、データベーススペース領域、ディクショナリ領域、ログ領域など各データ領域の使用目的により、同じディスク装置に置けない、あるいは、置かないほうが良いなどの制約があるため、どのディスク装置にどのデータ領域を割り当てるかを考慮しなければならないという問題があった。【０００６】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、データベーススペース領域、ディクショナリ領域、ログ領域など各データ領域の使用目的毎に、アプリケーションへの記憶領域の割当作業の効率を向上することができる記憶装置から割り当てることができる記憶領域割当装置、記憶領域割当方法および記憶領域割当プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、請求項１の発明に係る記憶領域割当装置は、アプリケーションが使用する記憶領域を記憶装置から割り当てる記憶領域割当装置であって、前記アプリケーションが必要とする種別毎のデータ領域を特定し、該特定したデータ領域の容量を算出する容量算出手段と、前記容量算出手段により算出された容量の記憶領域を記憶装置から前記データ領域として割り当てる領域割当手段と、を備えたことを特徴とする。【０００８】
この請求項１の発明によれば、アプリケーションが必要とする種別毎のデータ領域を特定し、特定したデータ領域の容量を算出し、算出した容量の記憶領域を記憶装置からデータ領域として割り当てるよう構成したので、システム管理者は種別毎のデータ領域の容量を算出することなくアプリケーションに記憶領域の割当を行うことができる。【０００９】
また、請求項２の発明に係る記憶領域割当装置は、請求項１の発明において、前記領域割当手段は、前記容量算出手段により算出された容量の仮想記憶領域を前記データ領域として割り当て、該割り当てた仮想記憶領域に対応する実記憶領域を前記記憶装置から割り当てることを特徴とする。【００１０】
この請求項２の発明によれば、算出した容量の仮想記憶領域をデータ領域として割り当て、割り当てた仮想記憶領域に対応する実記憶領域を記憶装置から割り当てるよう構成したので、記憶装置の変更にともなうアプリケーションの変更を不要とすることができる。【００１１】
また、請求項３の発明に係る記憶領域割当装置は、請求項１の発明において、前記領域割当手段は、前記データ領域の間の配置制限に基づいて記憶装置から記憶領域を割り当てることを特徴とする。【００１２】
この請求項３の発明によれば、データ領域の間の配置制限に基づいて記憶装置から記憶領域を割り当てるよう構成したので、システム管理者は配置制限に煩わされることなく記憶領域の割当を行うことができる。【００１３】
また、請求項４の発明に係る記憶領域割当装置は、請求項３の発明において、前記配置制限には、最も望ましい配置である最良配置と最低限必要な配置条件を満たす最低配置とがあり、前記領域割当手段は、記憶領域を最良配置で割り当て、最良配置で割り当てることができない場合に最低配置で割り当てることを特徴とする。【００１４】
この請求項４の発明によれば、配置制限には、最も望ましい配置である最良配置と最低限必要な配置条件を満たす最低配置とがあり、記憶領域を最良配置で割り当て、最良配置で割り当てることができない場合に最低配置で割り当てるよう構成したので、可能な範囲で最良配置を行うことができる。【００１５】
また、請求項５の発明に係る記憶領域割当装置は、請求項３または４の発明において、前記アプリケーションにはデータベースソフトウェアが含まれ、前記容量算出手段は、データベースソフトウェアに対して、データを格納するデータベーススペース領域、ディクショナリ情報を格納するディクショナリ領域およびログを記録するログ領域の容量を算出し、前記領域割当手段は、データベーススペース領域、ディクショナリ領域およびログ領域の間の配置制限に基づいて記憶領域を記憶装置から割り当てることを特徴とする。【００１６】
この請求項５の発明によれば、アプリケーションにはデータベースソフトウェアが含まれ、データベースソフトウェアに対して、データを格納するデータベーススペース領域、ディクショナリ情報を格納するディクショナリ領域およびログを記録するログ領域の容量を算出し、データベーススペース領域、ディクショナリ領域およびログ領域の間の配置制限に基づいて記憶領域を記憶装置から割り当てるよう構成したので、システム管理者はデータベーススペース領域、ディクショナリ領域およびログ領域の間の配置制限に煩わされることなく記憶領域の割当を行うことができる。【００１７】
また、請求項６の発明に係る記憶領域割当装置は、請求項４の発明において、前記データ領域として割り当てられた記憶領域を移行する際に、最低配置で割り当てられている記憶領域に対しては、最良配置で割り当てることが可能か否かを判定し、最良配置で割り当てることが可能な場合には、最良配置で新たな記憶領域を割り当てるマイグレーション手段をさらに備えたことを特徴とする。【００１８】
この請求項６の発明によれば、データ領域として割り当てられた記憶領域を移行する際に、最低配置で割り当てられている記憶領域に対しては、最良配置で割り当てることが可能か否かを判定し、最良配置で割り当てることが可能な場合には、最良配置で新たな記憶領域を割り当てるよう構成したので、移行の際に配置を改善することができる。【００１９】
また、請求項７の発明に係る記憶領域割当装置は、請求項１の発明において、前記アプリケーションによる各種別毎のデータ領域の使用状況を監視し、使用されている領域の割合が所定の閾値を越えた場合には、該閾値を越えたデータ領域の容量を拡張するとともに、該アプリケーションが使用する他のデータ領域の容量も拡張する容量拡張手段をさらに備えたことを特徴とする。【００２０】
この請求項７の発明によれば、アプリケーションによる各種別毎のデータ領域の使用状況を監視し、使用されている領域の割合が所定の閾値を越えた場合には、閾値を越えたデータ領域の容量を拡張するとともに、アプリケーションが使用する他のデータ領域の容量も拡張するよう構成したので、データ領域の容量拡張を容易に行うことができる。【００２１】
また、請求項８の発明に係る記憶領域割当方法は、アプリケーションが使用する記憶領域を記憶装置から割り当てる記憶領域割当方法であって、前記アプリケーションが必要とする種別毎のデータ領域を特定し、該特定したデータ領域の容量を算出する容量算出工程と、前記容量算出工程により算出された容量の記憶領域を記憶装置から前記データ領域として割り当てる領域割当工程と、を含んだことを特徴とする。【００２２】
この請求項８の発明によれば、アプリケーションが必要とする種別毎のデータ領域を特定し、特定したデータ領域の容量を算出し、算出した容量の記憶領域を記憶装置からデータ領域として割り当てるよう構成したので、システム管理者はデータ領域の容量を算出することなくアプリケーションに記憶領域の割当を行うことができる。【００２３】
また、請求項９の発明に係る記憶領域割当プログラムは、アプリケーションが使用する記憶領域を記憶装置から割り当てる記憶領域割当プログラムであって、前記アプリケーションが必要とする種別毎のデータ領域を特定し、該特定したデータ領域の容量を算出する容量算出手順と、前記容量算出手順により算出された容量の記憶領域を記憶装置から前記データ領域として割り当てる領域割当手順と、をコンピュータに実行させることを特徴とする。【００２４】
この請求項９の発明によれば、アプリケーションが必要とする種別毎のデータ領域を特定し、特定したデータ領域の容量を算出し、算出した容量の記憶領域を記憶装置からデータ領域として割り当てるよう構成したので、システム管理者はデータ領域の容量を算出することなくアプリケーションに記憶領域の割当を行うことができる。
【発明の効果】
【００２５】
請求項１、８および９の発明によれば、システム管理者はアプリケーションの使用目的毎に（種別毎に）データ領域の容量を算出することなくアプリケーションに記憶領域の割当を行うことができるので、アプリケーションへの記憶領域の割当作業の効率を向上することができるという効果を奏する。【００２６】
また、請求項２の発明によれば、記憶装置の変更にともなうアプリケーションの変更を不要とするので、アプリケーションへの記憶領域の割当を容易にすることができるという効果を奏する。【００２７】
また、請求項３の発明によれば、システム管理者は配置制限に煩わされることなく記憶領域の割当を行うことができるので、アプリケーションへの記憶領域の割当作業の効率を向上することができるという効果を奏する。【００２８】
また、請求項４の発明によれば、可能な範囲で自動的に最良配置を行うので、アプリケーションへの記憶領域の割当作業の効率を向上することができるという効果を奏する。【００２９】
また、請求項５の発明によれば、システム管理者はデータベーススペース領域、ディクショナリ領域およびログ領域の間の配置制限に煩わされることなく記憶領域の割当を行うことができるので、データベースソフトウェアへの記憶領域の割当を容易にすることができるという効果を奏する。【００３０】
また、請求項６の発明によれば、移行の際に配置を自動的に改善するので、移行にともなう記憶領域の割当作業の効率を向上することができるという効果を奏する。【００３１】
また、請求項７の発明によれば、データ領域の容量拡張を容易に行うことができるので、アプリケーションの運用負担を軽減することができるという効果を奏する。
【図面の簡単な説明】
【００３２】
【図１】図１は、本実施例に係る仮想化ストレージシステムのシステム構成を示す機能ブロック図である。
【図２】図２は、仮想ディスクと実ディスクの関係を説明するための説明図である。
【図３】図３は、ディスク仮想化部による実ディスクの割当を説明するための説明図である。
【図４】図４は、ディスク仮想化部の構成を示す機能ブロック図である。
【図５】図５は、容量算出情報記憶部が記憶する容量算出情報のデータ構造の一例を示す図である。
【図６−１】図６−１は、実ディスクの使用状況の一例を示す図である。
【図６−２】図６−２は、ディスク装置使用情報記憶部が記憶するディスク装置使用情報の一例を示す図である。
【図７】図７は、ディスク容量割当関連情報記憶部が記憶するディスク容量割当関連情報の一例を示す図である。
【図８】図８は、仮想ディスク割当情報記憶部が記憶する仮想ディスク割当情報のデータ構造の一例を示す図である。
【図９】図９は、ディスク仮想化部による仮想ディスク割当処理の処理手順を示すフローチャートである。
【図１０】図１０は、仮想ディスク装置割当処理の処理手順を示すフローチャートである。
【図１１】図１１は、本実施例に係るディスク仮想化プログラムを実行するファイバーチャネルスイッチのハードウェア構成を示す図である。
【符号の説明】
【００３３】
１，２    サーバ
１０    ファイバーチャネルスイッチ
２１，２２，２３，２４    ストレージ（ディスク装置）
３０    仮想ディスク
４０    実ディスク
５０    データベースソフトウェア
６０    バックアップソフトウェア
１００    ディスク仮想化部
１１０    サーバ通信部
１２０    容量算出情報記憶部
１３０    容量算出部
１４０    ディスク装置使用情報記憶部
１５０    ディスク容量割当関連情報記憶部
１６０    仮想ディスク割当情報記憶部
１７０    仮想ディスク割当部
１８０    ストレージ構成更新部
１９０    マイグレーション部
２００    ファイバーチャネルスイッチ
２１０    サーバインタフェース
２２０    ＲＯＭ
２２１    ディスク仮想化プログラム
２２２    容量算出情報
２３０    ＲＡＭ
２４０    フラッシュメモリ
２４１    ディスク装置使用情報
２４２    ディスク容量割当関連情報
２４３    仮想ディスク割当情報
２５０    ＭＰＵ
２５１    ディスク仮想化タスク
２６０    ディスクインタフェース
【発明を実施するための最良の形態】
【００３４】
以下に添付図面を参照して、この発明に係る記憶領域割当装置、記憶領域割当方法および記憶領域割当プログラムの好適な実施例を詳細に説明する。なお、本実施例では、本発明をファイバーチャネルスイッチに適用した場合を中心に説明する。
【実施例】
【００３５】
まず、本実施例に係る仮想化ストレージシステムのシステム構成について説明する。図１は、本実施例に係る仮想化ストレージシステムのシステム構成を示す機能ブロック図である。【００３６】
同図に示すように、この仮想化ストレージシステムは、サーバ１および２とストレージ２１〜２４とがファイバーチャネルスイッチ１０を介して接続されて構成される。なお、ここでは説明の便宜上、２台のサーバ、４台のストレージのみを示したが、ファイバーチャネルスイッチ１０には、任意の台数のサーバおよびストレージが接続される。また、ストレージ２１〜２４は、ディスク装置である。【００３７】
この仮想化ストレージシステムでは、例えば、サーバ１がファイバーチャネル１０に対してディスク領域の割当を要求すると、ファイバーチャネルスイッチ１０のディスク仮想化部１００がストレージを仮想化してサーバ１に仮想ディスク３０を割り当て、ストレージから仮想ディスク３０に対応して実ディスク４０を割り当てる。【００３８】
図２は、仮想ディスク３０と実ディスク４０の関係を説明するための説明図である。同図において、「＃００００」の仮想ディスク３０は、ディスク装置Ａの「＃００」の実ディスク（論理ユニット）４０の全体と「＃０１」の実ディスク４０の一部とから構成される。また、「＃０００１」の仮想ディスク３０は、ディスク装置Ａの「＃０１」の実ディスク４０の一部とディスク装置Ｂの「＃００」の実ディスク４０の一部とから構成される。【００３９】
このように、ディスク仮想化部１００がサーバに割り当てる仮想ディスク３０は、一つのディスク装置の複数の実ディスク４０から構成される場合や、複数のディスク装置の複数の実ディスク４０から構成される場合がある。すなわち、仮想ディスク３０の構成は、ストレージの物理的構成から分離されており、サーバ上で動作するデータベースソフトウェア５０やバックアップソフトウェア６０などのアプリケーションは、ストレージの物理構成の変更に影響を受けることなくストレージを使用することができる。【００４０】
また、このディスク仮想化部１００は、例えば、サーバ１のデータベースソフトウェア５０がディスク領域の割当を要求した場合に、ディスク領域を要求したアプリケーションがデータベースソフトウェア５０であるという情報とデータベースの容量に影響する変数の値とをサーバ１から受け取り、データベースソフトウェア５０が必要とするデータベーススペース、ディクショナリ、ログ管理などの種別毎の（使用目的毎の）データ領域を特定し、各データ領域の容量を計算して仮想ディスク３０および実ディスク４０を割り当てる。ここで、データベースの容量に影響する変数としては、例えば、レコード長とレコード数がある。【００４１】
図３は、ディスク仮想化部１００による実ディスク４０の割当を説明するための説明図である。同図に示すように、このディスク仮想化部１００は、データベースソフトウェア５０がディスク領域の割当を要求した場合に、データベースソフトウェア５０が必要とするデータベーススペース、ディクショナリ、ログ管理ファイル、テンポラリログファイルなどの種別毎のデータ領域を特定し、特定した各データ領域の容量を計算して仮想ディスク３０および実ディスク４０を割り当てる。【００４２】
例えば、データベーススペースに対しては、このディスク仮想化部１００は、ディスク装置ＡのＬＵＮ（Logical  Unit  Number）が「＃０００」の実ディスク４０を割り当て、ディクショナリに対しては、ディスク装置ＢのＬＵＮが「＃０００」の実ディスク４０を割り当てている。また、ログ管理ファイルに対しては、ディスク装置ＣのＬＵＮが「＃０００」の実ディスク４０を割り当て、テンポラリログファイルに対しては、ディスク装置ＣのＬＵＮが「＃００１」の実ディスク４０を割り当てている。【００４３】
このように、このディスク仮想化部１００が、ディスク領域を要求したアプリケーションの情報とディスク領域の容量に影響する変数の値とをサーバから受け取り、アプリケーションが必要とする種別毎のデータ領域を特定し、特定した各領域の容量を計算して仮想ディスク３０および実ディスク４０を割り当てることによって、システム管理者は、ディスク領域の割当を効率良く行うことができる。【００４４】
次に、ディスク仮想化部１００の構成について説明する。図４は、ディスク仮想化部１００の構成を示す機能ブロック図である。同図に示すように、このディスク仮想化部１００は、サーバ通信部１１０と、容量算出情報記憶部１２０と、容量算出部１３０と、ディスク装置使用情報記憶部１４０と、ディスク容量割当関連情報記憶部１５０と、仮想ディスク割当情報記憶部１６０と、仮想ディスク割当部１７０と、ストレージ構成更新部１８０と、マイグレーション部１９０とを有する。【００４５】
サーバ通信部１１０は、サーバ１および２と通信する処理部であり、例えば、サーバ１からディスク領域の割当要求を受信し、割り当てた仮想ディスク３０に関する情報をサーバ１に送信する。【００４６】
容量算出情報記憶部１２０は、ディスク仮想化部１００がアプリケーションが必要とするディスク領域を特定し、特定した各領域の容量を計算するために必要な情報を記憶した記憶部である。【００４７】
図５は、容量算出情報記憶部１２０が記憶する容量算出情報のデータ構造の一例を示す図である。同図に示すように、この容量算出情報記憶部１２０は、ディスク領域の割り当てを要求するアプリケーションの名前であるアプリケーション名と、アプリケーションが必要とする種別毎のデータ領域と、各データ領域の容量の計算式と、ディスク配置とをアプリケーションごとに記憶する。ここで、ディスク配置とは、各データ領域間の制約に基づくデータ領域の実ディスク４０への配置であり、「最良」は最も良い最良配置を示し、「最低」は最低限必要な条件を満たす最低配置を示す。【００４８】
例えば、データベースソフトウェアＡは、データベーススペース、ディクショナリ、ディレクトリファイル、ログ管理ファイルなどの種別毎のデータ領域を必要とし、データベーススペースの容量であるデータベーススペース数ｃは、レコード長をａ、レコード数をｂとすると、ｃ＝ｂ／（４０９６／ａ）×１．５となる。【００４９】
すなわち、データベーススペースのＮｏが「１」である式の値（１）は４０９６／ａであり、Ｎｏが「２」である式の値（２）はｂ／（１）＝ｂ／（４０９６／ａ）であり、Ｎｏが「３」である式によってｃ＝（２）×１．５＝ｂ／（４０９６／ａ）×１．５となる。【００５０】
また、各データ領域に対する実ディスク４０の配置としては、データベーススペース、ディクショナリ、ディレクトリファイル、ログ管理ファイルを番号が全て異なる、すなわち別の実ディスク４０に割り当てる配置が最良であり、データベーススペースだけは他のデータ領域と異なる実ディスク４０に割り当てる配置が最低限必要な条件を満たす配置である。【００５１】
容量算出部１３０は、容量算出情報記憶部１２０に記憶された容量算出情報を用いて、サーバから指定されたアプリケーションが必要とする種別毎のデータ領域を特定し、各データ領域の容量を算出する処理部である。そして、この容量算出部１３０は、算出した容量をディスク容量割当関連情報記憶部１５０に格納する。【００５２】
なお、アプリケーションの情報以外に容量算出に必要な情報がある場合には、サーバからそれらの情報を受け取って容量を算出する。容量算出に必要な情報としては、例えば、データベースソフトウェア５０の場合、レコード長とレコード数がある。【００５３】
この容量算出部１３０が、アプリケーションが必要とする種別毎のデータ領域を特定し、各データ領域の容量を算出することによって、各アプリケーションに対してディスク領域を割り当てる作業の効率を向上することができる。【００５４】
ディスク装置使用情報記憶部１４０は、実ディスク４０の使用状況に関する情報であるディスク装置使用情報を記憶した記憶部である。例えば、実ディスク４０の使用状況が図６−１に示すような場合には、このディスク装置使用情報記憶部１４０は、図６−２に示す実ディスク割当管理情報および実ディスク未割当管理情報をディスク装置使用情報として記憶する。【００５５】
実ディスク割当管理情報は、使用されている実ディスク４０の領域に関する情報であり、ディスク装置名、論理ユニット番号、ポート番号、ＲＡＩＤ構成タイプ、インタフェースおよび使用領域ＬＢＡ（Logical  Block  Address）から構成される。【００５６】
ここで、インタフェースは、ファイバーチャネルスイッチ１０とのデータ転送速度を示し、例えば、「２ＧＢ−ＦＣ」は、ファイバーチャネルスイッチ１０とのデータ転送速度が２Ｇバイト／秒であることを示す。また、使用領域ＬＢＡは、使用領域の先頭ブロックアドレスを示す開始ＬＢＡと使用領域の終了ブロックアドレスを示す終了ＬＢＡから構成される。【００５７】
実ディスク未割当管理情報は、使用されていない実ディスク４０の領域に関する情報であり、ディスク装置名、論理ユニット番号、ポート番号、ＲＡＩＤ構成タイプ、インタフェースおよび未使用領域ＬＢＡから構成される。ここで、未使用領域ＬＢＡは、未使用領域の先頭ブロックアドレスを示す開始ＬＢＡと使用領域の終了ブロックアドレスを示す終了ＬＢＡから構成される。【００５８】
図６−１に示すように、この例では、ディスク装置Ａの論理ユニット番号が「＃０００」の論理ユニットおよびディスク装置Ｂの論理ユニット番号が「＃０００」の論理ユニットは全て使用されており、ディスク装置Ａの論理ユニット番号が「＃００１」の論理ユニットの一部が使用されている。【００５９】
このとき、ディスク装置使用情報記憶部１４０は、図６−２に示すように、ディスク装置Ａの論理ユニット番号が「＃０００」の論理ユニットおよびディスク装置Ｂの論理ユニット番号が「＃０００」の論理ユニットの全領域、ならびにディスク装置Ａの論理ユニット番号が「＃００１」の論理ユニットの一部の領域に関する情報を実ディスク割当管理情報として記憶し、残りの領域に関する情報を実ディスク未割当管理情報として記憶する。【００６０】
ディスク容量割当関連情報記憶部１５０は、容量算出部１３０により算出された各データ領域の容量やディスク配置などをディスク容量割当関連情報として一時的に記憶する記憶部である。図７は、ディスク容量割当関連情報記憶部１５０が記憶するディスク容量割当関連情報の一例を示す図である。【００６１】
同図に示すように、このディスク容量割当関連情報には、図５に示したデータベースソフトウェアＡからのディスク領域割当要求に対して割り当てるデータベーススペース、ディクショナリ、ディレクトリ、ログ管理ファイルなどの種別毎の各データ領域を識別するＩＤと、各データ領域の容量と、ディスク配置が含まれる。【００６２】
仮想ディスク割当情報記憶部１６０は、アプリケーションに割り当てられた仮想ディスク３０および実ディスク４０に関する情報を仮想ディスク割当情報として記憶する記憶部である。【００６３】
図８は、仮想ディスク割当情報記憶部１６０が記憶する仮想ディスク割当情報のデータ構造の一例を示す図である。同図に示すように、この仮想ディスク割当情報は、仮想ディスク割当情報テーブルと、仮想ディスク情報テーブルと、実ディスク割当情報テーブルとから構成される。【００６４】
仮想ディスク割当情報テーブルは、アプリケーションに割り当てられた仮想ディスク３０に関する情報を記憶するテーブルであり、アプリケーションを管理するための管理番号と、アプリケーション名と、アプリケーションで必要とされる種別毎の各データ領域を識別するＩＤと、各データ領域に割り当てられた仮想ディスク３０を識別する仮想ディスク番号をアプリケーションごとに記憶する。【００６５】
仮想ディスク情報テーブルは、仮想ディスク３０に関する情報を記憶するテーブルであり、仮想ディスク番号と、仮想ディスクタイプと、仮想ディスク容量と、実ディスク割当情報テーブルへのポインタである実ディスク割当情報ポインタを仮想ディスク３０ごとに記憶する。【００６６】
実ディスク割当情報テーブルは、仮想ディスク３０に対応する実ディスク４０に関する情報を記憶したテーブルであり、仮想ディスク３０が仮想ディスク割当部１７０によってアプリケーションに割り当てられた際に作成される。したがって、仮想ディスク割当情報記憶部１６０には、仮想ディスク３０の数と同数の実ディスク割当情報テーブルが記憶される。【００６７】
実ディスク割当情報テーブルは、仮想ディスク３０を構成する実ディスク４０の区画を識別する区画番号と、区画が属するディスク装置を示すストレージ装置名と、ストレージ装置内の論理ユニットを識別する論理ユニット番号と、区画容量と、開始ＬＢＡと、終了ＬＢＡを区画ごとに記憶する。仮想ディスク３０が拡張された場合には、この実ディスク割当情報テーブルに新たな区画が追加される。【００６８】
例えば、仮想ディスク番号が「００００」である仮想ディスク３０は、三つの区画から構成され、区画番号が「１」である区画は、ディスク装置Ａの論理ユニット番号が「＃０００」である論理ユニットにあり、容量は８１９２０ＭＢで開始ＬＢＡは「０」であり、終了ＬＢＡは「１６７７７２１５９」である。なお、仮想ディスク３０が拡張された場合には、この実ディスク割当情報テーブルに新たな区画が追加される。【００６９】
仮想ディスク割当部１７０は、ディスク容量割当関連情報記憶部１５０に記憶されたディスク容量割当関連情報に基づいて仮想ディスク３０および実ディスク４０を割り当てる処理部であり、割り当てた結果を仮想ディスク割当情報記憶部１６０に記憶する。【００７０】
この仮想ディスク割当部１７０は、ディスク容量割当関連情報のディスク配置のうち最良の配置に基づいて実ディスク４０の割当を行い、最良配置ができない場合には、最低の配置による割当を行う。【００７１】
ストレージ構成更新部１８０は、仮想化ストレージシステムを構成するディスク装置の追加や変更があった場合に、ディスク装置使用情報記憶部１４０の情報を更新する処理部である。【００７２】
マイグレーション部１９０は、使用されている実ディスク４０を入れ替える場合に、古い実ディスク４０に格納されているデータを新しい実ディスク４０に移行する処理部である。このマイグレーション部１９０は、移行の際に、最良配置が行われていないアプリケーションのデータ領域については、可能なかぎり最良配置を行う。【００７３】
このマイグレーション部１９０が、移行の際に、最良配置が行われていないアプリケーションのデータ領域については、可能なかぎり最良配置を行うことによって、ディスク装置の追加などによって、仮想化ストレージシステムの信頼性や性能を向上することができる。【００７４】
次に、ディスク仮想化部１００による仮想ディスク割当処理の処理手順について説明する。図９は、ディスク仮想化部１００による仮想ディスク割当処理の処理手順を示すフローチャートである。なお、ここでは、サーバ１からディスク領域割当要求を受け取った場合を例として説明する。【００７５】
同図に示すように、このディスク仮想化部１００は、アプリケーションに対するディスク領域割当要求をサーバ１から受け取ると、容量算出情報記憶部１２０に記憶した情報を用いて容量算出部１３０がアプリケーションが必要とする種別毎のデータ領域を特定し、特定した各データ領域の容量を算出する（ステップＳ１０１）。【００７６】
そして、仮想ディスク割当部１７０が容量算出部１３０によって算出された容量の仮想ディスク３０および対応する実ディスク４０を割り当てる仮想ディスク装置割当処理を行う。ここで、仮想ディスク割当部１７０は、最良配置での割当処理を行う最良モードで仮想ディスク装置割当処理を行う（ステップＳ１０２）。【００７７】
そして、最良配置による割当ができたか否かを判定し（ステップＳ１０３）、最良配置による割当ができた場合には、割当結果をサーバ１に通知する（ステップＳ１０４）。一方、最良配置による割当ができなかった場合には、最低配置での割当処理を行う最低モードで仮想ディスク装置割当処理を行う（ステップＳ１０５）。【００７８】
そして、最低配置による割当ができたか否かを判定し（ステップＳ１０６）、最低配置による割当ができた場合には、割当結果をサーバ１に通知し（ステップＳ１０４）、最低配置による割当ができなかった場合には、割当失敗をサーバ１に通知する（ステップＳ１０７）。【００７９】
このように、容量算出部１３０がアプリケーションが必要とする種別毎のデータ領域を特定し、特定した各データ領域の容量を算出し、仮想ディスク割当部１７０が容量算出部１３０によって算出された容量の仮想ディスク３０および対応する実ディスク４０を割り当てることによって、アプリケーションに対するディスク領域の割当を効率良く行うことができる。【００８０】
次に、ステップＳ１０２およびステップＳ１０５で行う仮想ディスク装置割当処理の処理手順について説明する。図１０は、仮想ディスク装置割当処理の処理手順を示すフローチャートである。なお、この仮想ディスク装置割当処理は、ディスク配置を最良配置とするか最低配置とするかが指定されて起動される。【００８１】
同図に示すように、この仮想ディスク装置割当処理では、まず、変数ｍの値を「１」に初期化する（ステップＳ２０１）。そして、ディスク装置使用情報記憶部１４０の実ディスク装置未割当管理情報を参照してディスク容量割当関連情報のｍ番目の容量が確保できる実ディスク４０を探す（ステップＳ２０２）。【００８２】
そして、実ディスク４０が見つかった場合には（ステップＳ２０３、肯定）、ディスク配置に問題があるか否かを調べ（ステップＳ２０４）、問題があるときは、ステップＳ２０２に戻って他の実ディスク４０を探す。【００８３】
一方、ディスク配置に問題がない場合には、容量、ディスク装置名、論理ユニット番号、開始ＬＢＡ、終了ＬＢＡなどの情報を一時的に記憶し（ステップＳ２０５）、ｍに「１」を加える（ステップＳ２０６）。【００８４】
そして、ｍがｎより大きいか否か、すなわち、ディスク容量割当関連情報記憶部１５０が記憶する全てのデータ領域に対して実ディスク４０を割り当てることができたか否かを判定し（ステップＳ２０７）、ｍがｎより大きくない場合には、ステップＳ２０２に戻って次のデータ領域に割り当てる実ディスク４０を探す。【００８５】
一方、ｍがｎより大きい場合、すなわち、ディスク容量割当関連情報記憶部１５０が記憶する全てのデータ領域に対して実ディスク４０を割り当てることができた場合には、ディスク装置使用状況記憶部１４０の実ディスク装置割当管理情報および実ディスク装置未割当管理情報や、仮想ディスク割当情報記憶部１６０が記憶する仮想ディスク割当情報を更新し（ステップＳ２０８）、割当結果を割当成功として戻る（ステップＳ２０９）。【００８６】
これに対して、実ディスク４０が見つからなかった場合には（ステップＳ２０３、否定）、割当結果を割当失敗として戻る（ステップＳ２１０）。【００８７】
このように、この仮想ディスク装置割当処理がディスク容量割当関連情報記憶部１５０に記憶されたデータ領域に対して実ディスク４０を割り当て、ディスク装置使用状況記憶部１４０や仮想ディスク割当情報記憶部１６０の情報を更新することによって、実ディスク４０が対応付けられた仮想ディスク３０を割り当てることができる。【００８８】
上述してきたように、本実施例では、容量算出部１３０が、容量算出情報記憶部１２０に記憶された容量算出情報を用いて、アプリケーションが必要とする種別毎のデータ領域を特定するとともに、特定した各データ領域の容量を算出し、仮想ディスク割当部１７０が容量算出部１３０によって容量が算出されたデータ領域に、実ディスク４０が対応付けられた仮想ディスク３０を割り当てることとしたので、アプリケーションが必要とするディスク領域を効率良く割り当てることができる。【００８９】
なお、本実施例では、アプリケーションが要求するディスク領域を最初に割り当てる場合について説明したが、割り当てられたディスク領域の使用状況を監視し、所定の割合を超えて使用された場合には、自動的にディスク領域を拡張することもできる。また、あるデータ領域の容量を拡張した場合に、そのデータ領域に関連するデータ領域についても自動的に拡張するようにすることもできる。【００９０】
例えば、データベースシステムにおいて、データベーススペースの使用されている容量がある閾値を越えた場合に、データベーススペースの容量を拡張するとともに、ディクショナリ、ログファイルなどの容量もデータベーススペースの容量の拡張に比例して拡張することができる。【００９１】
また、本実施例では、アプリケーションが必要とする種別毎のデータ領域のディスク配置の条件を満たすように実ディスク４０を割り当てる場合について説明したが、データ領域にＲＡＩＤ構成、ファイバーチャネルスイッチとのインタフェースなどの条件を対応させ、これらの条件を満たすように実ディスク４０を割り当てることもできる。【００９２】
また、本実施例では、主にデータベースソフトウェア５０について説明したが、本発明はこれに限定されるものではなく、バックアップソフトウェア６０などストレージシステムを利用する他のソフトウェアに対しても同様に適用することができる。【００９３】
また、本実施例では、仮想化ストレージシステムについて説明したが、本発明はこれに限定されるものではなく、仮想化ストレージ技術を用いることなく実ディスク４０を直接割り当てる場合にも同様に適用することができる。【００９４】
また、本実施例では、ファイバーチャネルスイッチ１０のディスク仮想化部１００について説明したが、本発明はこれに限定されるものではなく、サーバとディスク装置を接続する他の装置にディスク仮想化部を設けることもできる。【００９５】
また、本実施例では、ファイバーチャネルスイッチ１０のディスク仮想化部１００について説明したが、このディスク仮想化部１００が有する構成をソフトウェアによって実現することで、同様の機能を有するディスク仮想化プログラムを記憶領域割当プログラムの一実施例として得ることができる。そこで、このディスク仮想化プログラムを実行するファイバーチャネルスイッチのハードウェア構成について説明する。【００９６】
図１１は、本実施例に係るディスク仮想化プログラムを実行するファイバーチャネルスイッチのハードウェア構成を示す図である。同図に示すように、このファイバーチャネルスイッチ２００は、サーバインタフェース２１０と、ＲＯＭ２２０と、ＲＡＭ２３０と、フラッシュメモリ２４０と、ＭＰＵ２５０と、ディスクインタフェース２６０とを有する。【００９７】
サーバインタフェース２１０は、サーバと通信を行うインタフェースであり、ＲＯＭ２２０は、ディスク仮想化プログラム２２１や図５に示した容量算出情報２２２などを記憶する読み出し専用メモリである。【００９８】
ＲＡＭ２３０は、ディスク仮想化プログラム２２１の実行途中結果、図６−２に示したディスク装置使用情報２４１、図７に示したディスク容量割当関連情報２４２、図８に示した仮想ディスク割当情報２４３などを記憶するメモリである。【００９９】
フラッシュメモリ２４０は、ディスク装置使用情報２４１、ディスク割当関連情報２４２、仮想ディスク割当情報２４３などを保存する不揮発性メモリであり、ＭＰＵ２５０は、ＲＯＭ２２０に格納されたプログラムを読み出して実行する処理装置である。ディスクインタフェース２６０は、ディスク装置と通信するためのインタフェースである。【０１００】
そして、ＲＯＭ２２０に格納されたディスク仮想化プログラム２２１は、ＭＰＵ２５０に読み出されてディスク仮想化タスク２５１として実行される。このとき、フラッシュメモリ２４０に格納されたディスク装置使用情報２４１、ディスク容量割当関連情報２４２、仮想ディスク割当情報２４３はＲＡＭ２３０に読み出されて更新される。
【産業上の利用可能性】
【０１０１】
以上のように、本発明に係る記憶領域割当装置、記憶領域割当方法および記憶領域割当プログラムは、ストレージシステムに有用であり、特に、記憶領域の割当が複雑なアプリケーションで利用されるストレージシステムに適している。
【図１】
2006054334.tif 000002
【図２】
2006054334.tif 000003
【図３】
2006054334.tif 000004
【図４】
2006054334.tif 000005
【図５】
2006054334.tif 000006
【図６−１】
2006054334.tif 000007
【図６−２】
2006054334.tif 000008
【図７】
2006054334.tif 000009
【図８】
2006054334.tif 000010
【図９】
2006054334.tif 000011
【図１０】
2006054334.tif 000012
【図１１】
2006054334.tif 000013
【手続補正書】
【提出日】平成19年5月18日(2007.5.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
アプリケーションが使用する記憶領域を記憶装置から割り当てる記憶領域割当装置であって、
前記アプリケーションが必要とする種別毎のデータ領域を特定し、該特定したデータ領域の容量を算出する容量算出手段と、
前記容量算出手段により算出された容量の記憶領域を記憶装置から前記データ領域として割り当てる領域割当手段と、
を備えたことを特徴とする記憶領域割当装置。
【請求項２】
前記領域割当手段は、前記データ領域の間の配置制限に基づいて記憶装置から記憶領域を割り当てることを特徴とする請求項１に記載の記憶領域割当装置。
【請求項３】
前記アプリケーションにはデータベースソフトウェアが含まれ、
前記容量算出手段は、データベースソフトウェアに対して、データを格納するデータベーススペース領域、ディクショナリ情報を格納するディクショナリ領域およびログを記録するログ領域の容量を算出し、
前記領域割当手段は、データベーススペース領域、ディクショナリ領域およびログ領域の間の配置制限に基づいて記憶領域を記憶装置から割り当てることを特徴とする請求項２に記載の記憶領域割当装置。
【請求項４】
アプリケーションが使用する記憶領域を記憶装置から割り当てる記憶領域割当方法であって、
前記アプリケーションが必要とする種別毎のデータ領域を特定し、該特定したデータ領域の容量を算出する容量算出工程と、
前記容量算出工程により算出された容量の記憶領域を記憶装置から前記データ領域として割り当てる領域割当工程と、
を含んだことを特徴とする記憶領域割当方法。
【請求項５】
アプリケーションが使用する記憶領域を記憶装置から割り当てる記憶領域割当プログラムであって、
前記アプリケーションが必要とする種別毎のデータ領域を特定し、該特定したデータ領域の容量を算出する容量算出手順と、
前記容量算出手順により算出された容量の記憶領域を記憶装置から前記データ領域として割り当てる領域割当手順と、
をコンピュータに実行させることを特徴とする記憶領域割当プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、アプリケーションが使用する記憶領域を記憶装置から割り当てる記憶領域割当装置、記憶領域割当方法および記憶領域割当プログラムに関し、特に、アプリケーションへの記憶領域の割当作業の効率を向上することができる記憶領域割当装置、記憶領域割当方法および記憶領域割当プログラムに関するものである。
【背景技術】
【０００２】
従来、データベースを構築する場合には、システムエンジニア（ＳＥ）やシステム管理者は、データベースに格納するデータ容量を基準に、推奨値(マニュアル等に記載されている計算式から求まる値)に経験値を加味して、データベーススペースに割り当てる容量、ディクショナリ領域、ログ領域などの関連する種別毎のデータ領域に割り当てる容量を求めていた。
【０００３】
そして、記憶領域を管理する管理装置に対して、必要とされる記憶装置の性能、信頼性などの属性とともに容量を指定することによって、データベーススペースなどの領域を確保していた（例えば、特許文献１参照。）。
【０００４】
【特許文献１】特開２００２−２２２０６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、データ領域の容量を算出するためには、複雑な計算式を用いて計算を行う必要があり、システムエンジニア（ＳＥ）やシステム管理者の作業効率が悪いという問題があった。また、データベーススペース領域、ディクショナリ領域、ログ領域など各データ領域の使用目的により、同じディスク装置に置けない、あるいは、置かないほうが良いなどの制約があるため、どのディスク装置にどのデータ領域を割り当てるかを考慮しなければならないという問題があった。
【０００６】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、データベーススペース領域、ディクショナリ領域、ログ領域など各データ領域の使用目的毎に、アプリケーションへの記憶領域の割当作業の効率を向上することができる記憶装置から割り当てることができる記憶領域割当装置、記憶領域割当方法および記憶領域割当プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、請求項１の発明に係る記憶領域割当装置は、アプリケーションが使用する記憶領域を記憶装置から割り当てる記憶領域割当装置であって、前記アプリケーションが必要とする種別毎のデータ領域を特定し、該特定したデータ領域の容量を算出する容量算出手段と、前記容量算出手段により算出された容量の記憶領域を記憶装置から前記データ領域として割り当てる領域割当手段と、を備えたことを特徴とする。
【０００８】
この請求項１の発明によれば、アプリケーションが必要とする種別毎のデータ領域を特定し、特定したデータ領域の容量を算出し、算出した容量の記憶領域を記憶装置からデータ領域として割り当てるよう構成したので、システム管理者は種別毎のデータ領域の容量を算出することなくアプリケーションに記憶領域の割当を行うことができる。
【０００９】
また、請求項２の発明に係る記憶領域割当装置は、請求項１の発明において、前記領域割当手段は、前記データ領域の間の配置制限に基づいて記憶装置から記憶領域を割り当てることを特徴とする。
【００１０】
この請求項２の発明によれば、データ領域の間の配置制限に基づいて記憶装置から記憶領域を割り当てるよう構成したので、システム管理者は配置制限に煩わされることなく記憶領域の割当を行うことができる。
【００１１】
また、請求項３の発明に係る記憶領域割当装置は、請求項２の発明において、前記アプリケーションにはデータベースソフトウェアが含まれ、前記容量算出手段は、データベースソフトウェアに対して、データを格納するデータベーススペース領域、ディクショナリ情報を格納するディクショナリ領域およびログを記録するログ領域の容量を算出し、前記領域割当手段は、データベーススペース領域、ディクショナリ領域およびログ領域の間の配置制限に基づいて記憶領域を記憶装置から割り当てることを特徴とする。
【００１２】
この請求項３の発明によれば、アプリケーションにはデータベースソフトウェアが含まれ、データベースソフトウェアに対して、データを格納するデータベーススペース領域、ディクショナリ情報を格納するディクショナリ領域およびログを記録するログ領域の容量を算出し、データベーススペース領域、ディクショナリ領域およびログ領域の間の配置制限に基づいて記憶領域を記憶装置から割り当てるよう構成したので、システム管理者はデータベーススペース領域、ディクショナリ領域およびログ領域の間の配置制限に煩わされることなく記憶領域の割当を行うことができる。
【００１３】
また、請求項４の発明に係る記憶領域割当方法は、アプリケーションが使用する記憶領域を記憶装置から割り当てる記憶領域割当方法であって、前記アプリケーションが必要とする種別毎のデータ領域を特定し、該特定したデータ領域の容量を算出する容量算出工程と、前記容量算出工程により算出された容量の記憶領域を記憶装置から前記データ領域として割り当てる領域割当工程と、を含んだことを特徴とする。
【００１４】
この請求項４の発明によれば、アプリケーションが必要とする種別毎のデータ領域を特定し、特定したデータ領域の容量を算出し、算出した容量の記憶領域を記憶装置からデータ領域として割り当てるよう構成したので、システム管理者はデータ領域の容量を算出することなくアプリケーションに記憶領域の割当を行うことができる。
【００１５】
また、請求項５の発明に係る記憶領域割当プログラムは、アプリケーションが使用する記憶領域を記憶装置から割り当てる記憶領域割当プログラムであって、前記アプリケーションが必要とする種別毎のデータ領域を特定し、該特定したデータ領域の容量を算出する容量算出手順と、前記容量算出手順により算出された容量の記憶領域を記憶装置から前記データ領域として割り当てる領域割当手順と、をコンピュータに実行させることを特徴とする。
【００１６】
この請求項５の発明によれば、アプリケーションが必要とする種別毎のデータ領域を特定し、特定したデータ領域の容量を算出し、算出した容量の記憶領域を記憶装置からデータ領域として割り当てるよう構成したので、システム管理者はデータ領域の容量を算出することなくアプリケーションに記憶領域の割当を行うことができる。
【発明の効果】
【００１７】
請求項１、４および５の発明によれば、システム管理者はアプリケーションの使用目的毎に（種別毎に）データ領域の容量を算出することなくアプリケーションに記憶領域の割当を行うことができるので、アプリケーションへの記憶領域の割当作業の効率を向上することができるという効果を奏する。
【００１８】
また、請求項２の発明によれば、システム管理者は配置制限に煩わされることなく記憶領域の割当を行うことができるので、アプリケーションへの記憶領域の割当作業の効率を向上することができるという効果を奏する。
【００１９】
また、請求項３の発明によれば、システム管理者はデータベーススペース領域、ディクショナリ領域およびログ領域の間の配置制限に煩わされることなく記憶領域の割当を行うことができるので、データベースソフトウェアへの記憶領域の割当を容易にすることができるという効果を奏する。
【発明を実施するための最良の形態】
【００２０】
以下に添付図面を参照して、この発明に係る記憶領域割当装置、記憶領域割当方法および記憶領域割当プログラムの好適な実施例を詳細に説明する。なお、本実施例では、本発明をファイバーチャネルスイッチに適用した場合を中心に説明する。
【実施例】
【００２１】
まず、本実施例に係る仮想化ストレージシステムのシステム構成について説明する。図１は、本実施例に係る仮想化ストレージシステムのシステム構成を示す機能ブロック図である。
【００２２】
同図に示すように、この仮想化ストレージシステムは、サーバ１および２とストレージ２１〜２４とがファイバーチャネルスイッチ１０を介して接続されて構成される。なお、ここでは説明の便宜上、２台のサーバ、４台のストレージのみを示したが、ファイバーチャネルスイッチ１０には、任意の台数のサーバおよびストレージが接続される。また、ストレージ２１〜２４は、ディスク装置である。
【００２３】
この仮想化ストレージシステムでは、例えば、サーバ１がファイバーチャネル１０に対してディスク領域の割当を要求すると、ファイバーチャネルスイッチ１０のディスク仮想化部１００がストレージを仮想化してサーバ１に仮想ディスク３０を割り当て、ストレージから仮想ディスク３０に対応して実ディスク４０を割り当てる。
【００２４】
図２は、仮想ディスク３０と実ディスク４０の関係を説明するための説明図である。同図において、「＃００００」の仮想ディスク３０は、ディスク装置Ａの「＃００」の実ディスク（論理ユニット）４０の全体と「＃０１」の実ディスク４０の一部とから構成される。また、「＃０００１」の仮想ディスク３０は、ディスク装置Ａの「＃０１」の実ディスク４０の一部とディスク装置Ｂの「＃００」の実ディスク４０の一部とから構成される。
【００２５】
このように、ディスク仮想化部１００がサーバに割り当てる仮想ディスク３０は、一つのディスク装置の複数の実ディスク４０から構成される場合や、複数のディスク装置の複数の実ディスク４０から構成される場合がある。すなわち、仮想ディスク３０の構成は、ストレージの物理的構成から分離されており、サーバ上で動作するデータベースソフトウェア５０やバックアップソフトウェア６０などのアプリケーションは、ストレージの物理構成の変更に影響を受けることなくストレージを使用することができる。
【００２６】
また、このディスク仮想化部１００は、例えば、サーバ１のデータベースソフトウェア５０がディスク領域の割当を要求した場合に、ディスク領域を要求したアプリケーションがデータベースソフトウェア５０であるという情報とデータベースの容量に影響する変数の値とをサーバ１から受け取り、データベースソフトウェア５０が必要とするデータベーススペース、ディクショナリ、ログ管理などの種別毎の（使用目的毎の）データ領域を特定し、各データ領域の容量を計算して仮想ディスク３０および実ディスク４０を割り当てる。ここで、データベースの容量に影響する変数としては、例えば、レコード長とレコード数がある。
【００２７】
図３は、ディスク仮想化部１００による実ディスク４０の割当を説明するための説明図である。同図に示すように、このディスク仮想化部１００は、データベースソフトウェア５０がディスク領域の割当を要求した場合に、データベースソフトウェア５０が必要とするデータベーススペース、ディクショナリ、ログ管理ファイル、テンポラリログファイルなどの種別毎のデータ領域を特定し、特定した各データ領域の容量を計算して仮想ディスク３０および実ディスク４０を割り当てる。
【００２８】
例えば、データベーススペースに対しては、このディスク仮想化部１００は、ディスク装置ＡのＬＵＮ（Logical  Unit  Number）が「＃０００」の実ディスク４０を割り当て
、ディクショナリに対しては、ディスク装置ＢのＬＵＮが「＃０００」の実ディスク４０を割り当てている。また、ログ管理ファイルに対しては、ディスク装置ＣのＬＵＮが「＃０００」の実ディスク４０を割り当て、テンポラリログファイルに対しては、ディスク装置ＣのＬＵＮが「＃００１」の実ディスク４０を割り当てている。
【００２９】
このように、このディスク仮想化部１００が、ディスク領域を要求したアプリケーションの情報とディスク領域の容量に影響する変数の値とをサーバから受け取り、アプリケーションが必要とする種別毎のデータ領域を特定し、特定した各領域の容量を計算して仮想ディスク３０および実ディスク４０を割り当てることによって、システム管理者は、ディスク領域の割当を効率良く行うことができる。
【００３０】
次に、ディスク仮想化部１００の構成について説明する。図４は、ディスク仮想化部１００の構成を示す機能ブロック図である。同図に示すように、このディスク仮想化部１００は、サーバ通信部１１０と、容量算出情報記憶部１２０と、容量算出部１３０と、ディスク装置使用情報記憶部１４０と、ディスク容量割当関連情報記憶部１５０と、仮想ディスク割当情報記憶部１６０と、仮想ディスク割当部１７０と、ストレージ構成更新部１８０と、マイグレーション部１９０とを有する。
【００３１】
サーバ通信部１１０は、サーバ１および２と通信する処理部であり、例えば、サーバ１からディスク領域の割当要求を受信し、割り当てた仮想ディスク３０に関する情報をサーバ１に送信する。
【００３２】
容量算出情報記憶部１２０は、ディスク仮想化部１００がアプリケーションが必要とするディスク領域を特定し、特定した各領域の容量を計算するために必要な情報を記憶した記憶部である。
【００３３】
図５は、容量算出情報記憶部１２０が記憶する容量算出情報のデータ構造の一例を示す図である。同図に示すように、この容量算出情報記憶部１２０は、ディスク領域の割り当てを要求するアプリケーションの名前であるアプリケーション名と、アプリケーションが必要とする種別毎のデータ領域と、各データ領域の容量の計算式と、ディスク配置とをアプリケーションごとに記憶する。ここで、ディスク配置とは、各データ領域間の制約に基づくデータ領域の実ディスク４０への配置であり、「最良」は最も良い最良配置を示し、「最低」は最低限必要な条件を満たす最低配置を示す。
【００３４】
例えば、データベースソフトウェアＡは、データベーススペース、ディクショナリ、ディレクトリファイル、ログ管理ファイルなどの種別毎のデータ領域を必要とし、データベーススペースの容量であるデータベーススペース数ｃは、レコード長をａ、レコード数をｂとすると、ｃ＝ｂ／（４０９６／ａ）×１．５となる。
【００３５】
すなわち、データベーススペースのＮｏが「１」である式の値（１）は４０９６／ａであり、Ｎｏが「２」である式の値（２）はｂ／（１）＝ｂ／（４０９６／ａ）であり、Ｎｏが「３」である式によってｃ＝（２）×１．５＝ｂ／（４０９６／ａ）×１．５となる。
【００３６】
また、各データ領域に対する実ディスク４０の配置としては、データベーススペース、ディクショナリ、ディレクトリファイル、ログ管理ファイルを番号が全て異なる、すなわち別の実ディスク４０に割り当てる配置が最良であり、データベーススペースだけは他のデータ領域と異なる実ディスク４０に割り当てる配置が最低限必要な条件を満たす配置である。
【００３７】
容量算出部１３０は、容量算出情報記憶部１２０に記憶された容量算出情報を用いて、サーバから指定されたアプリケーションが必要とする種別毎のデータ領域を特定し、各データ領域の容量を算出する処理部である。そして、この容量算出部１３０は、算出した容量をディスク容量割当関連情報記憶部１５０に格納する。
【００３８】
なお、アプリケーションの情報以外に容量算出に必要な情報がある場合には、サーバからそれらの情報を受け取って容量を算出する。容量算出に必要な情報としては、例えば、データベースソフトウェア５０の場合、レコード長とレコード数がある。
【００３９】
この容量算出部１３０が、アプリケーションが必要とする種別毎のデータ領域を特定し、各データ領域の容量を算出することによって、各アプリケーションに対してディスク領域を割り当てる作業の効率を向上することができる。
【００４０】
ディスク装置使用情報記憶部１４０は、実ディスク４０の使用状況に関する情報であるディスク装置使用情報を記憶した記憶部である。例えば、実ディスク４０の使用状況が図６−１に示すような場合には、このディスク装置使用情報記憶部１４０は、図６−２に示す実ディスク割当管理情報および実ディスク未割当管理情報をディスク装置使用情報として記憶する。
【００４１】
実ディスク割当管理情報は、使用されている実ディスク４０の領域に関する情報であり、ディスク装置名、論理ユニット番号、ポート番号、ＲＡＩＤ構成タイプ、インタフェースおよび使用領域ＬＢＡ（Logical  Block  Address）から構成される。
【００４２】
ここで、インタフェースは、ファイバーチャネルスイッチ１０とのデータ転送速度を示し、例えば、「２ＧＢ−ＦＣ」は、ファイバーチャネルスイッチ１０とのデータ転送速度が２Ｇバイト／秒であることを示す。また、使用領域ＬＢＡは、使用領域の先頭ブロックアドレスを示す開始ＬＢＡと使用領域の終了ブロックアドレスを示す終了ＬＢＡから構成される。
【００４３】
実ディスク未割当管理情報は、使用されていない実ディスク４０の領域に関する情報であり、ディスク装置名、論理ユニット番号、ポート番号、ＲＡＩＤ構成タイプ、インタフェースおよび未使用領域ＬＢＡから構成される。ここで、未使用領域ＬＢＡは、未使用領域の先頭ブロックアドレスを示す開始ＬＢＡと使用領域の終了ブロックアドレスを示す終了ＬＢＡから構成される。
【００４４】
図６−１に示すように、この例では、ディスク装置Ａの論理ユニット番号が「＃０００」の論理ユニットおよびディスク装置Ｂの論理ユニット番号が「＃０００」の論理ユニットは全て使用されており、ディスク装置Ａの論理ユニット番号が「＃００１」の論理ユニットの一部が使用されている。
【００４５】
このとき、ディスク装置使用情報記憶部１４０は、図６−２に示すように、ディスク装置Ａの論理ユニット番号が「＃０００」の論理ユニットおよびディスク装置Ｂの論理ユニット番号が「＃０００」の論理ユニットの全領域、ならびにディスク装置Ａの論理ユニット番号が「＃００１」の論理ユニットの一部の領域に関する情報を実ディスク割当管理情報として記憶し、残りの領域に関する情報を実ディスク未割当管理情報として記憶する。
【００４６】
ディスク容量割当関連情報記憶部１５０は、容量算出部１３０により算出された各データ領域の容量やディスク配置などをディスク容量割当関連情報として一時的に記憶する記憶部である。図７は、ディスク容量割当関連情報記憶部１５０が記憶するディスク容量割当関連情報の一例を示す図である。
【００４７】
同図に示すように、このディスク容量割当関連情報には、図５に示したデータベースソフトウェアＡからのディスク領域割当要求に対して割り当てるデータベーススペース、ディクショナリ、ディレクトリ、ログ管理ファイルなどの種別毎の各データ領域を識別するＩＤと、各データ領域の容量と、ディスク配置が含まれる。
【００４８】
仮想ディスク割当情報記憶部１６０は、アプリケーションに割り当てられた仮想ディスク３０および実ディスク４０に関する情報を仮想ディスク割当情報として記憶する記憶部である。
【００４９】
図８は、仮想ディスク割当情報記憶部１６０が記憶する仮想ディスク割当情報のデータ構造の一例を示す図である。同図に示すように、この仮想ディスク割当情報は、仮想ディスク割当情報テーブルと、仮想ディスク情報テーブルと、実ディスク割当情報テーブルとから構成される。
【００５０】
仮想ディスク割当情報テーブルは、アプリケーションに割り当てられた仮想ディスク３０に関する情報を記憶するテーブルであり、アプリケーションを管理するための管理番号と、アプリケーション名と、アプリケーションで必要とされる種別毎の各データ領域を識別するＩＤと、各データ領域に割り当てられた仮想ディスク３０を識別する仮想ディスク番号をアプリケーションごとに記憶する。
【００５１】
仮想ディスク情報テーブルは、仮想ディスク３０に関する情報を記憶するテーブルであり、仮想ディスク番号と、仮想ディスクタイプと、仮想ディスク容量と、実ディスク割当情報テーブルへのポインタである実ディスク割当情報ポインタを仮想ディスク３０ごとに記憶する。
【００５２】
実ディスク割当情報テーブルは、仮想ディスク３０に対応する実ディスク４０に関する情報を記憶したテーブルであり、仮想ディスク３０が仮想ディスク割当部１７０によってアプリケーションに割り当てられた際に作成される。したがって、仮想ディスク割当情報記憶部１６０には、仮想ディスク３０の数と同数の実ディスク割当情報テーブルが記憶される。
【００５３】
実ディスク割当情報テーブルは、仮想ディスク３０を構成する実ディスク４０の区画を識別する区画番号と、区画が属するディスク装置を示すストレージ装置名と、ストレージ装置内の論理ユニットを識別する論理ユニット番号と、区画容量と、開始ＬＢＡと、終了ＬＢＡを区画ごとに記憶する。仮想ディスク３０が拡張された場合には、この実ディスク割当情報テーブルに新たな区画が追加される。
【００５４】
例えば、仮想ディスク番号が「００００」である仮想ディスク３０は、三つの区画から構成され、区画番号が「１」である区画は、ディスク装置Ａの論理ユニット番号が「＃０００」である論理ユニットにあり、容量は８１９２０ＭＢで開始ＬＢＡは「０」であり、終了ＬＢＡは「１６７７７２１５９」である。なお、仮想ディスク３０が拡張された場合には、この実ディスク割当情報テーブルに新たな区画が追加される。
【００５５】
仮想ディスク割当部１７０は、ディスク容量割当関連情報記憶部１５０に記憶されたディスク容量割当関連情報に基づいて仮想ディスク３０および実ディスク４０を割り当てる処理部であり、割り当てた結果を仮想ディスク割当情報記憶部１６０に記憶する。
【００５６】
この仮想ディスク割当部１７０は、ディスク容量割当関連情報のディスク配置のうち最良の配置に基づいて実ディスク４０の割当を行い、最良配置ができない場合には、最低の配置による割当を行う。
【００５７】
ストレージ構成更新部１８０は、仮想化ストレージシステムを構成するディスク装置の追加や変更があった場合に、ディスク装置使用情報記憶部１４０の情報を更新する処理部である。
【００５８】
マイグレーション部１９０は、使用されている実ディスク４０を入れ替える場合に、古い実ディスク４０に格納されているデータを新しい実ディスク４０に移行する処理部である。このマイグレーション部１９０は、移行の際に、最良配置が行われていないアプリケーションのデータ領域については、可能なかぎり最良配置を行う。
【００５９】
このマイグレーション部１９０が、移行の際に、最良配置が行われていないアプリケーションのデータ領域については、可能なかぎり最良配置を行うことによって、ディスク装置の追加などによって、仮想化ストレージシステムの信頼性や性能を向上することができる。
【００６０】
次に、ディスク仮想化部１００による仮想ディスク割当処理の処理手順について説明する。図９は、ディスク仮想化部１００による仮想ディスク割当処理の処理手順を示すフローチャートである。なお、ここでは、サーバ１からディスク領域割当要求を受け取った場合を例として説明する。
【００６１】
同図に示すように、このディスク仮想化部１００は、アプリケーションに対するディスク領域割当要求をサーバ１から受け取ると、容量算出情報記憶部１２０に記憶した情報を用いて容量算出部１３０がアプリケーションが必要とする種別毎のデータ領域を特定し、特定した各データ領域の容量を算出する（ステップＳ１０１）。
【００６２】
そして、仮想ディスク割当部１７０が容量算出部１３０によって算出された容量の仮想ディスク３０および対応する実ディスク４０を割り当てる仮想ディスク装置割当処理を行う。ここで、仮想ディスク割当部１７０は、最良配置での割当処理を行う最良モードで仮想ディスク装置割当処理を行う（ステップＳ１０２）。
【００６３】
そして、最良配置による割当ができたか否かを判定し（ステップＳ１０３）、最良配置による割当ができた場合には、割当結果をサーバ１に通知する（ステップＳ１０４）。一方、最良配置による割当ができなかった場合には、最低配置での割当処理を行う最低モードで仮想ディスク装置割当処理を行う（ステップＳ１０５）。
【００６４】
そして、最低配置による割当ができたか否かを判定し（ステップＳ１０６）、最低配置による割当ができた場合には、割当結果をサーバ１に通知し（ステップＳ１０４）、最低配置による割当ができなかった場合には、割当失敗をサーバ１に通知する（ステップＳ１０７）。
【００６５】
このように、容量算出部１３０がアプリケーションが必要とする種別毎のデータ領域を特定し、特定した各データ領域の容量を算出し、仮想ディスク割当部１７０が容量算出部１３０によって算出された容量の仮想ディスク３０および対応する実ディスク４０を割り当てることによって、アプリケーションに対するディスク領域の割当を効率良く行うことができる。
【００６６】
次に、ステップＳ１０２およびステップＳ１０５で行う仮想ディスク装置割当処理の処理手順について説明する。図１０は、仮想ディスク装置割当処理の処理手順を示すフローチャートである。なお、この仮想ディスク装置割当処理は、ディスク配置を最良配置とするか最低配置とするかが指定されて起動される。
【００６７】
同図に示すように、この仮想ディスク装置割当処理では、まず、変数ｍの値を「１」に初期化する（ステップＳ２０１）。そして、ディスク装置使用情報記憶部１４０の実ディスク装置未割当管理情報を参照してディスク容量割当関連情報のｍ番目の容量が確保できる実ディスク４０を探す（ステップＳ２０２）。
【００６８】
そして、実ディスク４０が見つかった場合には（ステップＳ２０３、肯定）、ディスク配置に問題があるか否かを調べ（ステップＳ２０４）、問題があるときは、ステップＳ２０２に戻って他の実ディスク４０を探す。
【００６９】
一方、ディスク配置に問題がない場合には、容量、ディスク装置名、論理ユニット番号、開始ＬＢＡ、終了ＬＢＡなどの情報を一時的に記憶し（ステップＳ２０５）、ｍに「１」を加える（ステップＳ２０６）。
【００７０】
そして、ｍがｎより大きいか否か、すなわち、ディスク容量割当関連情報記憶部１５０が記憶する全てのデータ領域に対して実ディスク４０を割り当てることができたか否かを判定し（ステップＳ２０７）、ｍがｎより大きくない場合には、ステップＳ２０２に戻って次のデータ領域に割り当てる実ディスク４０を探す。
【００７１】
一方、ｍがｎより大きい場合、すなわち、ディスク容量割当関連情報記憶部１５０が記憶する全てのデータ領域に対して実ディスク４０を割り当てることができた場合には、ディスク装置使用状況記憶部１４０の実ディスク装置割当管理情報および実ディスク装置未割当管理情報や、仮想ディスク割当情報記憶部１６０が記憶する仮想ディスク割当情報を更新し（ステップＳ２０８）、割当結果を割当成功として戻る（ステップＳ２０９）。
【００７２】
これに対して、実ディスク４０が見つからなかった場合には（ステップＳ２０３、否定）、割当結果を割当失敗として戻る（ステップＳ２１０）。
【００７３】
このように、この仮想ディスク装置割当処理がディスク容量割当関連情報記憶部１５０に記憶されたデータ領域に対して実ディスク４０を割り当て、ディスク装置使用状況記憶部１４０や仮想ディスク割当情報記憶部１６０の情報を更新することによって、実ディスク４０が対応付けられた仮想ディスク３０を割り当てることができる。
【００７４】
上述してきたように、本実施例では、容量算出部１３０が、容量算出情報記憶部１２０に記憶された容量算出情報を用いて、アプリケーションが必要とする種別毎のデータ領域を特定するとともに、特定した各データ領域の容量を算出し、仮想ディスク割当部１７０が容量算出部１３０によって容量が算出されたデータ領域に、実ディスク４０が対応付けられた仮想ディスク３０を割り当てることとしたので、アプリケーションが必要とするディスク領域を効率良く割り当てることができる。
【００７５】
なお、本実施例では、アプリケーションが要求するディスク領域を最初に割り当てる場合について説明したが、割り当てられたディスク領域の使用状況を監視し、所定の割合を超えて使用された場合には、自動的にディスク領域を拡張することもできる。また、あるデータ領域の容量を拡張した場合に、そのデータ領域に関連するデータ領域についても自動的に拡張するようにすることもできる。
【００７６】
例えば、データベースシステムにおいて、データベーススペースの使用されている容量がある閾値を越えた場合に、データベーススペースの容量を拡張するとともに、ディクショナリ、ログファイルなどの容量もデータベーススペースの容量の拡張に比例して拡張することができる。
【００７７】
また、本実施例では、アプリケーションが必要とする種別毎のデータ領域のディスク配置の条件を満たすように実ディスク４０を割り当てる場合について説明したが、データ領域にＲＡＩＤ構成、ファイバーチャネルスイッチとのインタフェースなどの条件を対応させ、これらの条件を満たすように実ディスク４０を割り当てることもできる。
【００７８】
また、本実施例では、主にデータベースソフトウェア５０について説明したが、本発明はこれに限定されるものではなく、バックアップソフトウェア６０などストレージシステムを利用する他のソフトウェアに対しても同様に適用することができる。
【００７９】
また、本実施例では、仮想化ストレージシステムについて説明したが、本発明はこれに限定されるものではなく、仮想化ストレージ技術を用いることなく実ディスク４０を直接割り当てる場合にも同様に適用することができる。
【００８０】
また、本実施例では、ファイバーチャネルスイッチ１０のディスク仮想化部１００について説明したが、本発明はこれに限定されるものではなく、サーバとディスク装置を接続する他の装置にディスク仮想化部を設けることもできる。
【００８１】
また、本実施例では、ファイバーチャネルスイッチ１０のディスク仮想化部１００について説明したが、このディスク仮想化部１００が有する構成をソフトウェアによって実現することで、同様の機能を有するディスク仮想化プログラムを記憶領域割当プログラムの一実施例として得ることができる。そこで、このディスク仮想化プログラムを実行するファイバーチャネルスイッチのハードウェア構成について説明する。
【００８２】
図１１は、本実施例に係るディスク仮想化プログラムを実行するファイバーチャネルスイッチのハードウェア構成を示す図である。同図に示すように、このファイバーチャネルスイッチ２００は、サーバインタフェース２１０と、ＲＯＭ２２０と、ＲＡＭ２３０と、フラッシュメモリ２４０と、ＭＰＵ２５０と、ディスクインタフェース２６０とを有する。
【００８３】
サーバインタフェース２１０は、サーバと通信を行うインタフェースであり、ＲＯＭ２２０は、ディスク仮想化プログラム２２１や図５に示した容量算出情報２２２などを記憶する読み出し専用メモリである。
【００８４】
ＲＡＭ２３０は、ディスク仮想化プログラム２２１の実行途中結果、図６−２に示したディスク装置使用情報２４１、図７に示したディスク容量割当関連情報２４２、図８に示した仮想ディスク割当情報２４３などを記憶するメモリである。
【００８５】
フラッシュメモリ２４０は、ディスク装置使用情報２４１、ディスク割当関連情報２４２、仮想ディスク割当情報２４３などを保存する不揮発性メモリであり、ＭＰＵ２５０は、ＲＯＭ２２０に格納されたプログラムを読み出して実行する処理装置である。ディスクインタフェース２６０は、ディスク装置と通信するためのインタフェースである。
【００８６】
そして、ＲＯＭ２２０に格納されたディスク仮想化プログラム２２１は、ＭＰＵ２５０に読み出されてディスク仮想化タスク２５１として実行される。このとき、フラッシュメモリ２４０に格納されたディスク装置使用情報２４１、ディスク容量割当関連情報２４２、仮想ディスク割当情報２４３はＲＡＭ２３０に読み出されて更新される。
【産業上の利用可能性】
【００８７】
以上のように、本発明に係る記憶領域割当装置、記憶領域割当方法および記憶領域割当プログラムは、ストレージシステムに有用であり、特に、記憶領域の割当が複雑なアプリケーションで利用されるストレージシステムに適している。
【図面の簡単な説明】
【００８８】
【図１】図１は、本実施例に係る仮想化ストレージシステムのシステム構成を示す機能ブロック図である。
【図２】図２は、仮想ディスクと実ディスクの関係を説明するための説明図である。
【図３】図３は、ディスク仮想化部による実ディスクの割当を説明するための説明図である。
【図４】図４は、ディスク仮想化部の構成を示す機能ブロック図である。
【図５】図５は、容量算出情報記憶部が記憶する容量算出情報のデータ構造の一例を示す図である。
【図６−１】図６−１は、実ディスクの使用状況の一例を示す図である。
【図６−２】図６−２は、ディスク装置使用情報記憶部が記憶するディスク装置使用情報の一例を示す図である。
【図７】図７は、ディスク容量割当関連情報記憶部が記憶するディスク容量割当関連情報の一例を示す図である。
【図８】図８は、仮想ディスク割当情報記憶部が記憶する仮想ディスク割当情報のデータ構造の一例を示す図である。
【図９】図９は、ディスク仮想化部による仮想ディスク割当処理の処理手順を示すフローチャートである。
【図１０】図１０は、仮想ディスク装置割当処理の処理手順を示すフローチャートである。
【図１１】図１１は、本実施例に係るディスク仮想化プログラムを実行するファイバーチャネルスイッチのハードウェア構成を示す図である。
【符号の説明】
【００８９】
１，２    サーバ
１０    ファイバーチャネルスイッチ
２１，２２，２３，２４    ストレージ（ディスク装置）
３０    仮想ディスク
４０    実ディスク
５０    データベースソフトウェア
６０    バックアップソフトウェア
１００    ディスク仮想化部
１１０    サーバ通信部
１２０    容量算出情報記憶部
１３０    容量算出部
１４０    ディスク装置使用情報記憶部
１５０    ディスク容量割当関連情報記憶部
１６０    仮想ディスク割当情報記憶部
１７０    仮想ディスク割当部
１８０    ストレージ構成更新部
１９０    マイグレーション部
２００    ファイバーチャネルスイッチ
２１０    サーバインタフェース
２２０    ＲＯＭ
２２１    ディスク仮想化プログラム
２２２    容量算出情報
２３０    ＲＡＭ
２４０    フラッシュメモリ
２４１    ディスク装置使用情報
２４２    ディスク容量割当関連情報
２４３    仮想ディスク割当情報
２５０    ＭＰＵ
２５１    ディスク仮想化タスク
２６０    ディスクインタフェース
【国際調査報告】
2006054334.tif 000014
2006054334.tif 000015
2006054334.tif 000016