JP4690783B2 - ボリューム管理システムおよびその方法 - Google Patents
ボリューム管理システムおよびその方法 Download PDFInfo
- Publication number
- JP4690783B2 JP4690783B2 JP2005167866A JP2005167866A JP4690783B2 JP 4690783 B2 JP4690783 B2 JP 4690783B2 JP 2005167866 A JP2005167866 A JP 2005167866A JP 2005167866 A JP2005167866 A JP 2005167866A JP 4690783 B2 JP4690783 B2 JP 4690783B2
- Authority
- JP
- Japan
- Prior art keywords
- area
- logical
- logical area
- capacity
- file system
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 241
- 238000012545 processing Methods 0.000 claims description 77
- 230000008569 process Effects 0.000 description 236
- 230000008859 change Effects 0.000 description 56
- 238000007726 management method Methods 0.000 description 37
- 230000037430 deletion Effects 0.000 description 14
- 238000001514 detection method Methods 0.000 description 14
- 238000011946 reduction process Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 230000000737 periodic effect Effects 0.000 description 11
- 230000009467 reduction Effects 0.000 description 10
- 238000012217 deletion Methods 0.000 description 9
- 230000008054 signal transmission Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000012508 change request Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000009931 harmful effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Description
従来、記憶領域の拡張などの構成変更を行わせるタイミングとして、ユーザが決めたスケジュールに沿って行う方法(例えば、特許文献1)と、物理的な構成が変化した場合に行う方法(例えば、特許文献2)とがあった。
また、容量を追加・拡張する際にそれに必要な容量が事前に確保されていない場合、ユーザの判断で他の記憶領域から追加・拡張分の容量を取得しなければならないため、ユーザがその容量を意識していなければ、円滑な処理を行いにくい。そのため、記憶容量に関する監視や変更、判断を全て自動で行うことで、ユーザの負担を軽減し、容量不足による弊害を守る必要があった。
図1において、ボリューム管理システムでは、複数のサーバ(計算機ともいう)2が、例えばSAN(Storage Area Network)6を介して、複数のストレージ装置3に接続されている。そして、それらのサーバ2とストレージ装置3の各々は、例えばLAN(Local Area Network)を介して、管理サーバ5に接続されている。ストレージ装置3は、複数の磁気ディスクにより構成される論理領域(記憶領域)を有している。論理領域は、例えば、複数台のディスク装置で形成されたRAID(Redundant Arrays of Independent Disks)グループを論理的に分割して作られた各領域を意味する。
管理サーバ5には、ワークロードボリュームマネージャプログラム(以下単に「マネージャープログラム」という)1が組み込まれているが、詳細は後記する。
以下、管理サーバ5、サーバ2、ストレージ装置3の順に詳述する。
管理サーバ5は、図2に示すように、ネットワークポート52、CPU53、メモリ54を持ち、メモリ54に格納された各種プログラムをCPU53で実行するものである。
メモリ54は、マネージャープログラム1と、ユーザ設定テーブル作成プログラム208と、書き込み領域テーブル作成プログラム209とを格納する。さらにメモリ54は、マスターテーブル101と、ユーザ設定テーブル103と、書き込み領域テーブル105と、書き込み位置テーブル107と、データ対応テーブル109と、ミラーテーブル110とを格納する。
システム情報には、図5に示すように、システムレベル、設定値レベル、上限値レベル、動作内容、およびユーザ設定の情報を持つ。
システムレベルとは、ストレージ装置3に有する論理領域の冗長性の可否を分ける境界値を意味する。論理領域は、一定の大きさをあらわす論理ブロックの集合を意味する。システムレベルには、あらかじめ用意されている複数のレベル(例えば、1〜10)のうちの一つのレベルを示す数値(例えば、3)が入る。このレベルは、冗長性の優先度をあらわすものであり、優先レベルともいう。なお、レベル0は、論理領域に未登録の論理ブロックの集合体である空き領域(ディスクプール)のレベルを指す。つまり、どのサーバ2にも提供していない論理領域のレベルである。レベルの数値が高くなればなるほど、論理領域の冗長を行いにくくなる。
設定値レベルには、システムレベルの下限を示す数値が設定され、また、上限値レベルには、システムレベルの上限を示す数値が設定される。
動作内容は、論理領域に対してどのような構成変更が必要かを示すもので、例えば、書き込み等の種類がある。
ユーザ設定は、後記するユーザ設定テーブル103の内容を反映した状態を示すもので、例えば、完了等がある。
なお、マスターテーブル101内の動作内容の項目には、一種類の内容しか記憶されない。このため、動作内容に新たな値を入れると、前の動作内容の値は上書きされる。
論理領域の名称としては、例えば、unit0、unit1などがある。領域レベルは、当該論理領域のシステムレベルを意味する。論理領域の状態としては、例えば、冗長性の無しを示すミラー無、冗長性の有りを示すミラー有、破損などがある。
使用率は、論理領域の容量に対する、当該論理領域の実使用量の比率を意味する。使用率の閾値は、その使用率をあらかじめ設定したものである。論理領域の容量としては、例えば、30GB、10GBなどがある。
ディスク番号は、ディスク群33(図4参照)に含まれる一のディスクを特定するための番号である。ディスクの容量としては、例えば、5GB、50GBなどがある。
使用開始日、例えば、当該ディスクの使用を開始した年月日を指し、耐久時間は、当該ディスクの耐久時間を意味する。使用時間は、当該ディスクの実使用時間を意味する。
論理ブロック番号は、論理ブロックを特定するためのもので、例えば、ブロック1、ブロック2などがある。利用状況としては、使用中を示すUse、あるいは未使用を示すUnuseがある。
対応する物理ブロック情報は、当該論理ブロックに対応するもので、ディスク番号(図5参照)と物理ブロック番号とマークとを含んで構成されている。物理ブロック番号は、一または複数のディスクから構成される物理ブロックを特定するための番号である。本実施の形態においては、物理ブロックは、論理ブロックと容量が一致するものとして説明するが、双方の容量は異なっていてもよい。
マークには、物理ディスクの利用可能を示す「可」または利用不可を示す「不可」の2種類がある。
ユーザ論理領域情報は、マスターテーブル101の論理領域情報(図5参照)と同様、論理領域の名称、領域レベル、使用率の閾値、および論理領域の容量の情報を持つ。
ユーザディスク情報は、マスターテーブル101のディスク情報(図5参照)と同様、ディスク番号、耐久時間の情報を持つ。
取得期間情報は、定期シグナルの間隔(例えば、1時間)、および使用率変化情報記憶回数(例えば、20回)の情報を持つ。
ミラーテーブル110は、図11に示すように、ミラー元ディスク番号(例えば、Disk1など)、ミラー元物理ブロック番号(例えば、ブロック100など)、ミラー先ディスク番号(例えば、Disk6など)、およびミラー先物理ブロック番号(例えば、ブロック1など)の情報を持つ。
ユーザ設定テーブル作成プログラム208は、ユーザによる入力装置(マウス等)の操作に応じ、ユーザ設定テーブル103を更新する機能を持つ。書き込み領域テーブル作成プログラム209は、ユーザによる操作を通じて書き込み要求や削除要求があった場合、書き込み領域テーブル105を作成する。
次に、サーバ2の構成について詳述する。サーバ2は、図3に示すように、I/Oポート21、ネットワークポート22、CPU23、およびメモリ24を持ち、メモリ24に格納された各種プログラムをCPU23で実行するものである。
メモリ24は、書き込み・削除要求シグナル発信プログラム201と、ユーザ割り込み要求シグナル発信プログラム202と、定期シグナル発信プログラム203と、ユーザ連絡プログラム204と、データ書き込みプログラム205と、データ削除プログラム206とを格納する。
ユーザ割り込み要求シグナル発信プログラム202は、ユーザ割り込み要求シグナルを管理サーバ5のマネージャープログラム1に発信する機能を持つ。定期シグナル発信プログラム203は、管理サーバ5のユーザ設定テーブル103で設定された間隔で定期シグナルを管理サーバ5のマネージャープログラム1に発信する機能を持つ。
データ削除プログラム206は、マネージャープログラム1から書き込み位置テーブル107の内容を受け取った場合、該当データを読み込むようにストレージ装置3に要求する。
次に、ストレージ装置3の構成について詳述する。ストレージ装置3は、図4に示すように、I/Oポート31、ネットワークポート32、一以上のディスクからなるディスク群33、メモリ34、およびCPU35を有し、メモリ34に格納された各プログラムをCPU35で実行するものである。CPU35は、ディスク群33に有する論理領域に対する入出力を制御する。
メモリ34には、ディスク情報テーブル301と、アクセス位置テーブル303と、構成情報テーブル305とが格納されている。また、メモリ34には、書き込みプログラム311と、読み込みプログラム313と、アクセス位置テーブル作成プログラム315と、ディスク情報テーブル作成プログラム317とが格納されている。
アクセス位置テーブル303は、図13に示すように、ディスク番号および物理ブロック番号の情報を持つ。
構成情報テーブル305は、図14に示すように、ディスク番号、物理ブロック番号、論理領域の名称、および論理ブロック番号の対応関係を持つ。
書き込みプログラム311は、サーバ2のデータ書き込みプログラム205(図2参照)から書き込み要求があった場合、要求された論理ブロックに対応する物理ブロックに書き込みを行う機能を持つ。
読み込みプログラム313は、サーバ2のデータ削除プログラム206(図2参照)から読み込み要求があった場合、要求された論理ブロックに対応する物理ブロックに対して読み込みを行う機能を持つ。
アクセス位置テーブル作成プログラム315は、書き込みまたは読み込みを行った後にアクセスした物理ブロックの位置からアクセス位置テーブル303を作成する機能を持つ。
ディスク情報テーブル作成プログラム317は、ディスク群33中のディスクに追加や削除が行われた場合、そのディスクの容量や利用開始日の情報からディスク情報テーブル301を作成し、構成変更シグナルを管理サーバ5のマネージャープログラム1に発信する機能を持つ。
このような構成を持つボリューム管理システムを用いて、容量不足の論理領域に対して容量を追加・拡張して論理領域の冗長性を行い、容量不足を回避しデータの整合等を行う。このとき追加・拡張すべき論理領域の優先順位を決めておき、その順位の高い論理領域の容量を追加・拡張している。本実施の形態では、(1)Unit0の容量、(2)他の論理領域における未使用部分の容量、(3)他の論理領域の冗長性を解除して得られる容量、の順に優先度を低くした。
さらに、論理領域の冗長性の管理方法を説明する。
各論理領域に対し領域レベルを設定し、領域レベルには数値が入る。その値が大きい論理領域から優先的に冗長性を持たせる。論理領域の冗長性の有無を示す境界値としてシステムレベルを設定し、システムレベルには数値が入る。システムレベルの上限として上限値レベル、下限として設定値レベルを設定し、それぞれに数値が入る。冗長性の管理は以下の規則に従って行われる。論理領域の領域レベルの値がシステムレベルの値より小さい場合、該当論理領域の冗長性を解除する。解除することで得た容量はunit0に登録する。論理領域の領域レベルの値が設定値レベルの値以上で、システムレベルより小さい場合、該当論理領域に対して、冗長性を持つような働きを自動で行うため、領域レベルの大きい論理領域から順に以下の処理を行う。冗長性を持たせる予定の該当論理領域に対して、他の論理領域の未使用部分の容量とunit0の容量の両方または片方を利用して該当論理領域に冗長性を持たせ、システムレベルの値を、冗長性を持たせた論理領域の領域レベルの値に変更する。他の論理領域の未使用部分の容量とunit0の容量の両方または片方を利用しても冗長性を持たせるための十分な容量を確保出来ない場合は、該当論理領域に冗長性を持たせない。
次に、容量不足の判断基準について説明する。各論理領域に対して閾値を設定し、閾値には0から100までの数値が入る。各論理領域で使用している論理ブロック数を、各論理領域の全論理ブロック数で割った値に100を掛けた値を使用率とする。使用率の値が閾値の値を超えた場合、その論理領域は容量不足であると判断する。
図15はワークロードボリュームマネージャー処理の概要を示すフローチャートである。まず、ステップ1505では、サーバ2の各種プログラムから発信されたシグナルを取得する情報取得処理(図16参照)を行う。
ステップ1510では、マスターテーブル101等の内容を加工する構成変更データ加工処理(図25参照)を行う。
ステップ1515では、マスターテーブル101のシステム情報の動作内容(図5参照)の値が「限界」かどうかを判定する。判定の結果、「限界」ではない場合(ステップ1515のNo)、ステップ1520に進み、動作内容の値に応じて、ストレージ装置3の構成情報テーブル305の内容を変更する構成変更実行処理(図39参照)を行う。その後、ステップ1505に戻る。
他方、動作内容の値が「限界」の場合(ステップ1515のYes)、その動作内容の値を消し(ステップ1525のYes)、マネージャープログラム1を終了する。
そして、ユーザ設定の値が未完了の場合(ステップ1637のYes)、マスターテーブル101のシステム情報の動作内容(図5参照)に「ユーザ割り込み」の値を入れ(ステップ1640)、他方、完了の場合(ステップ1637のNo)、動作内容(図4参照)に値があるかどうかを判断する(ステップ1645)。その結果、値がある場合(ステップ1645の有る)、情報取得処理を終了し、他方、無い場合(ステップ1645の無い)、ステップ1605に戻る。
ステップ1715では、前記した書き込み・削除シグナルに応じ、マスターテーブル101および書き込み領域テーブル105を参照して、書き込み領域の有無を判断する書き込み領域有無判断処理(図18参照)を行う。この処理の結果、他の論理領域に書き込み容量がある場合(ステップ1715の「他の論理領域に容量有り」)、書き込み・削除シグナル検知処理を終了する。
また、ステップ1715の処理の結果、該当論理領域に書き込み容量がある場合(ステップ1715の「該当論理領域に容量有り」)、ステップ1720に進み、論理領域使用率情報取得処理(図21参照)を行い、その処理の結果、マスターテーブル101の論理領域情報(図5参照)から、当該論理領域の使用率がその閾値より小さいかどうかを判断する(ステップ1725)。その結果、論理領域の使用率が大きい場合(ステップ1725のNo)、マスターテーブル101のシステム情報の動作内容(図5参照)に「書き込み」の値を入れ、ステップ1735に進む。
ステップ1735では、書き込み完了シグナルをサーバ2のユーザ連絡プログラム204に発信し、書き込み・削除シグナル検知処理を終了する。
ステップ1905では、マスターテーブル101のunit0領域の容量を記憶する。
ステップ1910では、マスターテーブル101の論理領域情報(図5参照)から、各論理領域の使用率から未使用容量(未使用の論理領域の容量)を計算する。具体的には、論理領域の名称ごとに、論理領域の容量に(100%−使用率)の値を乗じて未使用容量を算出する。たとえば、使用率が40%、論理領域の容量が10GBの場合、未使用容量は、6GBとなる。
ステップ1915では、マスターテーブル101の論理領域情報(図5参照)から、各論理領域の使用率の閾値から最低確保容量を計算する。具体的には、論理領域の名称ごとに、使用率の閾値で指定された論理領域の容量から、当該論理領域の容量を差し引いた容量をその論理領域の最低確保容量として計算する。たとえば、使用率の閾値が90%、論理領域の容量が10GBの場合、その論理領域の最低確保容量は、1GBとなる。
ステップ1920では、各論理領域の未使用容量から最低確保容量を引いて合計する。この合計値が、各論理領域についての利用可能な提供量となる。ただし、ミラー化されている場合はミラー化の重複度分掛け算をして前記提供量を求める。たとえば、二重化されていれば提供量を2倍して利用可能な提供量とし、三重化されていれば、提供量を3倍して利用可能な提供量とする。
ステップ1925では、前記した合計値、すなわち各論理領域の提供量と、ステップ1905で記憶したunit0の領域の容量とを合計したものを利用可能量として出し、利用可能量計算処理を終了する。
ステップ2005では、マスターテーブル101を参照し、システムレベル以上で、かつ上限レベル未満の領域レベルを持つ論理領域でミラー化している領域を記憶する。たとえば、図5では、システム情報のシステムレベルが3、上限レベルが8、3以上8未満のレベルを持つunit3の論理領域がミラー化しているので(論理領域情報の論理領域の名称、領域レベル、論理領域の状態を参照)、unit3の領域をメモリ54に記憶することになる。
ステップ2015では、マスターテーブル101の論理領域情報(図5参照)を参照し、各論理領域の使用率の閾値から最低確保容量の重複分(ミラー先の論理領域の最低確保容量分)を合計する。
ステップ2020では、システムレベルと上限値レベルの間にある論理領域の使用容量と最低確保容量を、ミラーで重複している分を合計し、この値を使用可能総量として利用可能総量計算処理を終了する。
ステップ2105では、マスターテーブル101のブロック対応情報(図6参照)を読み込む。
ステップ2110では、ブロック対応情報に含まれる各論理領域の名称ごとに論理ブロック番号で指定された値を参照して、各論理領域のブロック数を数える。たとえば、unit1の論理ブロック番号がブロック1からブロック10まであった場合、unit1のブロック数は10となる。
ステップ2120では、前記した使用中のブロック数と、マスターテーブル101の論理領域情報の論理領域の容量(図5参照)とから、各論理領域の使用率を計算する。具体的には、論理領域ごとに、使用中のブロック数にあらかじめ設定された容量を乗じ、当該論理領域の容量に対するその合計値の比率を計算する。
ステップ2125では、計算した各論理領域の使用率をマスターテーブル101に反映する。
ステップ2205では、書き込み領域テーブル作成プログラム209から書き込み領域テーブル105(図8参照)を受け取る。
ステップ2210では、書き込み領域テーブル105のWrite/DeleteのWriteに対応する論理領域の名称で指定された論理領域(例えば、unit4)内の書き込み位置を決定し、書き込み位置テーブル107(図9参照)を作成後、その内容をサーバ2のデータ書き込みプログラム205に送る。書き込み位置の決定は、対応する論理領域内の未使用の論理ブロック番号(利用状況がUnuseを示すもの)をマスターテーブル101のブロック対応情報(図6参照)から選び出して決定する。
ステップ2220では、ストレージ装置3(CPU35を指す)が前記要求に従ってデータを書き込み、アクセス位置テーブル303(図13参照)を作成する。ストレージ装置3は、データを書き込む際、書き込み要求で指定された論理領域の名称と論理ブロック番号とに対応する、ディスク番号(例えば、disk4)と物理ブロック番号(例えば、ブロック1)とを構成情報テーブル305(図14参照)から読み出し、それらに対応するディスクに対する書き込みを行う。このとき、読み出されたディスク番号と物理ブロック番号の組がアクセス位置テーブル303(図13参照)にエントリーされる。
ステップ2230では、受け取ったアクセス位置テーブル303(図13参照)から、マスターテーブル101のアクセスのあった物理ブロックの所属する論理ブロックを使用中にする。具体的には、アクセス位置テーブル303から、ディスク番号と物理ブロック番号の組を読み出し、その組に対応する論理領域の名称と論理ブロック番号とを含むレコードをマスターテーブル101のブロック対応情報(図6参照)から特定し、そのレコードの利用状況にUseの値を入れる。
ステップ2235では、アクセス位置テーブル303(図13参照)の内容をデータ対応テーブル109(図10参照)に反映する。具体的には、アクセス位置テーブル303のディスク番号と物理ブロック番号の組の各値を、該当データのデータ名に対応付けてデータ対応テーブル109に登録する。以上で、データ書き込み処理を終了する。
ステップ2305では、書き込み領域テーブル作成プログラム209から書き込み領域テーブル105(図8参照)を受け取る。具体的には、書き込み領域テーブル105のWrite/DeleteのDeleteに対応する論理領域の名称で指定された論理領域の名称(例えば、unit2等)と、データ名(例えば、データB等)との各値を受け取る。
ステップ2310では、データ対応テーブル109(図10参照)から、該当データ(例えば、データB)に対応する論理ブロック(論理領域の名称、論理ブロック番号)を記憶し、書き込み位置テーブル107(図9参照)を作成後、サーバ2のデータ削除プログラム206に読み出し要求を出す。作成後の書き込み位置テーブル107には、Write/read、データ名、論理領域の名称、および論理ブロック番号にそれぞれ、対応する値が入れられる。論理ブロック番号は、データ対応テーブル109(図10参照)のデータ名および論理領域の名称(いずれも書き込み領域テーブル105から受け取った値)に対応する値である。
ステップ2320では、ストレージ装置3が前記要求に従ってデータを読み込み、アクセス位置テーブル303(図13参照)を作成する。ストレージ装置3は、データを読み込む際、読み込み要求で指定された論理領域の名称と論理ブロック番号とに対応する、ディスク番号(例えば、disk3)と物理ブロック番号(例えば、ブロック501)とを構成情報テーブル305(図14参照)から読み出し、それらに対応するディスクに対する読み込みを行う。そして、このときに読み出されたディスク番号と物理ブロック番号の組がアクセス位置テーブル303(図13参照)にエントリーされる。
ステップ2330では、アクセス位置テーブル303に登録している物理ブロックに対応する論理ブロックをマスターテーブル101上で未使用にする。具体的には、アクセス位置テーブル303から、ディスク番号と物理ブロック番号の組を読み出し、その組に対応する論理領域の名称と論理ブロック番号とを含むブロック対応情報(図6参照)のレコードをマスターテーブル101から特定し、そのレコードの利用状況にUnuseの値を入れる。
ステップ2335では、未使用とした論理ブロックに対応する論理領域の名称と論理ブロック番号の組の値に基づいて、データ対応テーブル109(図10参照)の該当データ名と論理ブロック(論理領域の名称、論理ブロック番号)との値を削除する。以上で、データの削除処理を終了する。
ステップ2405では、ストレージ装置3から、ディスク情報テーブル301(図12参照)を取得する。具体的には、ストレージ装置3のディスク情報テーブル作成プログラム317から、ディスク情報テーブル301をLANを介して取得する。
ステップ2410では、ディスク情報テーブル301をマスターテーブル101(図5参照)に反映する。具体的には、ディスク情報テーブル301(図12参照)のディスク番号と、ディスクの容量と、利用開始時との各値をマスターテーブル101のディスク情報(図5参照)の対応する項目に値を登録する。
ステップ2415では、マスターテーブル101のシステム情報の動作内容に「構成変更」の値を入れる。以上で、構成変更シグナル検知処理を終了する。
ステップ2505では、ユーザ設定テーブル103を読み込む。
ステップ2510では、マスターテーブル101を読み込む。
ステップ2510Aでは、ユーザ設定テーブル103に対応するマスターテーブル101のシステム情報の動作内容(図5参照)の値が「ユーザ割り込み」かどうかを判定する。
判定の結果、「ユーザ割り込み」ではない場合は(ステップ2510AのNo)、ステップ2525に進み、他方、「ユーザ割り込み」の場合は(ステップ2510AのYes)、その動作内容の値を消して(ステップ2515)、ユーザ設定テーブル反映処理を実行し(ステップ2520)、ステップ2525に進む。
ステップ2545では、動作内容の値が設定されている場合は(ステップ2545のYes)、構成変更データ加工処理を終了し、他方、動作内容に値が設定されていない場合(ステップ2545のNo)、システムレベル情報取得処理(図38参照)を実行し(ステップ2550)、構成変更データ加工処理を終了する。
ステップ2605では、マスターテーブル101とユーザ設定テーブル103の各項を比較し、マスターテーブル101とユーザ設定テーブル103との各領域レベル(図5、図7参照)が変更されたかどうかを判断する。その結果、領域レベルが変更された場合(ステップ2605のYes)は、レベル設定処理を実行して(ステップ2610)ステップ2660に進み、他方、変更されなかった場合(ステップ2605のNo)は、マスターテーブル101とユーザ設定テーブル103との各使用率の閾値(図5、図7参照)が変更されたかどうかを判断する(ステップ2615)。
ステップ2660では、マスターテーブル101のシステム情報のユーザ設定(図5参照)を未完了にする。以上で、ユーザ設定テーブル反映処理を終了する。
ステップ2705では、前記した利用可能総量(図20参照)を仮利用可能総量として記憶する。
ステップ2710では、マスターテーブル101の領域レベルがユーザ設定テーブル103の領域レベルよりも大きい論理領域があるかどうかを判断し、その結果、それがある場合(ステップ2710のYes)、該当する論理領域の名称を全て記憶し(ステップ2715)、論理領域レベル低下判定処理を実行して(ステップ2720)ステップ2725に進む。他方、無ければ(ステップ2710のNo)、ステップ2725に進む。
ステップ2740では、マスターテーブル101の動作内容の値が「設定不可」かどうか判定し、判定の結果、「設定不可」でない場合は(ステップ2740のNo)、ユーザ設定テーブル103の領域レベルをマスターテーブル101に反映させる。その後、レベル設定処理を終了する。
他方、動作内容の値が「設定不可」の場合は(ステップ2740のYes)、レベル設定処理を終了する。
ステップ2805では、ステップ2715(図27参照)で論理領域の名称を記憶した中で領域レベルが最大の論理領域の名称を読み込む。
ステップ2810では、読み込んだ論理領域の名称に対応する論理領域の領域レベルが、マスターテーブル101のシステムレベル(図5参照)未満かどうかを判定し、判定の結果、領域レベルがシステムレベル以上の場合は(ステップ2810のNo)、ステップ2825に進む。他方、領域レベルがシステムレベル未満の場合(ステップ2810のYes)、マスターテーブル101の動作内容(図5参照)の値を「ミラーレベル」にして(ステップ2815)、仮利用可能総量に該当論理領域分の大きさを加え、ステップ2825に進む。
ステップ2825では、記憶している論理領域の名称があるか判定(すべての論理領域の名称に対する処理を実行したかどうかということ)し、判定の結果、それがある場合は(ステップ2825のYes)、次に領域レベルの大きい論理領域の名称を読み込む(ステップ2830)。他方、記憶している論理領域の名称が無くなった場合は(ステップ2825のNo)、領域レベル低下判定処理を終了する。
ステップ2905では、ステップ2730で論理領域の名称を記憶した中で領域レベルが最大の論理領域の名称を読み込む。
ステップ2910では、読み込んだ論理領域の名称に対応する、マスターテーブル101の領域レベル(図5参照)が、システムレベル未満かどうかを判定し、判定の結果、システムレベル未満で(ステップ2910のYes)、かつ、ユーザ設定テーブル103の領域レベル(図7参照)がマスターテーブル101のシステムレベル以上の場合(ステップ2915のYes)、ステップ2920に進む。
ステップ2920において、読み込んだ論理領域の名称に関し、ユーザ設定テーブル103の領域レベルが、マスターテーブル101の上限値レベル以上で(ステップ2920のYes)、かつ、仮利用可能総量よりも当該論理領域の容量が大きい場合(ステップ2925のYes)、マスターテーブル101の動作内容(図5参照)の値を「設定不可」にして(ステップ2945)、領域レベル上昇判定処理を終了する。
ステップ2930では、当該論理領域の大きさ分を仮利用可能総量から引き、マスターテーブル101の動作内容(図5参照)に「ミラーレベル」に入れて(ステップ2935)、ステップ2940に進む。
ステップ2940では、記憶している他の論理領域の名称があるかを判定し、判定の結果、それがある場合は(ステップ2940のYes)、次に領域レベルの大きい論理領域の名称を読み込み(ステップ2950)、ステップ2910に戻って、次に論理レベルが大きい論理領域の名称に関する処理を同様に行う。他方、他の論理領域の名称が無い場合は(ステップ2940のNo)、領域レベル上昇判定処理を終了する。
ステップ3005では、ユーザ設定テーブル103(図7参照)の閾値を変更した論理領域の名称を記憶する。
ステップ3010では、記憶した論理領域の中で閾値の大きい論理領域の名称を読み込む。
ステップ3015では、ユーザ設定(ユーザ設定テーブル103)の閾値がマスターテーブル101の使用率(図4参照:現在のもの)より小さい場合は(ステップ3015のNo)、マスターテーブル101の動作内容の値に「設定不可」を入れて(ステップ3035)、閾値設定処理を終了する。他方、当該閾値が大きい場合は(ステップ3015の
Yes)、次の論理領域(閾値が次に大きい論理領域の名称)があれば(ステップ3020のYes)、次の論理領域を読み込んで(ステップ3025)、ステップ3015に戻って、当該論理領域に関する処理を同様に行う。このようにして、すべての論理領域についての処理を実行し、それが無くなったら(ステップ3020のNo)、ユーザ設定テーブル103の閾値をマスターテーブル101の使用率の閾値に反映して(ステップ3030)、閾値設定処理を終了する。
ステップ3105では、ユーザ設定テーブル103の耐久時間をマスターテーブル101のディスク情報の耐久時間(図5参照)に反映して、耐久時間設定処理を終了する。
ステップ3205では、前記した利用可能量(図19参照)を仮利用可能量として記憶する。
ステップ3210では、論理領域の容量を減らしている論理領域があるか判定し、無い場合は(ステップ3210のNo)、ステップ3225に進み、他方、有る場合は(ステップ3210のYes)、該当する論理領域の名称をすべて記憶し(ステップ3215)、容量減少処理(図33参照)を実行する(ステップ3220)。
ステップ3225では、論理領域の容量を増やしている論理領域があるか判定し、無い場合は(ステップ3225のNo)、ステップ3240に進み、他方、有る場合は(ステップ3225のYes)、該当する論理領域の名称をすべて記憶し(ステップ3230)、容量増加処理(図34参照)を実行する(ステップ3235)。
ステップ3240では、マスターテーブル101の動作内容(図5参照)の値が「設定不可」かどうかを判定し、「設定不可」の場合は(ステップ3240のYes)、容量変更処理を終了し、他方、「設定不可」でない場合は(ステップ3240のNo)、ユーザの設定したユーザ設定テーブル103(図7参照)の論理領域の容量をマスターテーブル101に反映し(ステップ3245)、マスターテーブル101(図5参照)の動作内容の値に「容量変更」を入れて(ステップ3250)、容量変更処理を終了する。
ステップ3305では、ステップ3215(図32参照)で論理領域の名称を記憶した中で領域レベルが最大の論理領域の名称をユーザ設定テーブル103(図7参照)から読み込む。
ステップ3310では、読み込んだ論理領域の名称に関し、当該論理領域の現在の使用容量(マスターテーブル101の使用率から算出したもの)と、ユーザ設定テーブル103に設定された論理領域の容量とその閾値とから求められる論理領域の容量(設定後の容量と閾値から求められる容量:設定後の容量ともいう)とを比較する。比較の結果、現在の使用容量が、求められる容量より大きい場合は(ステップ3310のYes)、マスターテーブル101の動作内容の値に「設定不可」を入れて(ステップ3330)、容量減少処理を終了する。
他方、現在の使用容量が小さい場合は(ステップ3310のNo)、前記した仮利用可能量に論理領域の容量の減少分(現在の使用容量と設定後の容量との差分値)を足す(ステップ3315)。
ステップ3320では、記憶した論理領域の名称が有るかどうか判定し、有れば(ステップ3320のYes)、次に領域レベルの高い論理領域の名称を読み込み(ステップ3325)、ステップ3310に進み、その論理領域に関する処理を実行する。他方、記憶した論理領域の名称が無い場合(ステップ3320のNo)、容量減少処理を終了する。
ステップ3405では、ステップ3215(図32参照)で論理領域の名称を記憶した中で領域レベルの最大の論理領域の名称をユーザ設定テーブル103から読み込む。
ステップ3410では、読み込んだ論理領域の名称に関し、マスターテーブル101の論理領域の容量とユーザ設定テーブル103の論理領域の容量を比較し、論理領域の容量の増加分が、仮利用可能量より大きいか判定する。その結果、大きい場合は(ステップ3410のYes)、マスターテーブル101の動作内容の値に「設定不可」を入れ(ステップ3430)、容量増加処理を終了する。他方、前記した増加分が小さい場合は(ステップ3410のNo)、仮利用可能量からその論理領域の増加分を引いて(ステップ3415)、ステップ3420に進む。
ステップ3420では、記憶した論理領域の名称があるかどうかを判定し、あれば(ステップ3420のYes)、次の領域レベル(高いもの)の論理領域の名称を読み込み(ステップ3425)、ステップ3410に進み、その論理領域に関する処理を実行する。他方、記憶した論理領域の名称がない場合(ステップ3420のNo)、容量増加処理を終了する。
ステップ3505では、ステップ2645のYes(図26参照)を受け、ユーザ設定テーブル103(図7参照)の新規領域(論理領域の容量)が利用可能量よりも大きい場合(ステップ3505のYes)、当該新規領域の容量を前記利用可能量に書き換え(ステップ3510)、ユーザ設定テーブル103の新規領域のデータ(ユーザ論理領域情報の各値、ユーザディスク情報の各値)をマスターテーブル101(図5、図6参照)に反映し(ステップ3515)、マスターテーブル101の動作内容(図5参照)の値に「新規作成」を入れ(ステップ3520)、新規領域設定処理を終了する。
ステップ3605では、マスターテーブル101のディスク情報(図5参照)から、ディスク番号の一番小さいディスクの情報(使用開始、耐久時間、使用時間の各値)を読み込む。
ステップ3610では、読み込んだディスクの情報中の使用開始で示されたディスク使用開始時刻からディスクの使用時間(現在までの累計)を計算する。
該当ディスクの耐久時間を超えて使用され(ステップ3615のYes)、かつ、該当ディスクにunit0以外の論理領域が有り(ステップ3620のYes)、さらにその論理領域がミラー化されていない場合は(ステップ3625のYes)、マスターテーブル101の該当論理領域の領域レベルを上限値レベルの一つ下(例えば、5→4)に変更する(ステップ3630)。
ステップ3635では、マスターテーブル101の動作内容の値に「ミラーレベル」を入れて、ステップ3640に進む。なお、ステップ3615、ステップ3620またはステップ3625でNoの場合も、ステップ3640に進む。
ステップ3640では、マスターテーブル101のディスク情報に次のディスクが無いかどうかを判定し(ステップ3640)、あれば(ステップ3640のYes)、ステップ3610に進み、次の番号のディスクに関する処理を実行し、他方、無ければ(ステップ3640のNo)、ディスク使用時間計算処理を終了する。
ステップ3705では、マスターテーブル101の使用率変化情報(図6参照)が、ユーザ設定テーブル103で指定した回数分(つまり、ユーザが設定した回数分)登録されているかを判定し、有れば(ステップ3705のYes)、マスターテーブル101の使用率変化情報から最初に取ったデータ、すなわち以前登録したマスターテーブル101の使用率の値を削除し、ステップ3715に進む。他方、無ければ(ステップ3705のNo)、ステップ3715に進む。
ステップ3715では、マスターテーブル101の使用率を使用率変化情報の値に反映させる(マスターテーブル101の使用率を使用率変化情報に加えるともいう)。以上で、本処理を終了する。
ステップ3805では、設定値レベル以上にミラー化されていない論理領域があるかどうかを判定する。具体的には、マスターテーブル101の領域レベルが設定値レベル以上で、かつマスターテーブル101の論理領域の状態がミラー無を示している論理領域の名称があるかどうかを判定する。その結果、そのような論理領域があれば(ステップ3805のYes)、マスターテーブル101の動作内容の値に「ミラーレベル」を入れる(ステップ3815)。
他方、無ければ(ステップ3805のNo)、システムレベル未満にミラー化されている論理領域があるかどうかを判定する(ステップ3810)。具体的には、マスターテーブル101の領域レベルがシステムレベル未満で、かつマスターテーブル101の論理領域の状態がミラー有を示している論理領域の名称があるかどうかを判定する。その結果、そのような論理領域があれば(ステップ3810のYes)、ステップ3815に進み、他方、なければ(ステップ3810のNo)、本処理を終了する。
ステップ3905では、マスターテーブル101を読み込む。
ステップ3910では、マスターテーブル101の動作内容の値がどれかを判定し、「緊急」の場合は緊急動作処理(図40参照)を実行し(ステップ3915)、「不足」の場合は不足動作処理(図41参照)を実行する(ステップ3920)。
「書き込み」の場合は、書き込み動作処理(図42参照)を実行し(ステップ3925)、「ミラーレベル」の場合は、ミラーレベル処理(図43参照)を実行する(3930)。
「新規作成」の場合は、新規作成動作処理(図46参照)を実行し(ステップ3935)、「構成変更」の場合は、構成変更動作処理(図47参照)を実行する(ステップ3940)。
「容量変更」の場合は、容量変更動作処理(図50参照)を実行し(ステップ3945)、「設定不可」の場合は、マスターテーブル101の動作内容の値を消す(ステップ3955)。このように動作内容の各値に従って実行した後、構成変更実行処理を終了する。
ステップ4005では、マスターテーブル101の動作内容の値を「ミラーレベル」に変更する。
ステップ4010では、その後、書き込み領域テーブル105(図8参照)を読み込み、そのテーブル105の論理領域の名称に書き込む論理領域(例えば、XX)を記憶する。
ステップ4015では、データの大きさから、書き込みに必要な論理領域のブロック数を計算する。
ステップ4020では、マスターテーブル101のブロック対応情報(図6参照)を参照し、各論理領域の未使用ブロック(利用状況がUnuseの論理ブロック番号分)を利用可能な数だけ、マスターテーブル101のブロック対応情報のunit0に登録する。
ステップ4030では、マスターテーブル101の内容をストレージ装置3の構成情報テーブル305(図14参照)に反映させる。具体的には、管理サーバ5が、マスターテーブル101の内容をLANを介して、ストレージ装置3に送信し、ストレージ装置3が、その内容に構成情報テーブル305の内容に更新する。
ステップ4035では、マスターテーブル101のunit0の論理ブロック番号のブロックを必要分数、書き込み位置テーブル107に登録する。
ステップ4040では、サーバ2のデータ書き込みプログラム205と、ストレージ装置3の処理(書き込みプログラム311とアクセス位置テーブル作成プログラム315)が終わるのを待つ。
ステップ4055では、たとえばUnitXX(論理領域の名称)がミラー化されているかどうかを判定し、ミラー化されていれば(ステップ4055のYes)、当該論理領域のミラーを解除し、マスターテーブル101に反映する(ステップ4060)。ミラー化の判定では、マスターテーブル101の論理領域(UnitXX)の状態がミラー有を示していれば、ミラー化されていると判定する。
ステップ4075では、マスターテーブル101の内容をストレージ装置3の構成情報テーブル305に反映させ、書き込み完了シグナルをサーバ2のユーザ連絡プログラム204に発信し、緊急動作処理を終了する。
ステップ4105では、マスターテーブル101の動作内容の値を消し、ステップ4110では、書き込み領域テーブル105を読み込み、そのテーブル105の論理領域の名称に書き込む論理領域(たとえば、unitXX)を記憶する。
ステップ4115では、データの大きさから、書き込みに必要な論理領域のブロック数を計算する。
ステップ4120では、マスターテーブル101のブロック対応情報(図6参照)を参照し、他の論理領域の未使用ブロック(利用状況がUnuseの論理ブロック番号)を利用可能な数分、マスターテーブル101のブロック対応情報のunit0に登録する。
ステップ4130では、マスターテーブル101のunit0の論理ブロック番号のブロックを必要な分だけ、書き込み位置テーブル107に登録し、サーバ2のデータ書き込みプログラム205に書き込み要求を出す。
ステップ4135では、サーバ2のデータ書き込みプログラム205と、ストレージ装置3の処理(書き込みプログラム311とアクセス位置テーブル作成プログラム315)が終わるまで待ち、それが終わると、ストレージ装置3からアクセス位置テーブル303をLANを介して受け取る(ステップ4140)。
ステップ4145では、アクセス位置テーブル303からマスターテーブル101へのアクセスがあったブロックを、たとえばUnitXXの論理領域の名称に対応付けて、マスターテーブル101に登録し、その利用状況を使用中(Use)にする。
ステップ4160では、マスターテーブル101に追加された論理ブロック情報(論理ブロック番号の値)とその論理領域の名称との組を記憶し、その組の各値と書き込み領域テーブル105のデータ名とをデータ対応テーブル109に追加して反映する(ステップ4165)。
ステップ4170では、マスターテーブル101の内容をストレージ装置3の構成情報テーブル305に反映させ、ステップ4175では、書き込み完了シグナルをサーバ2のユーザ連絡プログラム204に発信し、不足動作処理を終了する。
ステップ4205では、マスターテーブル101(図5参照)の使用率がその閾値を超えた論理領域の名称を記憶し、ステップ4210では、マスターテーブル101の使用率変化情報(図6参照)から、該当論理領域の過去の使用率変化を読み込む。
ステップ4215では、使用率変化から、構成変更後における該当論理領域に追加する容量の大きさを要求量(容量増加要求量ともいう)として決定する。つまり、増加される論理領域の容量を予測する。たとえば、使用率変化情報(図6参照)を参照し、測定期間中の使用率の変化の割合を求めて、同じ期間経過した時の増加分を要求量にする。図6では、unit4は、前回から現在までの間に25%(95%−70%)増加しているので、この25%の増加分を見込んで要求量としてもよい。
ステップ4240では、マスターテーブル101の内容をストレージ装置3に送信して、ストレージ装置3の構成情報テーブル305に反映させる。
ステップ4245では、その後、マスターテーブル101の動作内容の値を消して、書き込み動作処理を終了する。
ステップ4305では、マスターテーブル101の論理領域情報を参照し、システムレベル未満でミラー化されている論理領域があれば(ステップ4305のYes)、ステップ4310に進む。
ステップ4310では、システムレベル未満でミラー化されている論理領域について、マスターテーブル101のミラー先物理ブロック番号に対応する論理領域をunit0に登録し、ミラー化されているマスターテーブル101の論理領域の状態をミラー無しにする。具体的には、当該論理領域に対応する、ミラー先物理ブロック番号とミラー先ディスク番号との組をマスターテーブル101(図5参照)およびミラーテーブル110(図11参照)から読み出し、その組に対応する論理領域をunit0としてマスターテーブル101に登録する。
ステップ4305Aでは、システムレベル未満でミラー化されている論理領域があるか判定し、有る場合は(ステップ4305AのYes)、ステップ4310に戻り、他方、無い場合(ステップ4305AのNo)は、上限値レベル以上でミラー化されていない論理領域があるかを判定する(ステップ4325)。
上限値レベル以上の論理領域が全てミラー化されている場合は(ステップ4325のNo)、ステップ4335に進み、そのような論理領域が有る場合は(ステップ4325のYes)、ミラーレベル緊急シグナルをサーバ2のユーザ連絡プログラム204に発信し(ステップ4330)、ステップ4335に進む。
ステップ4335では、マスターテーブル101の内容をストレージ装置3に送信し、ストレージ装置3の構成情報テーブル305に反映させる。その後、ステップ4340では、マスターテーブル101の動作内容の値を消し、ミラーレベル動作処理を終了する。
ステップ4410では、設定値レベル以上でミラー化されていない論理領域を例えば領域群Aとすると、その領域群Aの中で、マスターテーブル101の領域レベルが最大の論理領域を、例えば領域aとして記憶する。
ステップ4415では、領域aが使用しているディスクを、例えばディスク群Bとすると、そのディスク群Bの中で最も多く領域aの物理ブロックを割り当てているディスクを、例えばディスクbとして記憶する。なお、ディスク群Bは、マスターテーブル101のブロック対応情報をもとに、領域aに対応するディスク番号を特定して選定する。
ステップ4420では、領域aかつディスクbの物理ブロックを例えばブロック群Cとして記憶し、ブロック群Cのブロック数を、例えばMとして記憶する。ブロック群Cのブロック数は、領域aに対応する物理ブロック番号と、ディスクbに対応する物理ブロック番号とをマスターテーブル101から選定し、それらを合算した値である。
ステップ4435では、領域dの未使用ブロック(未使用の物理ブロック)をブロック群Eとして記憶し、ステップ4437では、そのブロック群Eの物理ブロック数Nを計算する。
ステップ4440では、領域dの使用率の閾値(図5参照)から利用可能な物理ブロック数nを計算する。
ステップ4445では、ブロック群Eの物理ブロックでミラーを構築できるか判定するために、物理ブロック数Nからブロック群Eでディスクbの物理ブロック数を引いた数が物理ブロック数nより大きいか判定する。その結果、大きい場合は(ステップ4445のYes)、ステップ4455に進む。他方、小さい場合は(ステップ4445のNo)、物理ブロック数Nからブロック群Eでディスクbの物理ブロック数を引いた数を物理ブロック数nの値として(ステップ4450)、ステップ4455に進む。
ステップ4455では、ブロック群Cの物理ブロックをミラー元の物理ブロックと、ブロック群Eかつディスクb以外の物理ブロックをミラー先のブロックとしてミラーテーブル110(図11参照)に登録する。
ステップ4460では、ミラーを行う必要のある物理ブロックがあるか判定するために、物理ブロック数Mから物理ブロック数nを引いた数が負かどうかを判定し、正の場合は、図45のステップ4505に進み、負の場合は、図45のステップ4540に進む。
図45のステップ4515では、領域群Dの中で、領域dの次に領域レベルの低い論理領域があれば(ステップ4515のある)、ステップ4520に進み、領域群Dの中で領域dの次に領域レベルが低い論理領域を領域dとし、図44のステップ4420に戻る。
他方、図45のステップ4515において、領域レベルの低い論理領域が無ければ(ステップ4515のない)、ステップ4525では、ミラーテーブル(図11参照)の内容をクリアし、ステップ4530に進む。
ステップ4530では、領域aの領域レベルが、マスターテーブル101の上限値レベル以上かを判定し、上限値レベル以上の場合は(ステップ4530のYes)、ステップ4535では、システムレベルを上限値レベルの値にして、ミラー作成処理を終了する。
他方、領域aが上限値レベル未満の場合は(ステップ4530のNo)、ステップ4575では、システムレベルとして領域aの領域レベルより1大きい値をマスターテーブル101に登録し、ミラー作成処理を終了する。
ステップ4555では、ミラーテーブル110の内容をマスターテーブル101に反映させる。具体的には、マスターテーブル101の論理領域の状態を含む論理領域情報等の値を整合させる。
ステップ4557では、マスターテーブル101の領域aの論理領域の状態(図5参照)をミラー有りに変更し、ステップ4560に進む。
ステップ4560では、マスターテーブル101を参照し、領域群Aで領域aの次に領域レベルの高い論理領域があるかを判定し、ある場合は(ステップ4560のある)、その論理領域を領域aとして(ステップ4565)、図44のステップ4415に戻る。他方、無い場合は(ステップ4560のない)、システムレベルとして設定値レベルをマスターテーブル101に登録し(ステップ4570)、ミラー作成処理を終了する。
ステップ4605では、作成する論理領域(該当論理領域ともいう)の名称を記憶し、ステップ4610では、作成する論理領域の容量を記憶する。
ステップ4615では、マスターテーブル101を参照し、該当論理領域の容量がunit0より大きいか判定し、大きい場合は(ステップ4615のYes)、unit0の論理ブロックを全て該当論理領域に割り当てる(ステップ4625)。ステップ4630では、作成要求された論理領域の容量分の要求量からunit0の分だけ引き、ステップ4635では、要求量を満たすように領域レベルの低いほうからマスターテーブル101の未使用ブロックを割り当て、ステップ4640では、容量不足シグナルをサーバ2のユーザ連絡プログラム204に送り、ステップ4645に進む。
ステップ4645では、マスターテーブル101の内容をストレージ装置3に送信し、そのテーブル101の内容をストレージ装置3の構成情報テーブル305に反映させた後、マスターテーブル101の動作内容の値を「ミラーレベル」に変更し、新規作成動作処理を終了する。
ステップ4703では、マスターテーブル101の動作内容の値を消し、ステップ4705では、ユーザによってディスク(耐久時間が超過したものに代わるもの)が追加されたのかどうかを判定する。その結果、追加された場合(ステップ4705のYes)、ディスク増加処理(図48参照)を実行し(ステップ4710)、ユーザによってディスク(耐久時間が超過したもの)が取り外された場合(ステップ4705のNo)、ディスク減少処理(図49参照)を実行する(ステップ4715)。その後、ステップ4720では、マスターテーブル101の内容をストレージ装置3に送信し、その内容をストレージ装置3の構成情報テーブル305(図14参照)に反映させ、構成変更動作処理を終了する。
ステップ4805では、追加された該当ディスクの容量を全てunit0としてマスターテーブル101に反映し、ステップ4810では、ユーザ設定テーブル103の領域レベルをマスターテーブル101に反映し、ディスク増加処理を終了する。
ステップ4905では、該当ディスクに所属する物理ブロックに関し、マスターテーブル101のマーク(図6参照)の部分に不可マークをつけ、以降、不可マークのついた物理ブロックに対して以下の処理を行う。
マスターテーブル101を参照して、不可マークのついた物理ブロックを持つ論理ブロックがミラー化されているかを判定し(ステップ4910)、ミラー化されていれば(ステップ4910のYes)、ステップ4915に進み、他方、ミラー化されていなければ(ステップ4910のNo)、ステップ4935に進む。
ステップ4915では、該当物理ブロックの所属する論理領域を記憶し、ステップ4920では、その該当する論理領域のミラーを解除し(マスターテーブル101の論理領域の状態をミラー無にする)、ステップ4925では、解除された物理ブロックをunit0に割り当て、ステップ4930では、マスターテーブル101の動作内容の値を「ミラーレベル」にする。
ステップ5005では、容量を減少させる論理領域(該当論理領域ともいう)の名称を記憶し、ステップ5010では、その記憶した中で領域レベルの最大の論理領域をマスターテーブル101から読み込む。
ステップ5015では、マスターテーブル101の該当論理領域に割り当てられている
未使用ブロック(論理ブロックに対応する物理ブロック)の減少分だけ、unit0に割り当てる。
ステップ5020では、前記読み込んだ論理領域の中で、他に減少させる論理領域があるかを判定し、他にあれば(ステップ5020のYes)、次に領域レベルの大きい論理領域を選定して進み(ステップ5025)、その論理領域に関するステップ5020の処理を行う。他方、論理領域が無ければ(ステップ5020のNo)、容量を増加させる論理領域を記憶する(ステップ5030)。
ステップ5040では、前記記憶した中で領域レベルの最大の論理領域を読み込み、その論理領域について、増加分はunit0だけで足りるか判定し、足りない場合は(ステップ5040のNo)、マスターテーブル101の各論理領域の未使用ブロック(未使用の論理ブロック)を利用可能分、unit0に割り当て(ステップ5045)、ステップ5050に進む。他方、足りる場合は(ステップ5040のYes)、ステップ5050に進む。
ステップ5050では、unit0に割り当てられている論理ブロックを増加分だけ、該当論理領域に割り当てて、ステップ5055に進む。
ステップ5055では、前記読み込んだ論理領域の中で、他に増加させる論理領域があるかを判定し、他にあれば(ステップ5055のYes)、次に領域レベルの大きい論理領域を選定して進み(ステップ5060)、その論理領域に関するステップ5040の処理を行う。他方、論理領域が無ければ(ステップ5055のNo)、マスターテーブル101の内容をストレージ装置3に送信して、ストレージ装置3の構成情報テーブル305に反映させた後、ステップ5070で、マスターテーブル101の動作内容の値を消し、容量変更動作処理を終了する。
以下、サーバ2でのファイルシステムを考慮したボリューム管理システムについて説明する。なお以下の説明では、これまで説明したものにおいて、追加、変更する部分について説明するものであり、同符号、同処理については既に説明したものと同じ処理を行い、同じ機能を有するものである。
要求は、ファイルシステムに関する要求内容を示す情報であり、ファイルシステムの作成を要求する「作成」、ファイルシステムの削除を要求する「削除」、ファイルシステムの拡張を要求「拡張」、ファイルシステムの「縮小」等がある。使用論理領域名は、ファイルシステムを作成したい論理領域の名称である。ファイルシステムの大きさは、作成又は拡張された結果のファイルシステムの大きさを示すものである。開始論理ブロックは、ファイルシステムが現在使用している論理領域のうち開始論理ブロックの位置情報であり、終了論理ブロックは、ファイルシステムが現在使用している論理領域のうち終了論理ブロックの位置情報である。変化要求量は、ファイルシステムの大きさの変化を示す変化量である。
また、ファイルシステムプログラム5602はデータの書き込み要求に基づいてファイルシステムの容量を監視し、空き領域がない場合や使用率が一定値を超えた場合に容量不足と判断する。この場合、ファイルシステムプログラム5602は、ファイルシステムの拡張要求、拡張要求量、拡張するファイルシステムに割当てられている論理領域の名称をファイルシステムインタフェースプログラム5601へ送る。この場合、拡張要求量は予め定められた値やユーザからの要求によって設定する値にしてもよいし、ファイルシステムプログラムが決めた値にしてもよい。
さらに、ワークロードボリュームマネージャ1からの拡張不可連絡がある場合(ステップ5913でYes)、拡張不可連絡をファイルシステムプログラムに発信する(ステップ5940)。
図63は、図16で説明した情報取得処理のフローチャートの一部を変更したものである。図16との違いは、ステップ1612において、ファイルシステムシグナルの検出処理を行う点である。ファイルシステムシグナルを検出した場合(ステップ1612のYes)、ファイルシステムシグナル検知処理(図64)を行い、他方、検知しなかった場合(ステップ1612のNo)、ストレージ装置3のディスク情報テーブル作成プログラム317から発信された構成変更シグナルを検知したかどうか判断する(ステップ1615)。その他の処理につては、図16で説明したのと同じ処理を行う。
まず、ステップ6310で図58に示したファイルシステム要求テーブルの情報を読み込む。次に、ステップ6315でファイルシステム要求が、「拡張」、「作成」、「削除」のいずれであるかを判断する。ファイルシステム要求が「拡張」である場合(ステップ6315で「拡張」)、ファイルシステム領域拡張処理(図65参照)を行い(ステップ6320)、処理を終了する。
一方、ファイルシステム要求が「作成」である場合(ステップ6315で「作成」)、マスターテーブルにおいて、ファイルシステムを作成する論理領域の開始論理ブロックから終了論理ブロックまでの利用状況に「use」を登録する(ステップ6325)。次に、論理開始ブロックと終了論理ブロックの情報及び開始論理ブロックと終了論理ブロックによって決まる論理領域の大きさをファイルシステムの大きさとして、ファイルシステム要求テーブルに登録し(ステップ6330)、ファイルシステムインタフェースプログラム5601にファイルシステムの作成を要求し(ステップ6335)、処理を終了する。
また、ファイルシステムの要求が「削除」である場合(ステップ6315で「削除」)、マスターテーブルにおいて、削除するファイルシステムの論理領域の開始論理ブロックから終了論理ブロックまでの利用状況に「unuse」を登録し(ステップ6340)、ファイルシステムインターフェースプログラムにファイルシステムの削除を要求し(ステップ6345)、処理を終了する。
3 ストレージ装置
5 管理サーバ
23、35 CPU
24、34 メモリ
Claims (2)
- 複数の計算機と接続され、複数の論理領域を複数の物理ディスクに構成するストレージ装置と、前記ストレージ装置および前記計算機との間で通信を行う管理サーバとを備えたボリューム管理システムであって、
前記管理サーバは、メモリと処理装置とを備え、前記メモリは、前記複数の論理領域の各論理領域に関し、空き領域を示す領域レベルと、使用中または未使用をあらわす利用状況と、冗長の有無を示す状態と、前記論理領域を記憶する物理ディスクの耐久時間とを格納するとともに、
前記管理サーバの処理装置は、
前記ストレージ装置の論理領域の容量が不足した場合、前記ストレージ装置に有する論理領域のうち、前記領域レベルを参照して、空き領域があるかどうかを判定し、空き領域があれば、その空き領域の容量を容量不足の論理領域に割り当て、
前記空き領域がなければ、前記利用状況を参照して、未使用を示す論理領域があるかどうかを判定し、前記未使用を示す論理領域があれば、その論理領域の容量を容量不足の論理領域に割り当て、
前記未使用を示す論理領域がなければ、前記冗長の有無を示す状態を参照して、冗長性を持つ論理領域の冗長性を解除し、その冗長性を解除した論理領域の容量を容量不足の論理領域に割り当て、
前記ストレージ装置の前記物理ディスクの耐久時間が超過した場合、当該物理ディスクに対応する論理領域の内容を他の論理領域を用いて冗長化を行い、当該物理ディスクが取り外され前記冗長化が解除された後、前記他の論理領域の内容を、前記耐久時間を超過した前記物理ディスクに対応する論理領域の内容として使用することを特徴とするボリューム管理システム。 - 複数の計算機と接続され、複数の論理領域を複数の物理ディスクに構成するストレージ装置と、前記ストレージ装置および前記計算機との間で通信を行う管理サーバとを備えたボリューム管理システムに用いられるボリューム管理方法であって、
前記管理サーバは、メモリと処理装置とを備え、前記メモリは、前記複数の論理領域の各論理領域に関し、空き領域を示す領域レベルと、使用中または未使用をあらわす利用状況と、冗長の有無を示す状態と、前記論理領域を記憶する物理ディスクの耐久時間とを格納するとともに、
前記管理サーバの処理装置は、
前記ストレージ装置の論理領域の容量が不足した場合、前記ストレージ装置に有する論理領域のうち、前記領域レベルを参照して、空き領域があるかどうかを判定し、空き領域があれば、その空き領域の容量を容量不足の論理領域に割り当て、
前記空き領域がなければ、前記利用状況を参照して、未使用を示す論理領域があるかどうかを判定し、前記未使用を示す論理領域があれば、その論理領域の容量を容量不足の論理領域に割り当て、
前記未使用を示す論理領域がなければ、前記冗長の有無を示す状態を参照して、冗長性を持つ論理領域の冗長性を解除し、その冗長性を解除した論理領域の容量を容量不足の論理領域に割り当て、
前記ストレージ装置の前記物理ディスクの耐久時間が超過した場合、当該物理ディスクに対応する論理領域の内容を他の論理領域を用いて冗長化を行い、当該物理ディスクが取り外され前記冗長化が解除された後、前記他の論理領域の内容を、前記耐久時間を超過した前記物理ディスクに対応する論理領域の内容として使用することを特徴とするボリューム管理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005167866A JP4690783B2 (ja) | 2005-06-08 | 2005-06-08 | ボリューム管理システムおよびその方法 |
US11/197,472 US7392362B2 (en) | 2005-06-08 | 2005-08-05 | System and method for volume management |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005167866A JP4690783B2 (ja) | 2005-06-08 | 2005-06-08 | ボリューム管理システムおよびその方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006343924A JP2006343924A (ja) | 2006-12-21 |
JP4690783B2 true JP4690783B2 (ja) | 2011-06-01 |
Family
ID=37525398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005167866A Expired - Fee Related JP4690783B2 (ja) | 2005-06-08 | 2005-06-08 | ボリューム管理システムおよびその方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7392362B2 (ja) |
JP (1) | JP4690783B2 (ja) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006052888A2 (en) * | 2004-11-05 | 2006-05-18 | Trusted Data Corporation | Dynamically expandable and contractible fault-tolerant storage system permitting variously sized storage devices and method |
US8364565B2 (en) * | 2004-12-01 | 2013-01-29 | Sap Ag | Systems and methods for data processing |
EP1669919A1 (en) * | 2004-12-01 | 2006-06-14 | Sap Ag | A data processing system and data processing method |
US20070088667A1 (en) * | 2005-10-13 | 2007-04-19 | Thomas Schwarz | Systems and methods for data processing |
JP4369471B2 (ja) | 2006-12-27 | 2009-11-18 | 富士通株式会社 | ミラーリングプログラム、ミラーリング方法、情報記憶装置 |
JP2008257572A (ja) * | 2007-04-06 | 2008-10-23 | Hitachi Ltd | 論理区画に動的に資源割り当てを行うストレージシステム及びストレージシステムの論理分割方法 |
US7792882B2 (en) * | 2007-09-27 | 2010-09-07 | Oracle America, Inc. | Method and system for block allocation for hybrid drives |
JP2009122873A (ja) * | 2007-11-13 | 2009-06-04 | Hitachi Ltd | ストレージシステム間でのリモートコピーを管理する装置 |
US8201029B2 (en) * | 2008-01-31 | 2012-06-12 | International Business Machines Corporation | Method and apparatus for operating system event notification mechanism using file system interface |
US8234444B2 (en) * | 2008-03-11 | 2012-07-31 | International Business Machines Corporation | Apparatus and method to select a deduplication protocol for a data storage library |
JP2010086424A (ja) * | 2008-10-01 | 2010-04-15 | Hitachi Ltd | ストレージ装置の管理装置 |
JP5149835B2 (ja) * | 2009-02-26 | 2013-02-20 | 株式会社日立製作所 | 論理ユニット管理方法、プログラムおよびディスク装置 |
JP5245934B2 (ja) * | 2009-03-11 | 2013-07-24 | 富士通株式会社 | 管理装置の管理プログラム、管理装置、管理装置の管理方法およびストレージシステム |
CN102473136B (zh) * | 2010-05-31 | 2014-12-31 | 松下电器(美国)知识产权公司 | 存储器管理装置、存储器管理方法以及集成电路 |
JP5170794B2 (ja) * | 2010-09-28 | 2013-03-27 | 株式会社バッファロー | 記憶システム及びフェイルオーバ制御方法 |
US8775868B2 (en) * | 2010-09-28 | 2014-07-08 | Pure Storage, Inc. | Adaptive RAID for an SSD environment |
JP6021680B2 (ja) * | 2013-02-19 | 2016-11-09 | 株式会社日立製作所 | 自律分散重複排除ファイルシステム、記憶装置ユニット及びデータアクセス方法 |
US9886451B2 (en) * | 2013-04-30 | 2018-02-06 | Hitachi, Ltd. | Computer system and method to assist analysis of asynchronous remote replication |
US20160034476A1 (en) * | 2013-10-18 | 2016-02-04 | Hitachi, Ltd. | File management method |
JP6244974B2 (ja) * | 2014-02-24 | 2017-12-13 | 富士通株式会社 | ストレージ装置、及びストレージ装置の制御方法 |
US10657053B2 (en) | 2017-03-31 | 2020-05-19 | Kyocera Document Solutions Inc. | Memory allocation techniques for filtering software |
JP2019109622A (ja) * | 2017-12-15 | 2019-07-04 | 株式会社Nobori | 医療情報管理システム及び医療情報管理方法 |
US11656773B2 (en) * | 2020-04-28 | 2023-05-23 | EMC IP Holding Company LLC | Automatic management of file system capacity using predictive analytics for a storage system |
US11740789B2 (en) | 2020-05-18 | 2023-08-29 | EMC IP Holding Company LLC | Automated storage capacity provisioning using machine learning techniques |
US11635981B2 (en) * | 2020-08-25 | 2023-04-25 | Microsoft Technology Licensing, Llc | Virtualizing shared computing resources |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002132549A (ja) * | 2000-10-23 | 2002-05-10 | Hitachi Ltd | 論理ボリューム管理方法、これを利用したサービスおよびそのサービスを記録したコンピュータ読み取り可能な記録媒体 |
JP2004310308A (ja) * | 2003-04-04 | 2004-11-04 | Ge Medical Systems Global Technology Co Llc | データ保存方法およびデータ保存装置 |
JP2004334561A (ja) * | 2003-05-08 | 2004-11-25 | Hitachi Ltd | ストレージ運用管理システム |
JP2005031929A (ja) * | 2003-07-11 | 2005-02-03 | Hitachi Ltd | サーバに記憶領域を割り当てる管理サーバ、記憶装置システム、及びプログラム |
JP2005038071A (ja) * | 2003-07-17 | 2005-02-10 | Hitachi Ltd | ストレージの容量を最適化する管理方法 |
JP2005092308A (ja) * | 2003-09-12 | 2005-04-07 | Hitachi Ltd | ディスク管理方法およびコンピュータシステム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3745398B2 (ja) * | 1994-06-17 | 2006-02-15 | 富士通株式会社 | ファイルのディスクブロック制御方式 |
US6078990A (en) * | 1998-02-06 | 2000-06-20 | Ncr Corporation | Volume set configuration using a single operational view |
US20040039891A1 (en) * | 2001-08-31 | 2004-02-26 | Arkivio, Inc. | Optimizing storage capacity utilization based upon data storage costs |
JP4220724B2 (ja) | 2002-05-21 | 2009-02-04 | 株式会社日立製作所 | ストレージ装置 |
JP4418286B2 (ja) * | 2003-07-14 | 2010-02-17 | 富士通株式会社 | 分散型ストレージシステム |
-
2005
- 2005-06-08 JP JP2005167866A patent/JP4690783B2/ja not_active Expired - Fee Related
- 2005-08-05 US US11/197,472 patent/US7392362B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002132549A (ja) * | 2000-10-23 | 2002-05-10 | Hitachi Ltd | 論理ボリューム管理方法、これを利用したサービスおよびそのサービスを記録したコンピュータ読み取り可能な記録媒体 |
JP2004310308A (ja) * | 2003-04-04 | 2004-11-04 | Ge Medical Systems Global Technology Co Llc | データ保存方法およびデータ保存装置 |
JP2004334561A (ja) * | 2003-05-08 | 2004-11-25 | Hitachi Ltd | ストレージ運用管理システム |
JP2005031929A (ja) * | 2003-07-11 | 2005-02-03 | Hitachi Ltd | サーバに記憶領域を割り当てる管理サーバ、記憶装置システム、及びプログラム |
JP2005038071A (ja) * | 2003-07-17 | 2005-02-10 | Hitachi Ltd | ストレージの容量を最適化する管理方法 |
JP2005092308A (ja) * | 2003-09-12 | 2005-04-07 | Hitachi Ltd | ディスク管理方法およびコンピュータシステム |
Also Published As
Publication number | Publication date |
---|---|
JP2006343924A (ja) | 2006-12-21 |
US7392362B2 (en) | 2008-06-24 |
US20060282637A1 (en) | 2006-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4690783B2 (ja) | ボリューム管理システムおよびその方法 | |
JP4749255B2 (ja) | 複数種類の記憶デバイスを備えたストレージシステムの制御装置 | |
US7062621B2 (en) | Storage system and method for backup | |
JP4890033B2 (ja) | 記憶装置システム及び記憶制御方法 | |
US8271444B2 (en) | Storage control device to backup data stored in virtual volume | |
JP4890160B2 (ja) | ストレージシステム及びバックアップ/リカバリ方法 | |
US7444545B2 (en) | Computer system, managing computer and recovery management method | |
US8060468B2 (en) | Storage system and data recovery method | |
US7461201B2 (en) | Storage control method and system for performing backup and/or restoration | |
US20100082900A1 (en) | Management device for storage device | |
JP5073259B2 (ja) | 仮想化システム及び領域割当て制御方法 | |
US20060031648A1 (en) | Storage device | |
JP4681247B2 (ja) | ディスクアレイ装置及びディスクアレイ装置の制御方法 | |
JPH04299748A (ja) | ファイルの管理方法及び装置 | |
US9983806B2 (en) | Storage controlling apparatus, information processing apparatus, and computer-readable recording medium having stored therein storage controlling program | |
JP2006011811A (ja) | 記憶制御システム及び記憶制御方法 | |
CN111124283A (zh) | 一种存储空间管理方法、系统、电子设备及存储介质 | |
JP4245021B2 (ja) | ストレージ装置、ストレージシステム、ストレージ装置の制御方法 | |
JP2016212548A (ja) | ストレージ制御装置、ストレージ制御方法、及びストレージ制御プログラム | |
JP5275691B2 (ja) | ストレージシステム | |
JP4790283B2 (ja) | ストレージサブシステム及びストレージシステム | |
WO2014010016A1 (ja) | プログラム、データ管理方法、および情報処理装置 | |
JP5839727B2 (ja) | 記憶制御システム及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080206 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100929 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101012 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101209 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110215 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110218 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140225 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |