JP4418286B2 - 分散型ストレージシステム - Google Patents

分散型ストレージシステム Download PDF

Info

Publication number
JP4418286B2
JP4418286B2 JP2004116553A JP2004116553A JP4418286B2 JP 4418286 B2 JP4418286 B2 JP 4418286B2 JP 2004116553 A JP2004116553 A JP 2004116553A JP 2004116553 A JP2004116553 A JP 2004116553A JP 4418286 B2 JP4418286 B2 JP 4418286B2
Authority
JP
Japan
Prior art keywords
storage
data
storage device
capacity
distributed
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
Application number
JP2004116553A
Other languages
English (en)
Other versions
JP2005050303A (ja
Inventor
徹 横畑
安津夫 飯田
革 江尻
光彦 太田
理一郎 武
一隆 荻原
泰生 野口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2004116553A priority Critical patent/JP4418286B2/ja
Priority to US10/880,241 priority patent/US7774572B2/en
Publication of JP2005050303A publication Critical patent/JP2005050303A/ja
Application granted granted Critical
Publication of JP4418286B2 publication Critical patent/JP4418286B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、複数の記憶装置を有する大規模な分散型ストレージシステムに適用される技術に関し、さらに詳しくは、大中小規模・高中低速の様々な特徴をもつ複数の記憶装置を総括して効率的かつ安定的に動作制御することができるようにした技術に関する。
例えば下記特許文献1には、複数の記憶装置をネットワーク上に分散配置した分散型ネットワークストレージシステムにおいて、「論理ボリューム」と呼ばれる仮想記憶手法を利用することが開示されている。そして、このようなシステムにおいて各記憶装置のディスクアレイ上の記憶制御を行なう技術が、例えば下記特許文献2〜4に開示されている。
特許文献2では、「再配置のための指標」を定義し、各論理ディスク装置(論理ボリューム)に対するアクセス情報を前記指標として採取し、そのアクセス情報に基づいて、論理ディスク装置の物理ディスク装置(記憶装置)に対する再配置を行なった後、全データを連続的に格納し直している。ここで、前記指標(アクセス情報)として例えばデータに対するアクセス頻度を採取することで、アクセス頻度の高い論理ディスク装置をより高速な物理ディスク装置へ再配置し、アレイ上に分散したデータのうち、アクセス頻度の高いものを1箇所にまとめ、シーケンシャルアクセス性能を向上させることが開示されている。
特許文献3では、複数の記憶装置を、属性を有する複数のクラスに分類して管理し、各クラスの使用状況や前記属性に基づいて、再配置におけるデータの移動元および移動先を、保守員が簡単に決められるようにして、記憶領域の物理的再配置による配置最適化を行なうための作業の簡便化をはかっている。特に、この特許文献3では、各記憶装置(ディスク装置)の単位時間当たりの使用時間が、前記属性としてクラス毎に設定された上限値を超えないように、論理記憶領域の再配置先のクラスを決定する手法が開示されている。つまり、アレイ上のデータアクセス集中点を検出し負荷分散を行なうことにより、アレイ全体の見掛け上のアクセス性能低下を防止する手法が開示されている。
特許文献4では、特許文献3の手法を実現する際に、各物理記憶装置内でキャッシュ処理が行なわれていても「各物理記憶装置(ディスク装置)での論理記憶領域の占有時間(実稼動時間)」の集計が正しく行なわれるように工夫した技術が開示されている。つまり、この特許文献4においても、特許文献3と同様、アレイ上のデータアクセス集中点を検出し負荷分散を行なうことにより、アレイ全体の見掛け上のアクセス性能低下を防止する手法が開示されている。
特開平5−334006号公報(特許第276624号) 特開平9−274544号公報 特開2001−67187号公報 特開2002−157091号公報
ところで、上記特許文献1〜4を含む従来技術において、上述のような分散型ネットワークストレージシステムを取り扱う際、個々の物理記憶装置のもつ最大利用可能総容量や速度パフォーマンスなどの特性は、同一もしくはほぼ同一で、且つ、各種要求に対し十分な大きさを有している、といった仮定がなされている。このような仮定が成立する限りにおいて、分散型ネットワークストレージシステムでは、例えばデータアクセスの集中点を見つけた場合、複数の物理記憶装置間で一般的な使用容量平準化や残容量平準化(いずれについても後述する)を行なうだけで、問題なく、その集中点を解消することができる。
しかしながら、今後、さらなる発展が期待されている大規模ネットワークストレージシステムは、システム拡張性を事実上無限とみなすことができ、且つ、システム拡張操作などを含む全ての保守操作を、システムサービスを中断することなく遂行(1年365日、24時間連続運転を保証)できるように構成されるといった状況下にあるため、上記仮定が成立するシステムとは、多少、事情が異なってくる。
つまり、上記状況下で分散型ネットワークストレージシステムを運用すると、このシステムに属する個々の物理記憶装置のもつ最大利用可能総容量は一定でなくなるという状況が生じる。おそらく、新たに増設される物理記憶装置の記憶容量は、半年乃至1年前に設置した装置の記憶容量の倍以上となり、上記仮定が成立しなくなるのは明らかである。
各物理記憶装置の容量が大きく異なるシステムで、一般的な使用容量平準化や残容量平準化を適用すると、後述するごとく複数の物理記憶装置におけるデータ配置状態に片寄りが生じ、システム全体の利用率が小さい場合にはシステムの応答性能が低下する一方、システム全体の利用率が大きい場合にはシステムの安定性能が低下してしまう。
従って、システムに属する個々の物理記憶装置のもつ最大利用可能総容量や速度パフォーマンスなどの特性が、従来技術のごとくほぼ同一の値で揃っていないという状況下で、システム全体の利用率(使用率)が変化しても、システムを効率的かつ安定的に動作制御するようにすることが望まれている。
ここで、以下に、使用容量平準化や残容量平準化と、これらの平準化を、容量の異なる様々な記憶装置をそなえたシステムに適用した場合の状況とについて、具体的に説明する。
なお、以下の説明において、Tiはストレージ・ノード(物理記憶装置)iの総容量、Uiはストレージ・ノードiの使用容量、Riはストレージ・ノードiの残容量であり、これらの変数Ti,Ui,Riは、下記の(1)式および(2)式で示すような関係を有しているものとする。
Figure 0004418286
まず、使用容量平準化について、検討・説明する。
使用容量平準化では、異なる総容量Tiに対して、使用容量Uiがなるべく同じ水準Uとなるよう取り計らう。下記の(3)式および(4)式を満たすシステム・リソース配置は、このケースに対する「理想形」の一般形となり、これ以上の「改善努力」は払われない。
Figure 0004418286
上記の「理想形」以外のリソース配置においては、各ノードiに対する「改善努力」指標値ΔUiを下記(5)式のように定義することができる。この場合、ΔUi>0のノードにユーザデータが流入することになる。
Figure 0004418286
使用容量平準化では、この(5)式のΔUiに従ってデータ移動(平準化)を行なう。
次に、残容量平準化について、検討・説明する。
残容量平準化では、異なる総容量Ti対して、残容量Riがなるべく同じ水準Rとなるよう取り計らう。下記の(6)式および(7)式を満たすシステム・リソース配置は、このケースに対する「理想形」の一般形となり、これ以上の「改善努力」は払われない。
Figure 0004418286
上記の「理想形」以外のリソース配置においては、各ノードiに対する「改善努力」指標値ΔRiを下記(8)式のように定義することができる。この場合、ΔRi>0のノードにユーザデータが流入することになる。
Figure 0004418286
なお、上記各式より、簡単な算術によって、下記(9)式が得られる
Figure 0004418286
残容量平準化では、上記(8)式または(9)式のΔRiに従ってデータ移動(平準化)を行なう。
そして、各ノードのサイズTiが全く同一であるシステムにおいて、「使用容量平準化」と「残容量平準化」とは、全く同じ動作を行なうことになる。
これに対し、ノードのサイズTiの間に、数倍から数十倍の開きがある場合、システム全体の使用率(利用率)に応じて以下のような状況が生じることになる。
システム全体の使用率が比較的小である場合、上記(9)式の右辺において第1項の絶対値よりも第2項の絶対値の方がはるかに大である。従って、「残容量平準化」では、大容量ストレージ上に選択的に新規記憶領域が確保されることになり、小容量ストレージ上に新規記憶領域が確保されることはほとんど無くなることが判る。つまり、大容量ストレージばかりにデータが配置されることになり、応答性能の低下を招くおそれがある。
また、システム全体の使用率が比較的大である場合(つまり容量が逼迫している場合)、上記(5)式において、ノードのサイズTiがこの(5)式中に表われていないことから、「使用容量平準化」では、システムの容量逼迫時にシステムの一部は破綻を来たしていることが判る。即ち、小容量ストレージは使用可能総容量を既に使い尽くされており、機能の一部を完全に失った状態に陥っている。
本発明は、このような課題に鑑み創案されたもので、各記憶装置の最大利用可能総容量や速度パフォーマンスなどの特性が大きく異なっているという状況下で、システム全体の使用率が変化しても、システムを効率的かつ安定的に動作制御できるようにすることを目的としている。
上記目的を達成するために、本発明の分散型ストレージシステムは、データを記憶するものであって、最大利用可能総容量の異なるものを含む複数の記憶装置と、該複数の記憶装置にそれぞれ結び付けられ、各記憶装置に対するアクセスを制御するための複数の制御モジュールと、各記憶装置および全記憶装置に格納されているデータ総量に係る情報をモニタするモニタ手段と、該モニタ手段によるモニタ結果に応じた指標値を算出する指標値算出手段と、該指標値算出手段によって算出された前記指標値に基づき、該制御モジュールを介して、該複数の記憶装置へのデータ分散配置、もしくは、該複数の記憶装置間でのデータ移動を実行する配置手段と、該配置手段によるデータ分散配置もしくはデータ移動の対象となる該複数の記憶装置に対し、リード/ライト対象とする論理記憶領域と該記憶装置上の物理記憶領域とを対応付けながら実物理データへの実アクセスを実行するデータ処理装置とをそなえ、該モニタ手段が、全記憶装置に格納されているデータ総量と、全記憶装置の最大利用可能総容量との比である、システム全体の使用率をモニタし、該モニタ手段によってモニタされた前記システム全体の使用率が第1所定値よりも小さい場合、該指標値算出手段が、前記指標値として、各記憶装置に格納されているデータ総量(使用容量)を該モニタ手段から取得し、該配置手段が、該指標値算出手段によって取得された、各記憶装置における前記使用容量を平準化するように、データ分散配置もしくはデータ移動を行なう一方、該モニタ手段によってモニタされた前記システム全体の使用率が第2所定値(>前記第1所定値)よりも大きい場合、該指標値算出手段が、前記指標値として、各記憶装置の最大利用可能総容量と各記憶装置に格納されているデータ総量との差(残容量)を、該モニタ手段によるモニタ結果に基づいて算出し、該配置手段が、該指標値算出手段によって算出された、各記憶装置における前記残容量を平準化するように、データ分散配置もしくはデータ移動を行なうことを特徴としている。
このとき、該複数の記憶装置を、サービス属性を予め設定された複数のクラスに分類するとともに、該データ処理装置のリード/ライト対象であるデータに、当該データに対する要求属性を予め設定しておき、該配置手段が、データ分散配置もしくはデータ移動の対象であるデータの要求属性に応じたサービス属性を決定し、決定されたサービス属性を設定されたクラスに属する記憶装置上の物理記憶領域に、当該データのデータ分散配置もしくはデータ移動を行なうように構成してもよい。
さらに、該モニタ手段によってモニタされる前記システム全体の使用率が予め設定された水準を超えた場合にその旨をシステム管理者に通知する通知手段、および、予め用意された予備記憶装置を、該予備記憶装置用の制御モジュールを介して自動的に追加する手段のうちの少なくとも一方をさらにそなえてもよい。
またさらに、該指標値算出手段もしくは該配置手段を、該制御モジュール,該データ処理装置,通信装置(該データ処理装置および該複数の制御モジュールの相互間を通信可能に接続する通信路上にそなえられたもの)のうちの少なくとも一つに実装してもよい。
また、該モニタ手段のモニタ結果を含むシステム情報に基づき、該複数の記憶装置を含んで構成される本システムの安定的運用に係る評価値(システム安定度)を算出する評価値算出手段と、該評価値算出手段によって算出された前記評価値に応じて、システム管理者に対する通知を行なう通知手段とをそなえてもよい
このとき、該評価値算出手段が、該モニタ手段のモニタ結果を含むシステム情報に基づき、該複数の記憶装置のうちの一つが障害発生によりデータを失った場合にそのデータを回復させるためのリカバー操作を何台の記憶装置に対して実行可能であるかを示す実行可能回数を前記評価値(システム安定度)として算出するように構成してもよい。この場合、該評価値算出手段が、該モニタ手段のモニタ結果を含むシステム情報に基づき、リカバー操作の成否判定処理を1回目から順次実行し、リカバー操作が成功したと判定された場合に次のリカバー操作の成否判定処理を実行し、M回目のリカバー操作の成否判定処理でリカバー操作が成功したと判定され且つM+1回目のリカバー操作の成否判定処理でリカバー操作が失敗したと判定された場合に「M」を前記実行可能回数として算出するように構成する。
なお、前記実行可能回数Mと予め設定された閾値とを比較する比較手段と、該比較手段による比較結果に応じて予め用意された予備記憶装置を該予備記憶装置用の制御モジュールを介して自動的に追加する自動追加手段とをさらにそなえてもよい。
また、前記実行可能回数Mと予め設定された第1閾値および第2閾値(>前記第1閾値)とを比較する比較手段と、該比較手段による比較の結果、前記実行可能回数Mが前記第1閾値以下となった場合に予め用意された予備記憶装置を該予備記憶装置用の制御モジュールを介して自動的に追加する自動追加手段とをさらにそなえ、該比較手段による比較の結果、前記実行可能回数Mが前記第2閾値以下となった場合に、該通知手段が前記システム管理者に対する通知動作を行なうように構成してもよい。
上述した本発明の分散型ストレージシステムによれば、各記憶装置もしくは全記憶装置に格納されているデータ総量に係る情報がモニタされ、そのモニタ結果に応じた指標値に基づいて論理記憶領域が複数の記憶装置上の物理記憶領域に分散して配置もしくは再配置されることになる。
従って、各記憶装置もしくは全記憶装置におけるデータ総量に係る情報に応じた分散配置/再配置処理を実行することが可能になり、各記憶装置の最大利用可能総容量や速度パフォーマンスなどの特性が大きく異なっているという状況下で、システム全体の使用率が変化しても、システムを効率的かつ安定的に動作制御することができる。
このとき、前記情報として、システム全体の使用率(全記憶装置に格納されているデータ総量もしくは論理記憶領域ごとのデータ格納量と全記憶装置の最大利用可能総容量との比)をモニタし、この使用率に応じた指標値に基づいて分散配置/再配置処理を実行することにより、例えば、システム全体の使用率が小さい場合には、各記憶装置のデータ総量を指標値として用いて使用容量平準化を行なうことで、並列処理化によりシステムの応答性能が向上する一方、システム全体の使用率が大きい場合には、各記憶装置の残容量を指標値として用いて残容量平準化を行なうことで、できるだけシステム全体の安定性を向上させてシステム容量逼迫までの寿命を延ばすことができる。
一方、本発明の分散型ストレージシステムによれば、各記憶装置もしくは全記憶装置に格納されているデータ総量もしくは使用可能残容量に係る情報がモニタされ、そのモニタ結果を含むシステム情報に基づき、本システムの安定的運用に係る評価値(システム安定度M)が算出され、その評価値に応じて、システム管理者に対する通知が行なわれることになる。
従って、最大利用可能総容量の異なるものを含む複数の記憶装置をそなえて構成された分散型ストレージシステムにおいて、このシステムが効率的かつ安定的に動作するように配慮したがために使用限界状態の間際まで安定に動作してしまい、システム管理者がシステム容量の逼迫に気づき難くなってしまうという状況を解消することができ、本システムを効率的、かつ、真に安定的に運用することが可能になる。
特に、本発明では、現状のシステム・リソース使用状況(モニタ結果を含むシステム情報)に基づいてM回目(先)のリカバー操作の成否を判定し、リカバー操作の実行可能回数Mをシステム安定度(評価値)として算出する。つまり、本発明によれば、分散型ストレージシステムにおいて、現状のシステム・リソース使用状況に基づいて、システム安定度M(Mは非負の整数)を、「M回先のリカバー操作が必ず成功する」といった、明確かつ具体的な意味をもって定義することができ、さらに、上述のシステム安定度を、簡単な算術計算と大小比較のみによって、正確に算出・判定することが可能になる。
以下、図面を参照して本発明の実施の形態を説明する。
〔1〕第1実施形態の説明
図1は本発明の第1実施形態としての分散型ネットワークストレージシステム(分散型ストレージシステム)の構成を示すブロック図で、この図1に示すように、第1実施形態の分散型ネットワークストレージシステム10は、記憶装置20(20−1〜20−6),制御モジュール21(21−1〜21−6),データ処理装置30,ネットワーク40,モニタエージェント50および配置エージェント60をそなえて構成されている。
記憶装置(物理記憶装置)20は、それぞれデータを記憶するためのもので、本実施形態のシステム10では、最大利用可能総容量の異なるものを含む6台の記憶装置20がそなえられている。なお、以下の説明では、記憶装置20のそれぞれを区別して記述する際には符号20−1〜20−6を用い、特に区別する必要のない場合には符号20を用いて説明する。また、本実施形態のシステム10では、記憶装置20−1および20−2の最大利用可能総容量が最も大きく、記憶装置20−3および20−4の最大利用可能総容量がその次に大きく、記憶装置20−5および20−6の最大利用可能総容量が最も小さいものとする。
記憶装置20−1〜20−6には、それぞれ、記憶装置20−1〜20−6に対するアクセスを制御するための制御モジュール21−1〜21−6が付設されており、これらの制御モジュール21−1〜21−6を介して記憶装置20−1〜20−6はネットワーク40に接続されている。なお、制御モジュール21(21−1〜21−6)についても、それぞれを区別して記述する際には符号21−1〜21−6を用い、特に区別する必要のない場合には符号21を用いる。
データ処理装置(ユーザ側端末)30は、記憶装置20によるストレージ機能を利用するもので、このデータ処理装置30がリード/ライト対象とする論理記憶領域と各記憶装置20上の物理記憶領域とを対応付ける対応付けマップ(対応付け手段)31を有している。本実施形態のシステム10では、データ処理装置30は3台そなえられ、それぞれネットワーク40に接続されている。
データは、実際には個々の記憶装置20上の物理記憶領域に分散して記憶されるが、本システム10のストレージ機能を利用するデータ処理装置30からは、上記物理記憶領域とは異なる論理記憶領域(=仮想的なディスクボリューム)への仮想リード/ライトアクセス命令を発行すると、対応付けマップ31を用いて実物理データへの実アクセスが実行されるようになっている。
なお、論理記憶領域と物理記憶領域とを対応づける機能(対応付けマップ31等)は、本実施形態のごとくデータ処理装置30に実装されてもよいが、データ処理装置30に近い側(命令発行側)のモジュールに実装されていてもよいし、記憶装置20に近い側(命令実行側)のモジュールに実装されていてもよいし、両者の中間の専用モジュールとして実装されていてもよいし、ネットワーク40を成す通信路上の通信機器(下記ハブ41等)の近くに実装されていてもよい。
ネットワーク(ネットワーク接続手段,通信路)40は、上述した制御モジュール21およびデータ処理装置30と後述するモニタエージェント50および配置エージェント60との相互間を通信可能に接続するもので、このネットワーク40を成す通信路上には、ハブ(通信装置)41が3台そなえられている。
モニタエージェント(モニタ手段)50は、ネットワーク40を介して各記憶装置20もしくは全記憶装置20に格納されているデータ総量に係る情報をモニタするもので、このモニタエージェント50によってモニタされる情報については後述する。
配置エージェント60は、指標値算出手段61および配置手段62をそなえて構成されている。指標値算出手段61は、モニタエージェント50によるモニタ結果に応じた指標値を算出するものであり、配置手段62は、システム平準化を実現すべくデータ移動を実行させるためのもので、指標値算出手段61によって算出された前記指標値に基づき、ネットワーク40および制御モジュール21を介して、前記論理記憶領域を記憶装置20上の物理記憶領域に分散して配置もしくは再配置するものである。
これらの指標値算出手段61および配置手段62の機能と、制御モジュール21が有する通信機能(ネットワーク40を用いた制御モジュール21間の通信機能)とを利用して、より望ましいシステム利用状態になるように、記憶装置20へのデータ分散配置(論理記憶領域の記憶装置20上の物理記憶領域への分散配置)が実施されるとともに記憶装置20間でのデータ移動(論理記憶領域の記憶装置20上の物理記憶領域への再配置)が実施される。指標値算出手段61によって算出される指標値や、配置手段62によって実行される分散配置/再配置については後述する。
なお、本実施形態のシステム10では、モニタエージェント50や配置エージェント60をそれぞれ独立した専用モジュールとしてそなえているが、モニタエージェント50や配置エージェント60としての機能を、同一の専用モジュールにそなえてもよいし、システム制御用モジュール(システム汎用制御モジュール)の多数の機能のうちの一つとしてそなえてもよい。また、モニタエージェント50や配置エージェント60としての機能を、制御モジュール21,データ処理装置30,ハブ41の少なくとも一つに実装してもよいし、これらの制御モジュール21,データ処理装置30,ハブ41に分散させて実装してもよい。また、モニタエージェント50や配置エージェント60としての機能は、データ処理装置30に近い側(命令発行側)のモジュールに実装されていてもよいし、記憶装置20に近い側(命令実行側)のモジュールに実装されていてもよいし、両者の中間の専用モジュールとして実装されていてもよいし、ネットワーク40を成す通信路上の通信機器(上記ハブ41等)の近くに実装されていてもよい。
さて、以下に、システム10の動作制御手法について、つまりは、モニタエージェント50によってモニタされる情報,指標値算出手段61によって算出される指標値,配置手段62によって実行される分散配置/再配置について、より詳細に説明する。
〔1−1〕第1手法(使用容量平準化を用いる場合)
モニタエージェント50によって、システム全体の使用率、即ち、各瞬間において、全記憶装置20に格納されているデータ総量ΣUj(もしくは論理記憶領域ごとのデータ格納量)と、全記憶装置20の最大利用可能総容量ΣTjとの比ρをモニタする。そして、モニタされた使用率ρが予め設定された第1所定値よりも小さい場合、指標値算出手段61が、前記指標値として、各瞬間において各記憶装置20に格納されているデータ総量(使用容量)Ui(もしくは論理記憶領域ごとのデータ格納量(使用容量))をモニタエージェント50から取得し、配置手段62が、指標値算出手段61によって取得された、各記憶装置20における前記使用容量Uiを平準化するように、論理記憶領域の分散配置/再配置を行なう。配置手段62は、実際には、上述した通り上記(5)式のΔUiに従ったデータ移動(使用容量平準化)を行なう。
ここで、個々の物理記憶装置20の最大使用可能総容量に数倍から数十倍の開きがあり、個々の物理記憶装置20の速度パフォーマンス値にもまた数倍から数十倍の開きがあるような状況下では、システム全体の使用率ρが比較的小である場合、より具体的には、システム10中において最小サイズの記憶装置20の容量に比べても、まだシステム全体の平均利用容量が小であるくらい使用率ρが小さい場合、上記(5)式に従った使用容量平準化を行なうと、並列処理化によりシステム10の応答性能が良くなるメリットがある。
従って、上記条件に見合うように上記第1所定値を設定しておけば、本第1手法を用いることにより、各記憶装置20の最大利用可能総容量や速度パフォーマンスなどの特性が大きく異なっている状況下でシステム全体の使用率が比較的小さくなっても、システム10の応答性能を向上させることができる。
〔1−2〕第2手法(残容量平準化を用いる場合)
上記第1手法と同様、モニタエージェント50によって、システム全体の使用率ρをモニタする。そして、モニタされた使用率ρが予め設定された第2所定値よりも大きい場合、指標値算出手段61が、前記指標値として、各瞬間において各記憶装置20の最大利用可能総容量Tiと各記憶装置20に格納されているデータ総量Uiとの差(残容量)を、モニタエージェント50によるモニタ結果に基づいて算出し、配置手段62が、指標値算出手段61によって算出された、各記憶装置20における前記残容量を平準化するように、論理記憶領域の分散配置/再配置を行なう。配置手段62は、実際には、上述した通り上記(9)式のΔRiに従ったデータ移動(残容量平準化)を行なう。
ここで、個々の物理記憶装置20の最大使用可能総容量に数倍から数十倍の開きがあり、個々の物理記憶装置20の速度パフォーマンス値にもまた数倍から数十倍の開きがあるような状況下では、システム全体の使用率が比較的大である場合(つまり容量逼迫時)、より具体的には、システム10中において最大サイズの記憶装置20の容量に比してシステム全体の平均利用容量が例えば50%超であるくらい使用率ρが大きくなった場合、上記(9)式に従った残容量平準化を行なうと、できるだけシステム全体の安定性をあげて、システム10の容量逼迫までの寿命を延ばす方向のアクションを実現することができる。
従って、上記条件に見合うように上記第2所定値を設定しておけば、本第2手法を用いることにより、各記憶装置20の最大利用可能総容量や速度パフォーマンスなどの特性が大きく異なっている状況下でシステム全体の使用率が比較的大きくなっても、システム全体の安定性をあげてシステム10の容量逼迫までの寿命を延ばすことができる。
〔1−3〕第3手法(容量使用率平準化)
モニタエージェント50によって、各瞬間において各記憶装置20に格納されているデータ総量Ui(もしくは論理記憶領域ごとのデータ格納量)をモニタする。ついで、指標値算出手段61が、モニタされた各記憶装置20のデータ総量Ui(もしくは論理記憶領域ごとのデータ格納量)と、各記憶装置20の最大利用可能総容量Tiとの比(容量使用率)uiの対数値と、当該比uiの幾何平均の対数値との差を、前記指標値として算出する。そして、配置手段62が、指標値算出手段61によって算出された前記指標値をゼロに近づけるように、論理記憶領域の分散配置/再配置を行なう。つまり、第3手法では、配置手段62は、容量使用率uiを幾何平均の値に近づけるように作用するもので、実際には、後述する(11)式のΔui′に従ったデータ移動(容量使用率平準化)を行なう。なお、ここでは、モニタエージェント50により、データ総量Ui(もしくは論理記憶領域ごとのデータ格納量)をモニタしているが、上記比(容量使用率)uiをモニタしてもよい。
ここで、より具体的に、容量使用率平準化について説明する。
容量使用率平準化では、異なる最大利用可能総容量Tiに対して、容量使用率ui≡Ui/Tiがなるべく同じ水準uとなるよう取り計らう。この操作は、容量使用率の対数ui′≡loguiがなるべく同じ水準u′≡loguとなるよう取り計らう操作と等価である。この点を踏まえ、一般のリソース配置において、各ノードi(記憶装置20−i;図1ではi=1,2,…,6)に対する「改善努力」指標値Δui′を、下記(10)式および(11)式のように定義することができる。この場合、Δui′>0のノードにユーザデータが流入することになる。
Figure 0004418286
結局、上記(10)式の右辺第1項は容量使用率uiの幾何平均(=相乗平均)の対数値となる(註:“物価上昇率”など、「率」の平均値としては幾何平均を用いるのが一般的である)。
この場合、簡単な算術によって、上記(10)式から下記(11)式を導出することができる。
Figure 0004418286
各ノード(記憶装置20)のサイズTiが全く同一であるシステムにおいては、ここで説明した「容量使用率平準化」は「使用容量平準化」や「残容量平準化」と等価なアクションを振舞うことになる。
これに対し、各ノードのサイズTiに数倍から数十倍の開きがあり、各ノードの速度パフォーマンス値にもまた数倍から数十倍の開きがあるような状況下であって、システム全体の使用率ρが比較的小であるとき、上記(11)式において、対数関数の性質により、多くの場合、右辺第1項の絶対値の方が右辺第2項の絶対値よりも大である。従って、「容量使用率平準化」は、上記右辺第2項の寄与が相対的に弱まり、上記右辺第1項が支配的、即ち、上記(5)式に従う「使用容量平準化」に類似した挙動を示す。
一方、上記状況下であって、システム全体の使用率ρが比較的大であるとき(つまり容量逼迫時)、上記(11)式において、右辺第1項の寄与と右辺第2項の寄与がほぼ同等になる。従って、「容量使用率平準化」は、上記(9)式に従う「残容量平準化」に類似した挙動を示す。
つまり、上記(11)式に従う「容量使用率平準化」の挙動は、システム全体の使用率ρが小さい場合、上記(5)式に従う「使用容量平準化」の挙動に近くなり、システム10の応答性能が向上する一方、システム全体の使用率ρが大きい場合、上記(9)式に従う「残容量平準化」の挙動に近くなり、システム10の安定性能が向上する。従って、各記憶装置20の最大利用可能総容量(サイズTi)や速度パフォーマンスなどの特性が大きく異なっている状況下で、システム全体の使用率が変化しても、システム10を効率的かつ安定的に動作制御することができる。
〔1−4〕その他の平準化指標関数
次に、上記(11)式に従う「容量使用率平準化」と同様の挙動を示す関数形として、この(11)式以外のものを提案する。
ここでは、一例として、下記(12)式で示す平準化指標関数fiを提案する。
Figure 0004418286
ただし、上記(12)式中のρは、前述したシステム全体の使用率であり、下記(13)式で定義される。
Figure 0004418286
ここで、上記平準化指標関数fiの無次元指標関数fi′を下記(14)式の通り定義すると、上記(12)式および(13)式に基づいて、簡単な算術により、下記(15)式または(16)式が得られる。
Figure 0004418286
上記(16)式によって与えられる平準化指標関数の意味は、各ノードの消費量(使用容量)Uiのシステム全消費量ΣUjに対する比は、各ノードのサイズTiのシステム全サイズΣTjに対する比に等化した方が良い、ということになる。
また、無次元化の方法を変え、無次元指標関数をgi′≡fi/Tiと置いて得られた下記(11)式を見ると、この関数gi′は、上記(10)式または(11)式とは若干異なる定義(しかし意味的にほぼ同等の定義)の「容量使用率平準化指標関数」となっていることが分かる。ここで、上記(15)式と下記(17)式とは、基本的には無次元化の方法を変えただけなので、アルゴリズム実装レベルにおいては同形となる。
Figure 0004418286
さらに、別の例として、下記(18)式のような平準化指標関数F2iを提案する。
Figure 0004418286
この(18)式の指標関数F2iは、上記(12)式の指標関数fiと比べると、システム全体の使用率が比較的小であるときに「使用容量平準化」と類似の挙動を示し、システム全体の使用率が比較的大であるとき(つまり容量逼迫時)に「残容量平準化」と類似の挙動を示す傾向が、より強い。
ここで、上記平準化指標関数F2iの無次元指標関数F2i′を下記(19)式の通り定義すると、上記(18)式に基づいて、簡単な算術により、下記(20)式が得られる。
Figure 0004418286
上記(20)式において、右辺第1項は、上記(15)式のfi′と同じものであり、右辺第2項は、「システム全体の残容量率に、自ノードのサイズTiに応じた適当な因数を乗じたもの」となっている。ここで用いられる適当な因数は、Tiが全ノードのサイズの平均値よりも大なら負、小なら正となるようなものである。
次に、上記(12)式および(18)式を一般化した、下記(21)式の指標関数Fηiついて考察する。
Figure 0004418286
ここで、上記平準化指標関数Fηiの無次元指標関数Fηi′を下記(22)式の通り定義すると、上記(21)式に基づいて、簡単な算術により、下記(23)式が得られる。
Figure 0004418286
上記(23)式において、右辺第1項は、上記(15)式のfi′と同じものであり、右辺第2項は、「システム全体の使用率の(η−1)乗に対応した“疑似残容量率”に、自ノードのサイズTiに応じた適当な因数を乗じたもの」となっている。ここで用いられる適当な因数は、上記(20)式の因数と同様、Tiが全ノードのサイズの平均値よりも大なら負、小なら正となるようなものである。
なお、上記(22)式による無次元化法を変更し無次元指標関数をGηi′≡Fηi/Tiと定義すると、上記(23)式とは若干異なる形の下記(24)式の「一般化指標関数」が得られる。ここで、上記(23)式と下記(24)式とは、基本的には無次元化の方法を変えただけなので、アルゴリズムの実装レベルにおいては同形となる
Figure 0004418286
上記(24)式において、右辺第1項は、上記(17)式のgi′と同じものであり、右辺第2項は、「システム全体の使用率とシステム全体の利用率の(η−1)乗に対応した“疑似残容量率”との積に、自ノードのサイズTiに応じた適当な因数を乗じたもの」といった意味の指標となっている。ここで用いられる適当な因数は、Tiが全ノードのサイズの平均値よりも大なら負、小なら正となるようなものであるが、上記(20)式の因数とは僅かばかり異なっている。
上記(21)式の一般化指標関数Fηiは、本システム10の「再配置挙動」を決めるパラメータであり、このパラメータFηiと使用率ρとの関係を示すグラフを図2に示す。
この図2にも示すように、ρη=0(ρ=0)の場合、上記(21)式は上記(5)式と等価で「使用容量平準化」が行なわれることになり、ρη=1(η=0もしくはρ=1)の場合、上記(21)式は上記(9)式と等価で「残容量平準化」が行なわれることになり、ρη=ρ(η=1)の場合、上記(21)式は上記(12)式と等価で「容量使用率平準化」が行なわれることになる。
また、上記(21)式においてη=M(M>1;例えばM=η=2)の場合やη=1/M(M>1;例えばM=2でη=0.5)の場合(つまりη≠1の場合)、上記(21)式による平準化は、基本的には上記(12)式に従う容量使用率平準化とほぼ同等のものであり、システム全体の使用率が小さい場合に応答性能が向上し、システム全体の使用率が大きい場合に安定度が向上する。
ただし、η≠1の場合の上記(21)式に従う平準化は、上記(12)式に従う容量使用率平準化のバリエーションと言えるもので、図2に示すように、η=1の場合の上記(21)式に従う平準化(即ち上記(12)式に従う容量使用率平準化)とは異なったバランスにシステムの収束点が位置するため、上記(12)式に従う容量使用率平準化とは少し異なった挙動を示すことになる。つまり、上記(21)式におけるηの値を変更することでシステムの収束点のバランスを変化させ、平準化挙動を調整することが可能である。
ついで、上記の(12)式〜(24)式を参照しながら説明した平準化指標関数を用いたシステム10の動作制御手法についてまとめると、以下のようになる。ただし、各手法の平準化挙動については、上述しているので、以下ではその説明を省略する。
〔1−4−1〕第4手法
指標値算出手段61が、各記憶装置20の最大利用可能総容量Tiと、モニタエージェント50によってモニタされた、各瞬間において各記憶装置に格納されているデータ総量Ui(もしくは論理記憶領域ごとのデータ格納量)とを重み付け後に加算もしくは減算した値を、前記指標値として算出する。そして、配置手段62が、指標値算出手段61によって算出された前記指標値を平準化するように、論理記憶領域の分散配置/再配置を行なう。なお、この第4手法で算出される指標値は、上記の(12)式,(18)式や(21)式によって算出される指標値を含んでいる。
〔1−4−2〕第5手法
指標値算出手段61が、各記憶装置20の最大利用可能総容量Tiに、モニタエージェント50によってモニタされたシステム全体の使用率ρ(上記(13)式参照)を重みとして乗算した値と、モニタエージェント50によってモニタされた、各瞬間において各記憶装置20に格納されているデータ総量Ui(もしくは論理記憶領域ごとのデータ格納量)との差を、前記指標値として算出する。そして、配置手段62が、指標値算出手段61によって算出された前記指標値を平準化するように、論理記憶領域の分散配置/再配置を行なう。つまり、第5手法は、上記第4手法をより限定したものであり、この第5手法では、上記(12)式(つまり上記(21)式でη=1とした場合)を用いて前記指標値を算出する。
〔1−4−3〕第6手法
指標値算出手段61が、各記憶装置20の最大利用可能総容量Tiに、モニタエージェント50によってモニタされたシステム全体の使用率ρのM乗(M>1)を重みとして乗算した値と、モニタエージェント50によってモニタされた、各瞬間において各記憶装置20に格納されているデータ総量Ui(もしくは論理記憶領域ごとのデータ格納量)との差を、前記指標値として算出する。そして、配置手段62が、指標値算出手段61によって算出された前記指標値を平準化するように、論理記憶領域の分散配置/再配置を行なう。つまり、第6手法も、上記第4手法をより限定したものであるが、この第6手法では、上記(18)式や、η=M(M>1)とした上記(21)式を用いて前記指標値を算出する。
〔1−4−4〕第7手法
指標値算出手段61が、各記憶装置20の最大利用可能総容量Tiに、モニタエージェント50によってモニタされたシステム全体の使用率ρのM乗根(M>1)を重みとして乗算した値と、モニタエージェント50によってモニタされた、各瞬間において各記憶装置20に格納されているデータ総量Ui(もしくは論理記憶領域ごとのデータ格納量)との差を、前記指標値として算出する。そして、配置手段62が、指標値算出手段61によって算出された前記指標値を平準化するように、論理記憶領域の分散配置/再配置を行なう。つまり、第7手法も、上記第4手法をより限定したものであるが、この第7手法では、η=1/M(M>1)とした上記(21)式を用いて前記指標値を算出する。
〔1−4−5〕第8手法
指標値算出手段61が、モニタエージェント50によってモニタされた、各瞬間において各記憶装置20に格納されているデータ総量Ui(もしくは論理記憶領域ごとのデータ格納量)と、各記憶装置20の最大利用可能総容量Tiとの比と、モニタエージェント50によってモニタされたシステム全体の使用率ρ(上記(13)式参照)との差を、前記指標値として算出する。そして、配置手段62が、指標値算出手段61によって算出された前記指標値をゼロに近づけるように(Ui/Tiを使用率ρに近づけるように)、論理記憶領域の分散配置/再配置を行なう。つまり、第8手法では、上記(17)式を用いて前記指標値を算出する。
〔1−4−6〕第9手法
指標値算出手段61が、モニタエージェント50によってモニタされた、各瞬間において各記憶装置20に格納されているデータ総量Ui(もしくは論理記憶領域ごとのデータ格納量)と、モニタエージェント50によってモニタされた、各瞬間において全記憶装置20に格納されているデータ総量ΣUj(もしくは論理記憶領域ごとのデータ格納量)との比と、各記憶装置20の最大利用可能総容量Tiと全記憶装置20の最大利用可能総容量ΣTjとの比との差を、前記指標値として算出する。そして、配置手段62が、指標値算出手段61によって算出された前記指標値をゼロに近づけるように(Ui/ΣUjをTi/ΣTjを近づけるように)、論理記憶領域の分散配置/再配置を行なう。つまり、第9手法では、上記(16)式(もしくは上記(15)式)を用いて前記指標値を算出する。
上述した本発明の第1実施形態によれば、各記憶装置20もしくは全記憶装置20におけるデータ総量(UiもしくはΣUi)に係る情報に応じた分散配置/再配置処理を実行することが可能になり、各記憶装置20の最大利用可能総容量Tiや速度パフォーマンスなどの特性が大きく異なっているという状況下で、システム全体の使用率ρが変化しても、システム10を効率的かつ安定的に動作制御することができる。
特に、前述したように、各記憶装置20の最大使用可能総容量Tiに数倍から数十倍の開きがあり、各記憶装置20の速度パフォーマンス値にもまた数倍から数十倍の開きがあるような状況下で、システム全体の使用率ρが比較的小さくなった場合には、上記(5)式に従った使用容量平準化を行なうことにより、並列処理化によりシステム10の応答性能を向上させることができる。逆に、同様の状況下システム全体の使用率ρが比較的大きくなった場合(容量逼迫時)には、上記(9)式に従った残容量平準化を行なうことにより、システム全体の安定性を向上させてシステム10の容量逼迫までの寿命を延ばすことができる。
また、上述と同様の状況下で、上記(11)式または(12)式に従う容量使用率平準化を行なった場合には、システム全体の使用率が小さい場合、上記(5)式の挙動に近くなってシステム10の応答性能が向上する一方、システム全体の使用率が大きい場合、上記(9)式の挙動に近くなってシステム10の安定性能が向上する。
さらに、上記(18)式(上記(21)式でη=2の場合)や上記(21)式(ただしη≠1)に従う容量使用率平準化のバリエーションを実行した場合には、図2に示したように上記(12)式に従う容量使用率平準化とは少し異なった挙動が実現される。従って、上記(21)式におけるηの値を変更することでシステムの収束点のバランスを変化させ、平準化挙動を調整することが可能である。このような性質を利用し、ηを適宜設定することで、第3実施形態でも後述するごとく、システム10の状況や特性に応じたバランスでデータ配置を行なう等の操作が可能になる。
なお、再配置操作によるデータ移動を行なう際には、まず、移動元のデータを決定し、移動先を決定してから、実際のデータ移動が行なわれることになるが、その際、移動元のデータ決定時と移動先決定時とで、上記複数の指標値(複数の手法)のうちの、異なった2つを選択することにより、同一のものを用いた場合とはまた異なるバランスにシステム10を導くことも可能である。
また、上記の(5),(9),(11)〜(21)式では、論理記憶領域(=仮想的なディスクボリューム)を区別せずに各記憶装置20のデータ総量Uiを集計して得られた総和値が用いられている。このような総和値を用いて試行したところ、論理記憶領域ごとに見ると、特定の物理記憶装置20に、データを集中的に格納される論理ディスクボリュームが2以上存在する場合があった。このような場合、上記(5)式に従った使用容量平準化を行なっても、並列処理化によるシステム10の応答性能の向上が、全体的にみると充分でない場合があった。このような状況を回避するために、上記の(5),(11)〜(21)式において、論理記憶領域を区別して各記憶装置20のデータ総量Uiを集計した総和値を用いてもよい。なお、論理記憶領域に対して、信頼性向上のために物理的に多重化を行なってデータ格納する場合には、さらに、多重化記憶(1次記憶,2次記憶,…,N次記憶)の次数も区別してデータ総量Uiを集計して得られる総和値を用いることがより望ましい。これにより、システム10の使用率が小さい場合の応答性能がより向上する。また、論理記憶領域を区別せずに、多重化記憶(1次記憶,2次記憶,…,N次記憶)の次数だけを区別した集計結果を用いても、有効な指標値の計算が可能である。
さらに、データ処理装置30のリード/ライト対象であるデータに、そのデータに対する要求属性(データ要求属性)を予め設定しておき、指標値算出手段61が、配置手段62による分散配置/再配置対象であるデータの要求属性に応じた適切な指標値算出手法を、例えば上述した各種手法の中から決定し、決定された指標値算出手法を用いて前記指標値を算出してもよい。これにより、個々のデータはそれぞれのもつ属性に応じて、複数の記憶装置20上の物理記憶領域に分散配置/再配置されることになる。ここで、データ要求属性は、例えば、データ処理装置30のリード/ライト対象であるデータがトランザクション系(速度優先のデータ)のものであるかバックアップ系(ビット・コスト優先のデータ)のものであるかを示すものである。
〔2〕第2実施形態の説明
図3は本発明の第2実施形態としての分散型ネットワークストレージシステム(分散型ストレージシステム)の構成を示すブロック図で、この図3に示すように、第2実施形態の分散型ネットワークストレージシステム10Aも、第1実施形態のシステム10とほぼ同様に構成されているが、この第2実施形態のシステム10Aでは、配置エージェント60Aに、第1実施形態と同様の指標値算出手段61および配置手段62のほかに、停止手段63が追加されている。なお、図3において既述の符号と同一の符号は同一もしくはほぼ同一の部分を示しているので、その説明は省略する。
この第2実施形態で追加された停止手段63は、モニタエージェント50によるモニタ結果を受け、配置手段62による平準化が所定水準以上に達成されたこと、もしくは、前記指標値が所定水準以上にゼロに近づいたことを検知した場合、その時点で、それ以上の配置手段62による分散配置/再配置機能を停止させる機能を果たすものである。
システム10A(10)の配置手段62による再配置操作の最終段階においては、複数の記憶装置20のうちの2つの間で、同じデータが単振動のように往復する挙動が見られる場合がある。この挙動は、実際に、データ移動に伴うネットワーク通信を発生させるだけで、システム10A(10)のデータ格納状況は既に最終形に達しているので、何ら改善するものでない。つまり、この挙動は、ネットワーク資源(ネットワーク40)を浪費するだけである。
そこで、第2実施形態では、停止手段63を追加し、配置手段62による平準化水準や前記指標値の達成水準の閾値を設定し、停止手段63により、配置手段62による平準化水準や前記指標値の達成水準がその閾値(所定水準)に達したことを検知すると、配置手段62による分散配置/再配置処理を打切るようにしている。これにより、上述のような無駄な挙動が発生するのを確実に抑止でき、ネットワーク資源(ネットワーク40等)の浪費も抑止される。
また、再配置操作に入る前の、論理ボリューム(論理記憶領域)の割り当て時の処理においても、(5),(9),(11),(12),(15)〜(18),(21)式で与えられる評価指標を用いて、データ格納先を決定することにすれば、再配置操作によるネットワーク資源(ネットワーク40等)の消費は、物理記憶装置20の新規増設などの特殊な場合に限られるので、システム10A内のネットワーク・トラフィックを圧迫し難くなる。
〔3〕第3実施形態の説明
図4は本発明の第3実施形態としての分散型ネットワークストレージシステム(分散型ストレージシステム)の構成を示すブロック図で、この図4に示すように、第3実施形態の分散型ネットワークストレージシステム10Bも、第1実施形態のシステム10とほぼ同様に構成されているが、この第3実施形態のシステム10Bでは、配置エージェント60Bに、第1実施形態と同様の指標値算出手段61および配置手段62のほかに、属性テーブル64および変更手段65が追加されている。なお、図4において既述の符号と同一の符号は同一もしくはほぼ同一の部分を示しているので、その説明は省略する。
この第3実施形態のシステム10Bにおいては、複数の記憶装置20が、サービス属性(ストレージサービス属性)を予め設定された複数のクラス(組)に分類されるとともに、データ処理装置30のリード/ライト対象であるデータに、そのデータに対する要求属性(データ要求属性)が予め設定されるようになっている。
ここで、ストレージサービス属性は、各記憶装置20の有する性能(例えば速度パフォーマンス)や、各記憶装置20のビット単価(例えば導入費用かつ/または運用費用に基づいた単価)に基づくものである。また、データ要求属性は、例えば、データ処理装置30のリード/ライト対象であるデータがトランザクション系(速度優先のデータ)のものであるかバックアップ系(ビット・コスト優先のデータ)のものであるかを示すものであり、実際には、タグとしてデータに付与されるようになっている。
第3実施形態のシステム10Bでは、属性テーブル64において、データに付与されるデータ要求属性と、そのデータ要求属性に応じたストレージサービス属性を設定されたクラスに属する記憶装置20との対応関係を予め設定されている。この属性テーブル64においては、より具体的には、トランザクション系(速度優先)を示すデータ要求属性は、速度性能の高いクラス(速度性能の高い記憶装置20のグループ)に対応付けられ、バックアップ系(ビット・コスト優先)を示すデータ要求属性は、ビット・コストの小さいクラス(ビット・コストの小さい記憶装置20のグループ)に対応付けられる。
そして、第3実施形態の配置手段62は、指標値算出手段61によって算出された前記指標値に基づき、論理記憶領域を記憶装置20上の物理記憶領域に分散配置/再配置する際には、分散配置/再配置対象データの要求属性を参照し、その要求属性に応じたサービス属性を設定されたクラスを認識・決定し、決定されたクラスに属する記憶装置20上の物理記憶領域に、当該データの分散配置/再配置を行なう。
また、変更手段65は、各クラスに設定された前記ストレージサービス属性を、当該クラスに属する各記憶装置20の物理的状態の変化(例えば経時的変化)に応じて変更するもので、後述するごとく、各記憶装置20の物理的状態の変化が生じた場合に、属性テーブル64にクラス毎に設定されているストレージサービス属性を、その変化に応じて変更・調整するためのものである。この変更手段65は、実際には、オペレータによって操作される各種入力機器を含んで構成され、オペレータが各種入力機器から入力した指示に応じて属性テーブル64におけるストレージサービス属性の変更を行なうように構成されている。
このとき、指標値算出手段61が、分散配置/再配置対象データの要求属性に応じた指標値算出手法を、第1実施形態で説明した各種手法の中から決定し、決定された指標値算出手法を用いて前記指標値を算出するように構成してもよい。
ところで、上記特許文献3では、前述したように、複数の記憶装置を、属性を付したクラスに分類して管理し、各クラスの単位時間当たりの使用時間が、クラス毎に設定された上限値を超えないように負荷分散を行ない、ホット・スポット解消を行なっている。
これに対し、第3実施形態のシステム10Bでは、上述のごとく、速度性能優先のデータ(例えばトランザクション系のデータ)には速度優先のタグが付与され、ビット・コスト優先のデータ(例えばバックアップ系のデータ)にはビット・コスト優先のタグが付与されるとともに、複数の記憶装置20は、サービス属性を付与された複数のクラスに分類されており、上述のごとく、速度性能の高い記憶装置20の属するクラスや、ビット・コストの小さい記憶装置20の属するクラスが予め設定されている。
そして、配置手段62が属性テーブル64を参照することにより、速度優先データは速度性能の高いクラスに属する記憶装置20上にデータ配置され、ビット・コスト優先データはビット・コストの小さいクラス属する記憶装置20上にデータ配置されることになる。
また、システム運用期間が数年間にわたると、稼動初期にビット・コスト小を設定されたクラスに属する記憶装置20も、その後に増設された最新の記憶装置20と比較すると相対的にビット・コストが小ではなくなっている可能性がある(通常、後発の大容量機の方がビット単価は小になる)。同様に、稼動初期に速度性能高を設定されたクラスに属する記憶装置20も、通常、その後に増設された最新の記憶装置20と比較すると相対的に速度性能が高ではなくなっている(通常、同じクラスの製品であれば後発の装置の方がより性能が向上している)。このような状況に対応すべく、本実施形態では、変更手段65を用いることにより、システム稼働中に、属性テーブル64における各クラスの属性値を変化させることができるようになっている。
さらに、第1実施形態において上述した通り、上記(21)式におけるηの値を変更することでシステムの収束点のバランスを変化させ、平準化挙動を調整することが可能である。このような性質と、上述のごとく対象データに付与されたデータ要求属性とを組み合わせれば、そのデータ要求属性に応じて、上記(21)式におけるηの値を適宜設定・変更することで、速度優先データは速度性能高のクラスに属する記憶装置20上に、速度優先としたシステムバランスでデータ配置を行ない、ビット・コスト優先データはビット・コスト小のクラスに属する記憶装置20上に、ビット・コスト優先としたシステムバランスでデータ配置を行なう、等の操作が可能になる。この考え方は、記憶装置20のクラス分けを実施しない場合においても、勿論、適用可能である。
なお、第3実施形態において、属性テーブル64は、配置エージェント60Bに保持されているが、必要に応じて制御モジュール21から情報を収集して作成され、一連の分散配置/再配置作業の後に消滅する形態で、配置エージェント60Bに実装されてもよい。
〔4〕第4実施形態の説明
図5は本発明の第4実施形態としての分散型ネットワークストレージシステム(分散型ストレージシステム)の構成を示すブロック図で、この図5に示すように、第4実施形態の分散型ネットワークストレージシステム10Cも、第1実施形態のシステム10とほぼ同様に構成されているが、この第4実施形態のシステム10Cでは、予備記憶装置70および予備記憶装置用制御モジュール71が追加されるとともに、配置エージェント60Cにおいて、第1実施形態と同様の指標値算出手段61および配置手段62のほかに、通知手段66および自動追加手段67が追加されている。なお、図5において既述の符号と同一の符号は同一もしくはほぼ同一の部分を示しているので、その説明は省略する。
この第4実施形態のシステム10Cにおいて、通知手段66は、モニタエージェント50によってシステム運用中の各瞬間においてモニタされるシステム全体の使用率ρを受け、その使用率ρが予め設定された水準を超えた場合に、その旨をシステム管理者(オペレータ等)に通知するものである。この通知手段66は、具体的には、配置エージェント60Cを構成する端末(コンピュータ等)の表示機能や音声出力機能によって実現される。
また、自動追加手段67は、通知手段66がシステム管理者に通知を行なった場合に、予め用意された予備記憶装置70を、この予備記憶装置70用の制御モジュール71を介し、ネットワーク40に自動的に追加・接続する機能を果たすものである。このとき、自動追加手段67は、通知手段66がシステム管理者に通知を行なった場合ではなく、その通知に関係なく、上記使用率ρが予め設定された水準を超えた場合に、予備記憶装置70を、この予備記憶装置70用の制御モジュール71を介し、ネットワーク40に自動的に追加・接続するように構成されてもよい。
一方、図6は本発明の第4実施形態としての分散型ネットワークストレージシステム(分散型ストレージシステム)の構成の変形例を示すブロック図で、この図6に示すように、本変形例も、図5に示すシステム10Cとほぼ同様に構成されているが、この変形例では、推定手段68が追加されている。なお、図6において既述の符号と同一の符号は同一もしくはほぼ同一の部分を示しているので、その説明は省略する。
この変形例のシステム10Cにおいて、推定手段68は、モニタエージェント50によってシステム運用中の各瞬間においてモニタされるシステム全体の使用率ρを受け、その履歴をモニタし続け、その使用率ρの履歴に基づいて、この使用率ρの近未来値を推定するものである。そして、通知手段66は、推定手段68によって推定された近未来値が予め設定された水準を超えた場合に、その旨をシステム管理者(オペレータ)に通知する機能を果たす。また、自動追加手段67は、上述したものと同様、通知手段66がシステム管理者に通知を行なった場合に、予め用意された予備記憶装置70を、この予備記憶装置70用の制御モジュール71を介し、ネットワーク40に自動的に追加・接続する機能を果たすものである。このとき、自動追加手段67は、通知手段66がシステム管理者に通知を行なった場合ではなく、その通知に関係なく、上記近未来値が予め設定された水準を超えた場合に、予備記憶装置70を、この予備記憶装置70用の制御モジュール71を介し、ネットワーク40に自動的に追加・接続するように構成されてもよい。
第1〜第3実施形態のシステム10,10A,10Bを用いると、上述した通り、システム全体の使用率が大きい場合にシステム10,10A,10Bの安定性能が向上することになるが、このために、システム全体の容量が完全に逼迫するまで、システム管理者がその状況に気付き難いおそれがある。
そこで、モニタエージェント50により、システム全体の利用率ρが制御パラメータとして常にモニタされていることを利用し、第4実施形態のシステム10Cでは、配置エージェント60Cを構成する端末(コンピュータ等)の表示機能や音声出力機能により、使用率ρもしくは使用率ρの近未来値が予め設定された水準を超えたといった現況をシステム管理者に適確に通知することができる。このような通知を受けたシステム管理者は、その現況に応じた対応を迅速にとることができる。
また、前述した通り、現在の大規模ネットワークストレージシステムに対する社会的要求は「1年365日、24時間連続運転を保証」するといった厳しいものである。この要求に答えるために、従来システムでは、システム管理者は休日返上でシステムの状況を監視し続ける必要が生じてしまう。これに対し、第4実施形態のシステム10Cでは、上述のごとく、適切なサイズのリザーブ用の記憶装置70および制御モジュール71をスタンバイさせておき、危機的状況のときには(ここでは、使用率ρもしくは使用率ρの近未来値が所定水準を超えた時)、自動追加手段67により、自動的に、これらの記憶装置70および制御モジュール71がシステム10Cに追加・起動される。これにより、システム管理者も安心して休暇を楽しむことができる。このようにして新規の記憶装置70や制御モジュール71を増設された直後には、標準のデータ再配置機能が動作して、システム10Cは再び安定した状態に導かれるのである。
〔5〕第5実施形態の説明
図7は本発明の第5実施形態としての分散型ネットワークストレージシステム(分散型ストレージシステム)の構成を示すブロック図で、この図7に示すように、第5実施形態の分散型ネットワークストレージシステム10Dも、第1〜第4実施形態のシステム10,10A,10B,10Cとほぼ同様に構成されているが、この第5実施形態のシステム10Dでは、第1〜第4実施形態で1つだけそなえられていた配置エージェント60(60A,60B,60C)が2つ以上そなえられている。なお、図7において既述の符号と同一の符号は同一もしくはほぼ同一の部分を示しているので、その説明は省略する。
特に、図7に示す第5実施形態のシステム10Dにおいては、第1〜第4実施形態において説明した、モニタエージェント50と、2つの配置エージェント60(60A,60B,60C)とがそなえられ、各配置エージェント60(60A,60B,60C)が、モニタエージェント50によるモニタ結果に応じて動作するように構成されている。つまり、第5実施形態のシステム10Dでは、上述した指標値算出手段61と配置手段62との対が複数組実装され、これら複数組の対が独立して指標値算出機能および分散配置/再配置機能を果たすようになっている。
第5実施形態のごとく、2つの配置エージェント60(60A,60B,60C)をそなえ、これらの配置エージェント60(60A,60B,60C)が、それぞれ、異なる指標値算出手法を採用すると、システム10Dは一定の最終形に辿り着いてもデータの移動が停止できない状態になることが考えられる。
しかし、次のような手法を採用することにより、システム10Dは一定の最終形に辿り着くと同時にデータの移動も停止し、極めて安定的な運用が可能になる。つまり、まず、2つの配置エージェント60(60A,60B,60C)のうちの一方(第1)の再配置エージェントが、論理記憶領域を区別しない集計に基づいてシステム全体の資源利用形態を最適配分する。そして、他方(第2)の配置エージェントが、論理記憶領域を区別した集計に基づいてデータの交換操作(再配置操作)だけを行なって、論理記憶領域毎の資源利用形態を平準化する。
このような手法を採用することにより、次のような2つのメリットが得られる。まず、第1に、システム全体の資源利用形態を急いで最適配分したいシステム状況のときに、第2の配置エージェントの動作を一時的に止め(もしくは緩慢に動かして)、システム全体の資源利用形態を急いで最適配分することができる。そして、システム全体の資源利用形態を最適配分した後に、第2の配置エージェントの動作を通常状態に戻すことができる。第2に、システム10Dの動作状態として、第1の配置エージェントおよび第2の配置エージェントの動作スピードをそもそも別々に設定できるという、新たな設定自由度が生まれる。
〔6〕システムの安定的運用に係る評価値(システム安定度/システム逼迫度)の説明
ところで、上述した第1〜第5実施形態では、最大利用可能総容量の異なるものを含む複数の記憶装置20から構成されている分散型ストレージシステム10,10A〜10Dにおいて、各システム10,10A〜10Dを効率的かつ安定的に動作制御するための実現手法を開示した。
特に、第4実施形態の変形例においては、現在のシステム10Cのリソース使用状況(特にシステム全体の使用率ρ)をモニタするモニタエージェント50と、モニタ結果(+過去の履歴)に基づいて、システム10Cのリソース使用状況(特に全体使用率ρ)の近未来予測値を推定する推定手段68とを用いることにより、ストレージシステム10Cを使用限界状態近くのギリギリまで安定的に動作させることができるのようになっている。
しかし、このように使用限界状態近くのギリギリまで安定的に動作するということは、逆に、システム管理者がシステム容量の逼迫に限界直前まで気付かないというおそれも生じさせてしまう。
現在のシステム全体の使用率ρは、文字通り現在の使用率の値に過ぎず、また、上記推定手段68により、現在の使用率ρの値と過去の使用率ρの値の履歴とに基づいて、近未来の使用率ρの値を予測すると言っても、その予測推定値は、単なる外挿に基づく、近未来時点の使用率ρの値に過ぎない。これらの使用率の値が、いかほどになったら、システムの安定性がどれほどのもので、それならば安心できる/安心できないのかを客観的に判断することは、現状、とても困難である。
そこで、本発明の第6〜第9実施形態では、システムの安定的運用に係る評価値(システム安定度/システム逼迫度)を導入している。即ち、以下に説明する実施形態では、モニタエージェント50によってモニタされる現状のシステム・リソース使用状況(各記憶装置20もしくは全記憶装置20に格納されているデータ総量もしくは使用可能残容量に係る情報を含むシステム情報)に基づき上記評価値を算出し、「M回目(先)のリカバー操作の成否を判定」する手段(後述する判定部(評価値算出手段)81)が提供される。
ここで、「リカバー操作」とは、あるストレージ・ノードに障害が発生し、データが失われたとき、失われたデータの冗長化ペア(3重化以上の冗長度では、冗長化グループの一員)の情報に基づいて、失われたデータを回復する操作のことである。このリカバー操作は、一般的には、システム動作の一つであり、通常の一般ユーザからは見えない場所(本実施形態では、後述する障害回復(リカバー)手段92)で行なわれる。しかし、システム管理者にとって、ノード障害の発生およびリカバー操作の成否は、ともに重要なシステム情報であり、どちらも、常に注目すべき種類の情報の一つである。
本発明では、上述のように「M回目(先)のリカバー操作の成否を判定」する手段、即ち、「(M−1)回目までのリカバー操作が仮に成功するとして、M回目のリカバー操作の成否を判定」する手段を提供する。その手段の方法論的記述(評価値としてのシステム安定度/システム逼迫度の算出方法)について、以下に詳細に説明する。
〔6−1〕記号の説明
使用容量が最も多いノード(最逼迫ノード)について、その使用容量をUa、その残容量をRaと表記する。また、使用容量が2番目に多いノードについて、その使用容量をUb、その残容量をRbと表記し、使用容量が3番目に多いノードについて、その使用容量をUc、残容量をRcと表記する。さらに、システムの残容量合計(総残容量)をRt、システムの使用容量合計(総使用容量)をUtと表記する。なお、必要に応じて、使用容量が4番目以降のノードについて、その使用容量をUd,Ue,…と表記し、その残容量をRd,Re,…と表記する。
〔6−2〕1回のリカバー操作の成否(リカバー操作に関する逼迫度指標)について
ある一つのノードに対する1回のリカバー操作の成否(リカバー操作に関する逼迫度指標)について説明する。ここで、そのリカバー対象ノードの使用容量をUi、同ノードの残容量をRiと表記する。
リカバー対象ノードが2重化冗長度のシステムに属している場合、ミラーペアのノード(生き残っている方)をコピー元にし、対応するコピー先(退避先,退避ノード)は「コピー元ノードとは異なるノード」であればよい。リカバー対象ノード自身は、当然、コピー先になれない。このとき、退避ノードの行き先(残容量)は下記(25)式となる。
Figure 0004418286
リカバー対象ノードが3重化以上の冗長度のシステムに属している場合、ミラーグループのうちの一つのノード(生き残っているノード)をコピー元にし、対応するコピー先は「ミラーグループのメンバが一つも載っていないノード」でなければいけない。リカバー対象ノード自身は、当然、コピー先になれない。このとき、退避ノードの行き先(残容量)は下記(26)式となる。
Figure 0004418286
リカバー対象ノードがN重化冗長度のシステムに属している場合、生き残ったミラーグループのメンバ数(調べなければならないミラーグループのメンバ数)は(N−1)個であり、コピー先に「なってはいけない」ノードは、ノードごとに入れ替わる。リカバー操作には順番がある(全てのリカバー操作が同時には(一瞬には)起こらない)と仮定すると、最後に操作されるノードのリカバー操作は、システム残容量が最小になった時点で起こることになり、最後に操作されるノード(最もクリティカルなノード)が退避可能か否かが問題になる。つまりは、後述するごとく下記(27)式を満たすか否かが問題になる。リカバー対象ノード自身は、当然、コピー先になれない。
Figure 0004418286
ワーストケースを考えてシステムの安定性を議論する場合(もはや必要十分条件ではない)、上記不等式(27)の左辺における
Figure 0004418286
Figure 0004418286
となる組合せにおいても、上記不等式(27)が成立すれば、システムは安定であると言えると考えられる。従って、上記不等式(27)を整理すると、下記(28)式の通りになる。
Figure 0004418286
上記不等式(28)が成立する場合、システムは安定である。上記不等式(28)は下記(29)
式のように書いても同じである。
Figure 0004418286
この(29)式の左辺を、以下の説明では、「(1個のノードの)リカバー操作に対する逼迫度指標」と呼ぶ。上記不等式(29)を満たすとき、ノードiに対するリカバー操作は成功することになる。
〔6−3〕システム逼迫度:1次(最逼迫ノードの探索法)
最多使用量のノード(最逼迫ノード)がリカバー対象になった場合のリカバー操作の成功条件は、下記(30)式で示す不等式(上記(29)式においてi=aとした不等式)を満たすことであり、そのリカバー操作に成功した後のシステム残容量Rt (a)は下記(31)式となる。
Figure 0004418286
次最多使用量のノード(使用容量が2番目に多いノード)がリカバー対象になった場合のリカバー操作の成功条件は、下記(32)式で示す不等式(上記(29)式においてi=bとした不等式)を満たすことであり、そのリカバー操作に成功した後のシステム残容量Rt (b)は下記(33)式で与えられる。
Figure 0004418286
ここで、上記(30)式と上記(32)式とを比較し、例えば、下記(34)式のごとく、
Figure 0004418286
上記(30)式の左辺>上記(32)式の左辺であるとする。
このとき、上記(34)式の左辺における
Figure 0004418286
の組合せの中に、Rbが含まれる場合は、
Figure 0004418286
である。同様に、上記(34)式の右辺における
Figure 0004418286
の組合せの中に、Raが含まれる場合は、
Figure 0004418286
である。
従って、Ra,Rbが「いずれも含まれる」場合(=残容量Ra,Rbがともに比較的大の場合)は、上記(34)式は下記(35)式と等価となることが判る。なお、ノード使用率平準化によるデータ再配置機構(前述した配置手段62の機能の一つ)が正しく働いている場合、残容量Ra,Rbはともに比較的大となる。
Figure 0004418286
上記項目〔6−1〕における添え字a,bの定義から、上記(35)式は、成立することが前提となっており、よって自明な式である。
上記のような特殊な場合を除き、(34)式はこれ以上単純化されない。
すなわち、上記(35)式(=添え字定義から自明な式)または(自明とはいえない)上記(34)式が真となる場合、最逼迫ノード(添え字a)がリカバー対象になった場合のリカバー操作の方が、使用容量が2番目に多いノード(添え字b)がリカバー対象になった場合のリカバー操作よりも、よりクリティカルであることがわかった。
「最逼迫ノード」の探索としては、自明ではない上記(34)式を参考に、下記(36)式による最大値
Figure 0004418286
を与えるノードiを探すか、より単純化された(自明な)上記(35)式を参考に、下記(37)式による使用容量
Figure 0004418286
を与えるノード(つまり、複数ノードの中から使用容量(データ格納量)が最大であるノード)を探す。
システムにおいて一つの巨大ノードと多くの弱小ノードとが存在するような場合、仮にその巨大ノードが殆ど空であったとしても、その巨大ノードが「最逼迫ノード」に該当してしまう可能性が高い。なぜなら、巨大ノードがリカバー対象になってしまうと、巨大ノード自身のもつ巨大残容量を利用できなくなるからである。上記(34)式に基づく指標の分母において、Riが減算要素として入っていることの意味は、上記の通りである。
大抵の大規模ストレージシステムは、下記(38)式
Figure 0004418286
が成立する条件(即ち、Nが十分小で且つRt>>Ri&&Rt>>Rj)で使用される。よって、この条件を満たすノードiは、max(Uj)を与えるノードjと多くの場合、一致する。つまり、上記(34)式の不等式関係と上記(35)式の不等式関係とは殆どの場合、一致する。また、単純化された上記(35)式の指標を用いても、多くの場合正しく最逼迫ノードが探索される。
〔6−4〕システム逼迫度:2次
以下、特記なき限り、Rt>>Ri条件下における話とする。また、これ以降、ノード使用率平準化によるデータ再配置機構を、デフォルトで(=特記なき限り)導入する。
(A)最多使用量のノードがリカバー対象になり、続いて次最多使用量のノードがリカバー対象になった場合
最多使用量のノード(最逼迫ノード)がリカバー対象になった場合のリカバー操作に成功した後のシステム残容量Rt (a)は上記(31)式で与えられ、その後、データ再配置後における次最多使用量のノード(使用容量が2番目に多いノード)の使用容量Ub (a)は下記(39)式で与えられる。
Figure 0004418286
続いて次最多使用量のノードがリカバー対象になった場合のリカバー操作の成功条件は、下記(40)式で示す不等式を満たすことであり、そのリカバー操作に成功した後のシステム残容量Rt (ab)は下記(41)式で与えられる。
Figure 0004418286
(B)次最多使用量のノードがリカバー対象になり、続いて最多使用量のノードがリカバー対象になった場合
次最多使用量のノードがリカバー対象になった場合のリカバー操作に成功した後のシステム残容量Rt (b)は上記(33)式となり、その後、データ再配置後における最多使用量のノードの使用容量Ua (b)は下記(42)式で与えられる。
Figure 0004418286
続いて最多使用量のノードがリカバー対象になった場合のリカバー操作の成功条件は、下記(43)式で示す不等式を満たすことであり、そのリカバー操作に成功した後のシステム残容量Rt (ba)は下記(44)式で与えられる。
Figure 0004418286
まず、上記(39)式および上記(42)式より、それぞれ、下記(45)式および下記(46)式が成り立つことが簡単に分かる。
Figure 0004418286
であることが簡単に分かる。これらの式(45),(46)より、一般に、下記(47)式が成り立つことが分かる。
Figure 0004418286
さらに、下記(48)式が成り立つことを示すのは容易である。
Figure 0004418286
これにより、上記(41)式と上記(42)式の右辺は互いに等値であることが示される。
即ち、複数回の(障害→リカバー)の組が成功してしまえば、過去のリカバー履歴(つまり、どのノードがどの順番でリカバー対象になってリカバーされたか)は、次回以降のリカバー操作の成否に対し、なんら影響を与えないことが分かった。
次に、上記(40)式と上記(43)式とを比較する。その際、Ua>Ubであることを前提とする。上記の(31),(33),(39),(42)式などより、上記(40)式の左辺は下記(49)式のごとく変形され、上記(43)式の左辺は下記(50)式のごとく変形される。
Figure 0004418286
上記計算から、下記表1に示すような関係があることが分かる。
Figure 0004418286
上記(49)式や上記(50)式の右辺における分子の共通項をCn、分母の共通項をCdとして整理すると、例えば、(40)式左辺>(43)式左辺は、下記(51)式のように記述される。ただし、両辺を(Ua−Ub)>0で割る操作を1回行なっている。
Figure 0004418286
そして、共通項を書き戻すと、(40)式左辺>(43)式左辺は次式(52)と等価となる。
Figure 0004418286
上記(52)式が成り立つ場合、負値である左辺第2項を省略した次式(53)もまた成り立つことが必要となる。
Figure 0004418286
しかし、上記(53)式と上記(28)式との間には矛盾がある。なぜなら、ノードaとノードbとをひとまとめにした巨大ノードを「仮想的に」考えると、上記(53)式と上記(28)式との間には不等号の向きに差がある。よって、仮に(53)式が成り立つ場合、ノードaおよびノードbを通じて最後に操作されるノードのリカバー操作は、失敗してしまうことが分かる。
上記(52)式が成り立つと、システムは安定ではありえないので、システムが安定であるためには(40)式左辺≦(43)式左辺でなければならないことが示された。即ち、安定なシステムでは(40)式による指標よりも(43)式による指標の方がよりクリティカルであることが示された。これを言い換えれば、最多使用量ノード(最逼迫ノード)が後からリカバー対象になる方が、2回目のリカバー操作はよりクリティカルになることが示された。
よりクリティカルであることがはっきりした上記(43)式の成立条件を整理すると、次式(54)が得られる。
Figure 0004418286
次式(55)が成り立てば、上記(54)式は必ず成り立つ。よって、リカバー操作の成否に関して、上記(54)式を簡略化した次式(55)を検証して済ませる考え方も、充分あり得る。
Figure 0004418286
ところで、上記(53)式の直後で述べたことと同様、上記(55)式は、ノードaとノードbとをひとまとめにした「仮想的な」巨大単一ノードに対して定義される、上記(28)式と何も変わらない。つまり、上記(54)式は、とても単純な考えに従って得られる上記(55)式よりも、ほんの少しだけ厳密性の高い判定条件となっているに過ぎない。
〔6−5〕システム逼迫度:M次
M回目のリカバー操作対象が最逼迫ノード(添え字a)となる事象を考える。(M−1)回目までのリカバー操作対象は、単純に、ノードの個別総容量Ti(=Ri+Ui)の大きい順に、ノードをリカバー対象にして、リカバー操作(成功を仮定)を行なえばよい。
まず最逼迫ノードを探索する。その際、上記(37)式による使用容量を与えるノード(つまり、複数ノードの中から使用容量(データ格納量)が最大であるノード)を探す。ノード使用率平準化によるデータ再配置機構が正しく働いていることを前提にする場合、最逼迫ノードを探索するためには、上記(37)式を用いれば充分である。しかし、より詳細な手順では、上記(36)式による最大値を与えるノードiを探す。
最逼迫ノード(添え字aとする)以外のノードを、総容量Tiの降順にソートして、まず上位(M−1)個のノードにマークをつける。
次に、残りのノードを、残容量Rjの降順にソートして、システムの冗長度Nに応じ、上位(N−1)個のノードにマークをつける。
そして、下記(56)式もしくは下記(57)式を用いてM回目のリカバー操作の成否を判定する。簡略化した手順では、上記(55)式を拡張して整理した次の不等式(56)を評価する。この不等式(56)が成立していれば、M回目のリカバー操作は必ず成功する。
Figure 0004418286
より詳細な手順では、上記(54)式を拡張して整理した次の不等式(57)を評価する。この不等式(57)が成立していれば、M回目のリカバー操作は必ず成功する。
Figure 0004418286
〔6−6〕まとめ
後述するごとく、本実施形態における判定部81(図8〜図12参照)が、モニタエージェント50のモニタ結果を含むシステム情報に基づき、複数の記憶装置(ノード)20を含んで構成される本システムの安定的運用に係る評価値(システム安定度/システム逼迫度)を算出する評価値算出手段としての機能を果たす。
この評価値算出手段が、モニタエージェント50のモニタ結果を含むシステム情報に基づき、複数の記憶装置20のうちの一つが障害発生によりデータを失った場合にそのデータを回復させるためのリカバー操作の実行可能回数Mを評価値(システム安定度/システム逼迫度)として算出するものである。
このとき、上記評価値算出手段は、「1回目のリカバー操作」,「2回目のリカバー操作」,…の成否を順次判定し、リカバー失敗と判定されるまで、成否判定を繰り返し行なう。その際、上記評価値算出手段は、M回目(M=1,2,…)のリカバー操作の成否判定処理において、
(a)モニタエージェント50のモニタ結果を含むシステム情報に基づき、複数の記憶装置20の中から、使用容量の最も多い記憶装置(最逼迫ノード)を探索する探索処理と、
(b)モニタエージェント50のモニタ結果を含むシステム情報に基づき、上記探索処理(a)で探索された最逼迫ノード以外の記憶装置20を各記憶装置20の総容量Tiおよび残容量Riについてソートし、総容量Tiについて上位M−1個の記憶装置20を抽出するとともに、残容量Riについて上位N−1個(Nは本システムの冗長度)の記憶装置20を抽出するソート処理(順位付け処理)と、
(c)上記ソート処理(b)によるソート結果に基づいて、M回目のリカバー操作の成否を判定する判定処理(不等式評価処理)との3段階の処理を実行している。
上記探索処理(a)では、上記(37)式による使用容量を与えるノード(つまり、複数ノードの中から使用容量(データ格納量)が最大であるノード)を探す。上述した通り、ノード使用率平準化によるデータ再配置機構が正しく働いていることを前提にする場合、最逼迫ノードを探索するためには、上記(37)式を用いれば充分である。また、上述した通り、より詳細な手順では、上記(36)式による最大値を与えるノードiを探す。なお、探索処理(a)では、上述した探索、もしくは、上述した探索と実質的に同等とみなせる探索が実行される。
上記ソート処理(b)では、最逼迫ノード(添え字aとする)以外のノードを、総容量Tiの降順にソートして、まず上位(M−1)個のノードにマークをつけるとともに、残りのノードを、残容量Rjの降順にソートして、システムの冗長度Nに応じ、上位(N−1)個のノードにマークをつける。
そして、上記判定処理(c)では、上記(56)式もしくは上記(57)式を用いてM回目のリカバー操作の成否を判定する。簡略化した手順では、上記(55)式を拡張して整理した上記不等式(56)を評価する。この不等式(56)が成立していれば、M回目のリカバー操作は必ず成功する。より詳細(厳密)な手順では、上記(54)式を拡張して整理した上記不等式(57)を評価する。この不等式(57)が成立していれば、M回目のリカバー操作は必ず成功する。
上述の手段を利用すると、例えば、次のように分散ストレージシステムの安定運用のための方法を構築することができる。
つまり、上記評価値算出手段は、運用中のシステム・リソース使用状態のモニタ結果に基づき、1回目のリカバー操作の成否判定,2回目のリカバー操作の成否判定,…を順次実行し、リカバー操作が成功したと判定された場合に次のリカバー操作の成否判定処理を実行し、M回目のリカバー操作の成否判定処理でリカバー操作が成功したと判定され且つM+1回目のリカバー操作の成否判定処理でリカバー操作が失敗したと判定された場合の「M」をリカバー操作の実行可能回数として算出する。このときのシステム安定度は「M次安定」であると呼ぶ。
そして、本実施形態では、算出されたシステム安定度Mを後述するごとくシステム管理者に通知したり、本実施形態の判定部81の比較手段(後述)としての機能により、システム安定度Mが予め定めた値未満まで小さくなったと判定された場合に、その旨をシステム管理者に通知したり、ストレージ・ノード増設などの措置によって、システム安定度を前述の値以上となるように運用したりするように構成することで、後述するごとく、本システムを効率的、かつ、真に安定的に運用することが可能になる。
〔7〕第6実施形態の説明
図8は本発明の第6実施形態としての分散型ネットワークストレージシステム(分散型ストレージシステム)の構成を示すブロック図で、この図8に示すように、第6実施形態の分散型ネットワークストレージシステム10Eも、第1実施形態のシステム10とほぼ同様に構成されているが、この第6実施形態のシステム10Eでは、第1実施形態の配置エージェント60に代えて通知エージェント80がそなえられるほか、障害検知手段91および障害回復(リカバー)手段92が新たに追加されている。なお、図8において既述の符号と同一の符号は同一もしくはほぼ同一の部分を示しているので、その説明は省略する。
ここで、障害検知手段91は、本システム10Eに含まれる各記憶装置(ノード)20における障害の発生を検知するものである。そして、障害回復(リカバー)手段92は、障害検知手段91によって障害の発生が検知され、その障害が発生した記憶装置(ノード)20におけるデータが失われた場合に、失われたデータの冗長化ペア(3重化以上の冗長度では、冗長化グループの一員)の情報に基づいて、失われたデータを回復するリカバー操作を実行するものである。
また、通知エージェント80は、判定部81および通知手段82をそなえて構成されている。
判定部81は、モニタエージェント50のモニタ結果(各記憶装置20もしくは全記憶装置20に格納されているデータ総量もしくは使用可能残容量に係る情報)を含むシステム情報に基づいて、上記項目〔6〕で説明した手法により、本システム10Eの安定的運用に係る評価値(システム安定度,リカバー操作の実行可能回数)Mを算出する評価値算出手段としての機能を果たすほか、通知手段82を動作させる機能を有している。さらに、判定部81は、算出された上記評価値Mと予め設定された閾値(第1閾値)とを比較する比較手段(第1比較手段)としての機能を果たすように構成されてもよく、この場合、その比較結果に応じて、判定部81が通知手段82を動作させることになる。
通知手段82は、判定部81によって制御され、上記評価値Mに応じてシステム管理者に対する通知を行なうもので、上記評価値M自体、もしくは、上記評価値Mに応じた状況を、何らかの手段により、システム管理者に対して通知するように動作する。具体的に、通知手段82は、例えば、以下のような通知動作(i-1),(i-2)を行なう。
(i-1) 通知手段82が、判定部81(評価値算出手段としての機能)によって算出された評価値Mを、常時、本システム10Eを管理するためのモニタ画面上に表示することによって、システム管理者に通知する。
(i-2) 通知手段82が、必要な場合(例えば、判定部81によって算出された評価値Mが所定条件を満たした場合)に、その旨を、特定のメールアドレスに電子メール等を送信したり特定装置(物理装置;例えば携帯端末など)に対し信号を発信したりすることによって、システム管理者に通知する。なお、上記所定条件に基づく条件判断は、上述した判定部81の比較手段としての機能によって行なわれ、具体的には、算出された評価値Mが閾値以下になったこと、もしくは、その閾値を下回ったことを条件に、判定部81が通知手段82にシステム管理者に対する通知動作を実行させる。
また、本実施形態のモニタエージェント(モニタ手段)50は、例えば、以下のような手法(ii-1)〜(ii-4)のうちの少なくとも一つの手法により本システム10Eの状態(システム情報)をモニタする。
(ii-1) モニタエージェント50が、各制御モジュール21からの報告を受け取ることによって、システム情報をモニタする。
(ii-2) モニタエージェント50が、各制御モジュール21の動作記録(ログ)を参照することによって、システム情報をモニタする。
(ii-3) モニタエージェント50が、各記憶装置20もしくは全記憶装置20の使用状態を、直接、実際に調査することによって、システム情報をモニタする。
(ii-4) モニタエージェント50が、制御モジュール21によって特定タイミングで予め収集・保存された各記憶装置20の使用状態を、その保存場所から順次読み出すことによって、システム情報をモニタする。
次に、上述のごとく構成された本システム10Eの動作について説明する。
モニタエージェント50は、各記憶装置20(ノードi)に格納されているデータ総量(使用容量)Uiと、各記憶装置20(ノードi)の使用可能残容量Riとの、現在時刻におけるそれぞれの値を、上述の手法(ii-1)〜(ii-4)のいずれかによってモニタする。なお、データ総量Uiおよび使用可能残容量Riは、一般に時々刻々変化する場合があるので、このような場合には、あるモニタ時刻における、各記憶装置20のUiとRiの値の組を、論理的に各制御モジュール21の中(またはどこか別の装置内)に記憶しておき、モニタエージェント50が、順番にその記憶された値を取り出す手法(上記手法(ii-4))を採用することが望ましい。
そして、判定部81における評価値算出手段としての機能は、モニタエージェント50がモニタした各記憶装置20のUiとRiの値の組に基づいて、以下の手順(上記項目〔6−6〕で説明した手順と同様の手順)で、評価値であるシステム安定度(システム逼迫度Mを算出する。
モニタエージェント50により、運用中のシステム・リソース使用状態の現在値(各記憶装置20のUi,Ri)がモニタされ、判定部81における評価値算出手段において、「1回目のリカバー操作」,「2回目のリカバー操作」,…の成否が順次判定され、リカバー失敗と判定されるまで、成否判定が繰り返し実行される。その際、M回目(M=1,2,…)のリカバー操作の成否判定処理においては、下記の(iii-1)探索処理,(iii-2)ソート処理および(iii-3)判定処理の3段階の処理が実行される。
(iii-1)探索処理: モニタエージェント50のモニタ結果を含むシステム情報に基づき、複数の記憶装置20の中から、使用容量の最も多い記憶装置(最逼迫ノード)として、本実施形態では上記(36)式による最大値を与えるノードiを探索する。
(iii-2)ソート処理(順位付け処理): モニタエージェント50のモニタ結果を含むシステム情報に基づき、上記探索処理(iii-1)で探索された最逼迫ノード以外の記憶装置20を各記憶装置20の総容量Tiおよび残容量Riについてソートし、総容量Tiについて上位M−1個の記憶装置20を抽出するとともに、残容量Riについて上位N−1個(Nは本システムの冗長度)の記憶装置20を抽出する。具体的には、最逼迫ノード以外のノードを、総容量Ti(=Ri+Ui)の降順にソートし、まず上位(M−1)個のノードにマークをつける。次に、残りのノードを、残容量Rjの降順にソートして、システムの冗長度Nに応じ上位(N−1)個のノードにマークをつける。
(iii-3)判定処理(不等式評価処理): 上記ソート処理(iii-2)によるソート結果に基づいて、M回目のリカバー操作の成否を判定する。その際、本実施形態では、上記(54)式を拡張して整理した上記不等式(57)を評価し、この(57)式を用いてM回目のリカバー操作の成否を判定する。この不等式(57)が成立していれば、M回目のリカバー操作は必ず成功する。
そして、M回目のリカバー操作の成否判定処理でリカバー操作が成功したと判定され且つM+1回目のリカバー操作の成否判定処理でリカバー操作が失敗したと判定された場合の「M」(つまりリカバー操作の実行可能回数;リカバー成功・失敗の境目にあたる回数)が、評価値(システム安定度)として算出される。このようにして算出された評価値Mに基づいて、判定部81が、上述した比較・判定を行ない、上述のごとく、通知手段82による通知動作を制御する。
第1〜第5実施形態のごとく効率的かつ安定的に動作制御することができるように配慮された分散型ストレージシステム(最大利用可能総容量の異なる複数の記憶装置20を含むシステム)10A〜10Dにおいては、そのシステムが限界状態近くのギリギリまで安定的に動作してしまい、システム管理者がシステム容量の逼迫に気づき難くなってしまうおそれがあったが、上述した本発明の第6実施形態のシステム10Eによれば、本システム10Eの安定的運用に係る評価値(システム安定度)Mに応じてシステム管理者に対する通知が行なわれ、上述のようなおそれが解消され、本システム10Eを効率的、かつ、真に安定的に運用することが可能になる。
特に、本実施形態では、現状のシステム・リソース使用状況(モニタ結果を含むシステム情報)に基づいてM回目(先)のリカバー操作の成否を判定し、リカバー操作の実行可能回数Mがシステム安定度(評価値)として算出される。つまり、本実施形態によれば、分散型ストレージシステム10Eにおいて、現状のシステム・リソース使用状況に基づいて、システム安定度M(Mは非負の整数)を、「M回先のリカバー操作が必ず成功する」といった、明確かつ具体的な意味をもって定義することができ、さらに、上述のシステム安定度Mを、簡単な算術計算と大小比較のみによって、正確に算出・判定することが可能になる。
ところで、図9は本発明の第6実施形態としての分散型ネットワークストレージシステム(分散型ストレージシステム)の構成の変形例を示すブロック図で、この図9に示すように、第6実施形態の変形例も、図8に示すシステム10Eとほぼ同様に構成されているが、この変形例では、第1実施形態で説明した配置エージェント60が追加されている。なお、図9において既述の符号と同一の符号は同一もしくはほぼ同一の部分を示しているので、その説明は省略する。
図9に示すように、第6実施形態のシステム10Eに配置エージェント60をそなえた場合、第1実施形態において上述した通り、各記憶装置20の最大利用可能総容量Tiや速度パフォーマンスなどの特性が大きく異なっているという状況下で、システム全体の使用率ρが変化しても、システム10Eを効率的かつ安定的に動作制御することが可能になる。このようなシステム10Eにおいて、上述した通知エージェント80がそなえられることにより、システムが効率的かつ安定的に動作するように配慮したがために使用限界状態の間際まで安定に動作してしまい、システム管理者がシステム容量の逼迫に気づき難くなってしまうという状況を解消することができ、本システム10Eを効率的、かつ、真に安定的に運用することが可能になる。
特に、図9に示すシステム10Eにおいて、配置エージェント60が第1実施形態の第5手法を採用したものである場合、つまり、ノード使用率平準化によるデータ再配置機構が正しく働いていることを前提にする場合、最逼迫ノードを探索する際には、上記(37)式を与えるノード(つまり、複数ノードの中から使用容量(データ格納量)が最大であるノード)を探し、それ以降の手順は、第6実施形態と同様とする。この場合、最逼迫ノードの探索において、ほとんど計算コストが掛からないという利点が得られる。
また、大規模な分散型ストレージシステムにおいて、殆どのケースでRtは、
Figure 0004418286
よりも桁違いに大である。この場合も、近似的な扱いとして、上述した第6実施形態の変形例と同じ最逼迫ノードの探索法を採用することができ、近似計算による誤差の入り込む心配をほとんど感じることなく、計算コストの節約を図ることが可能になる。
さらに、上述した第6実施形態やその変形例に倣い、リカバー操作の成否判定において、上記不等式(57)よりも簡略化した上記不等式(56)を用いてもよい。この不等式(56)が成立していれば、M回目のリカバー操作は必ず成功する。このような不等式(56)を用いた場合には、リカバー操作の成否判定において、第6実施形態やその変形例よりも計算コストを節約できる利点が得られる。ここで用いる成否判定条件式(56)は、第6実施例で用いる成否判定条件式(57)に対し、数値上ごくわずかだけ条件の厳しい方向にずれただけの式であり、その差は小さいが、計算コストの差は馬鹿にならない。従って、判定条件式のごくわずかの差に起因する判定誤差の入り込む心配をほとんど感じることなく、計算コストを節約することが可能になる。
〔8〕第7実施形態の説明
図10は本発明の第7実施形態としての分散型ネットワークストレージシステム(分散型ストレージシステム)の構成を示すブロック図で、この図10に示すように、第7実施形態の分散型ネットワークストレージシステム10Fも、第6実施形態のシステム10Eとほぼ同様に構成されているが、この第7実施形態のシステム10Fでは、第6実施形態の判定部81に代えて判定部81aがそなえられている。なお、図10において既述の符号と同一の符号は同一もしくはほぼ同一の部分を示しているので、その説明は省略する。また、図10において、上述した障害検知手段91および障害回復(リカバー)手段92の図示は省略されている。さらに、図10に示すシステム10Fにおいても、図9に示すシステム10Eと同様、配置エージェント60をそなえてもよい。
この第7実施形態における判定部81aには、異なる2種類の閾値(第1閾値,第2閾値)M1,M2が与えられ、判定部81aは、与えられた閾値M1,M2と算出された評価値(システム安定度)Mとを比較する比較手段(第1比較手段および第2比較手段)として機能するようになっている。そして、本実施形態では、その比較結果に応じて、通知手段82が、システム管理者に対する通知動作を段階的に行なうようになっている。
これにより、システム安定度Mが第2閾値M2(>M1)以下(もしくは未満)になった場合に、その旨(システムが不安定な状態(限界に近い状態)になった旨)が通知手段82によりシステム管理者に通知され、その後、さらにシステムが不安定な状態となり、システム安定度Mが第1閾値M1以下(もしくは未満)になった場合に、その旨(システムがより限界に近い状態になった旨)が通知手段82によりシステム管理者に通知される。このようにシステム安定度Mに応じた段階的な通知を行なうことにより、システム管理者は、システム10Fの状況を段階的に把握することができ、より確実にシステム容量の逼迫を認識することができる。なお、ここでは、閾値を2種類とし2段階で通知を行なう場合について説明したが、本発明は、これに限定されるものではなく、3種類以上の閾値を与え、3段階以上でシステム管理者に対する通知を行なうようにしてもよい。
〔9〕第8実施形態の説明
図11は本発明の第8実施形態としての分散型ネットワークストレージシステム(分散型ストレージシステム)の構成を示すブロック図で、この図11に示すように、第8実施形態の分散型ネットワークストレージシステム10Gも、第6実施形態のシステム10Eとほぼ同様に構成されているが、この第8実施形態のシステム10Gは、第7実施形態のシステム10Fに、さらに補機追加手段90を追加して構成されている。なお、図11において既述の符号と同一の符号は同一もしくはほぼ同一の部分を示しているので、その説明は省略する。また、図11において、上述した障害検知手段91および障害回復(リカバー)手段92の図示は省略されている。さらに、図11に示すシステム10Gにおいても、図9に示すシステム10Eと同様、配置エージェント60をそなえてもよい。
補機追加手段(自動追加手段)90は、第4実施形態の自動追加手段67とほぼ同様の機能を果たすものであるが、この第8実施形態では、判定部81aにおいて算出されたシステム安定度Mに応じて、予め用意された予備記憶装置70を、この予備記憶装置70用の制御モジュール71を介し、ネットワーク40に自動的に追加・接続する機能を果たすものである。
特に、本実施形態では、判定部(比較手段)81aによる比較の結果、システム安定度Mが第1閾値M1よりも大きい第2閾値M2以下(もしくは未満)となった場合には、まず、通知手段82がシステム管理者に対する通知動作(アラーム通知)を行ない、その後、判定部(比較手段)81aによる比較の結果、システム安定度Mが第1閾値M1以下(もしくは未満)となった場合には、補機追加手段90が、予め用意された予備記憶装置70を、この予備記憶装置70用の制御モジュール71を介し、ネットワーク40に自動的に追加するように構成されている。
上述した第6実施形態では、通知エージェント80にそなわる通知手段82は、算出されたシステム安定度(評価値)Mや、そのシステム安定度Mに応じた状況を、システム管理者に対し、何らかの手段により通知するものとしたが、通知を受けたシステム管理者がしなければならないことは、「システム安定度」の値Mが、システム管理者にとって安心できる値となるまで、ストレージシステムの全体の可用容量を増加させることである。システム管理者は、そのために、夜間休日でも、ストレージシステムからの運用上の危機通知に注意を払っていなければならない。そこで、本実施形態においては、通知エージェント80の判定部81aおよび通知手段82によるシステム運用上の危機通知機能に対応して、補機追加手段90により、予め用意された予備記憶装置70が、システム10G(ネットワーク40)に自動的に追加・接続される。
システム10Gの安定運用に対する配慮のみの観点から言えば、「予め用意された予備記憶装置70を、運用上の危機にあたって、システム10Gに自動追加する」ことは、「予備記憶装置70を用意した時点で、予めシステム10Gに追加しておく」ことと比べ、一見全く何の利点もないように見える。しかしながら、システム管理運用コストの観点から言えば、安全度を大きく取るあまり、本来は不必要なほど大きなストレージを必要な時期に比べ早い時期から運用することは、システム管理運用コストを押し上げるおをれがあるという点で、経済的に不利であると考えられる。従って、第8実施形態に示す「予備記憶装置70の自動追加手段90」は、分散型ネットワークストレージシステム10Gの高安定度運用において、コストパフォーマンスの高い解決策を提供するものである。
〔10〕第9実施形態の説明
図12は本発明の第9実施形態としての分散型ネットワークストレージシステム(分散型ストレージシステム)の構成を示すブロック図で、この図12に示すように、第9実施形態の分散型ネットワークストレージシステム10Hも、第8実施形態のシステム10Gとほぼ同様に構成されているが、この第9実施形態のシステム10Hは、第8実施形態のシステム10Gに、さらに追加用補機容量の推奨値算出部93を追加して構成されている。なお、図12において既述の符号と同一の符号は同一もしくはほぼ同一の部分を示しているので、その説明は省略する。また、図12において、上述した障害検知手段91および障害回復(リカバー)手段92の図示は省略されている。さらに、図12に示すシステム10Hにおいても、図9に示すシステム10Eと同様、配置エージェント60をそなえてもよい。
ここで、追加用補機容量の推奨値算出部(推奨値算出手段,推測エージェント)93は、モニタエージェント50によるモニタ結果を含むシステム情報に基づいて、予備記憶装置70として予め用意すべき記憶装置のサイズおよび/もしくは台数の推奨値を算出するものである。特に、本実施形態において、推奨値算出部93は、補機追加手段90により予備記憶装置70を追加した際にシステム安定度Mが前記第2閾値M2を超えるような(もしくは前記第2閾値M2以上となるような)、記憶装置のサイズおよび/もしくは台数を、前記推奨値として算出するようになっている。つまり、推奨値算出部93によって算出される推奨値は、予備記憶装置70の追加後に通知手段82が作動することのないレベルで設定される。
上述した第8実施形態では、「システム安定度」の値Mの変化に応じ発生する危機通知に対し、補機追加手段90が、予め用意された予備記憶装置70を、システム(ネットワーク40)に自動的に追加・接続するものとした。ここで、予め用意すべき予備記憶装置70のサイズや台数は、自動追加の実施の後、「システム安定度」の値Mが、システム管理者にとって安心できる値となるくらいのレベルである必要がある。
そこで、第9実施形態においては、通知エージェント80が、モニタエージェント50から得られる現在のリソース使用状態に基づき、「システム安定度」の値Mを算出し、必要に応じて危機通知を行なうとともに、推奨値算出部(推奨値算出手段,推測エージェント)93が、現在の「システム安定度(現在値)」を、現在よりも安定な状態を示す「システム安定度(設定値)」まで向上させるために必要となる、予備記憶装置70の「推奨サイズ(と台数)」を算出する。そして、その算出結果は、例えば、システムのモニタ画面上に常時表示してシステム管理者に通知され、その表示を参照したシステム管理者は、表示された「推奨サイズ(と台数)」の予備記憶装置70を確実に準備することができるので、本システム10Hを極めて安定的に運用することが可能になる。
なお、推奨値算出部93による推奨サイズの算出方法としては、例えば以下のような手法が挙げられる。
M回目のリカバー操作が成功する条件は、単純化した式で示すと、上記不等式(56)と同じ下記不等式(58)で与えられる。
Figure 0004418286
ここで、前述した通り、Nはシステムの冗長化係数、添字aは最逼迫ノードを表す。そして、上記(58)式における和
Figure 0004418286
は、総容量Ti(=Ri+Ui)でソートした結果の上位(M−1)個の和であり、上記(58)式における和
Figure 0004418286
は、残りのノード中で、残容量Rjでソートした結果の上位(N−1)個の和である。上記(58)式で表される状態に、総容量Txのノード(予備記憶装置70)が付加されたとする(つまり、ここでは付加されるノードの添字をxとする)。
ノードxは、少なくとも再配置前にはUx=0であるので、最逼迫ノードaに置き換わる心配はない。ここでは、総容量Tx(=Rx:再配置前には成立)がどれほどの大きさかによって、(a1)ノードxが総容量上位(M−1)個に含まれる場合と、(a2)ノードxが総容量上位(M−1)個に含まれない場合との2つの場合に分けて考える。
(a1)ノードxが総容量上位(M−1)個に含まれる場合:
Figure 0004418286
再配置前の状態を考えると、Ux=0である。そのように置いて、上記(59)式の両辺から共通項Rxを引くと、上記(59)式は次式(60)と等価であることが示される。
Figure 0004418286
上記(60)式と上記(58)式との比較より、次のことが分かる。即ち、充分大きなサイズのノードx(そのサイズの下限値は、システムの総容量上位(M−1)個以内に含まれるか否かで決まる)を1個付加することは、システムの安定度Mをちょうど1高めたことと等価になっている。
(a2)ノードxが総容量上位(M−1)個に含まれない場合:
もう一つの付加ノードy(予備記憶装置70)を用意して、Tx+Tyの合計が総容量上位(M−1)個に含まれる程度の大きさとなるようにできれば、上記の(a1)の場合と同じ理由により〔このようになることの根拠は、結局のところ、上述した項目〔6〕における上記(55)式と上記(28)式との関係から類推される。〕、システム安定度Mをちょうど1高めることが可能になる。
以上の検討により、次のことが分かる。予備記憶装置70として用意するストレージ容量の合計が、システムの総容量上位第(M−1)位のノードの総容量以上であれば、その予備記憶装置70を付加することにより、システム安定度Mはちょうど1高まる。また、以上より容易に類推できることとして、予備記憶装置70として用意するストレージ容量の合計が、システムの総容量上位第(M−1)位+第(M−2)位のノードの総容量の合計以上であれば、その予備記憶装置70を付加することにより、システム安定度Mはちょうど2高まると考えられる。従って、システム安定度Mを3,4,5,…と高める手法も、同様に考えることが可能である。
〔11〕その他
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、各実施形態で示した、記憶装置20,制御モジュール21,データ処理装置30,ハブ41,配置エージェント60(60A,60B,60C),通知エージェント80,補機追加手段90,予備記憶装置70,予備記憶装置用制御モジュール71の数は、図示した数に限定されるものではない。
また、上述した指標値算出手段61,配置手段62,停止手段63,変更手段65,自動追加手段67,推定手段68,判定部81,81a,補機追加手段90,推奨値算出部93としての機能(各手段の全部もしくは一部の機能)は、コンピュータ(CPU,情報処理装置,各種端末を含む)が所定のアプリケーションプログラム(分散型ストレージシステム用制御プログラム)を実行することによって実現される。
そのプログラムは、例えばフレキシブルディスク,CD−ROM,CD−R,CD−RW,DVD等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体から分散型ストレージシステム用制御プログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信回線を介してコンピュータに提供するようにしてもよい。
ここで、コンピュータとは、ハードウエアとOS(オペレーティングシステム)とを含む概念であり、OSの制御の下で動作するハードウエアを意味している。また、OSが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウエアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえている。上記分散型ストレージシステム用制御プログラムとしてのアプリケーションプログラムは、上述のようなコンピュータに、指標値算出手段61,配置手段62,停止手段63,変更手段65,自動追加手段67,推定手段68,判定部81,81a,補機追加手段90,推奨値算出部93としての機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくOSによって実現されてもよい。
さらに、本実施形態における記録媒体としては、上述したフレキシブルディスク,CD−ROM,CD−R,CD−RW,DVD,磁気ディスク,光ディスク,光磁気ディスクのほか、ICカード,ROMカートリッジ,磁気テープ,パンチカード,コンピュータの内部記憶装置(RAMやROMなどのメモリ),外部記憶装置等や、バーコードなどの符号が印刷された印刷物等の、コンピュータ読取可能な種々の媒体を利用することもできる。
〔12〕付記
(付記1) データを記憶するものであって、最大利用可能総容量の異なるものを含む複数の記憶装置と、
各記憶装置に結び付けられ、各記憶装置に対するアクセスを制御するための制御モジュールと、
該複数の記憶装置によるストレージ機能を利用するデータ処理装置がリード/ライト対象とする論理記憶領域と該記憶装置上の物理記憶領域とを対応付ける対応付け手段と、
各記憶装置もしくは全記憶装置に格納されているデータ総量に係る情報をモニタするモニタ手段と、
該モニタ手段によるモニタ結果に応じた指標値を算出する指標値算出手段と、
該指標値算出手段によって算出された前記指標値に基づき、該制御モジュールを介して、前記論理記憶領域を該複数の記憶装置上の物理記憶領域に分散して配置もしくは再配置する配置手段とをそなえたことを特徴とする、分散型ストレージシステム。
(付記2) 該モニタ手段が、全記憶装置に格納されているデータ総量もしくは前記論理記憶領域ごとのデータ格納量と、全記憶装置の最大利用可能総容量との比である、システム全体の使用率をモニタし、
該指標値算出手段が、前記指標値を、該モニタ手段によってモニタされた前記システム全体の使用率に応じて算出することを特徴とする、付記1記載の分散型ストレージシステム。
(付記3) 該モニタ手段によってモニタされた前記システム全体の使用率が第1所定値よりも小さい場合、該指標値算出手段が、前記指標値として、各記憶装置に格納されているデータ総量(使用容量)もしくは前記論理記憶領域ごとのデータ格納量(使用容量)を該モニタ手段から取得し、
該配置手段が、該指標値算出手段によって取得された、各記憶装置における前記使用容量を平準化するように、前記論理記憶領域の分散配置/再配置を行なうことを特徴とする、付記2記載の分散型ストレージシステム。
(付記4) 該モニタ手段によってモニタされた前記システム全体の使用率が第2所定値よりも大きい場合、該指標値算出手段が、前記指標値として、各記憶装置の最大利用可能総容量と各記憶装置に格納されているデータ総量との差(残容量)を、該モニタ手段によるモニタ結果に基づいて算出し、
該配置手段が、該指標値算出手段によって算出された、各記憶装置における前記残容量を平準化するように、前記論理記憶領域の分散配置/再配置を行なうことを特徴とする、付記2記載の分散型ストレージシステム。
(付記5) 該指標値算出手段が、各記憶装置の最大利用可能総容量と、該モニタ手段によってモニタされた、各記憶装置に格納されているデータ総量もしくは前記論理記憶領域ごとのデータ格納量とを重み付け後に加算もしくは減算した値を、前記指標値として算出し、
該配置手段が、該指標値算出手段によって算出された前記指標値を平準化するように、前記論理記憶領域の分散配置/再配置を行なうことを特徴とする、付記1記載の分散型ストレージシステム。
(付記6) 該指標値算出手段が、各記憶装置の最大利用可能総容量に、該モニタ手段によってモニタされた前記システム全体の使用率を重みとして乗算した値と、該モニタ手段によってモニタされた、各記憶装置に格納されているデータ総量もしくは前記論理記憶領域ごとのデータ格納量との差を、前記指標値として算出し、
該配置手段が、該指標値算出手段によって算出された前記指標値を平準化するように、前記論理記憶領域の分散配置/再配置を行なうことを特徴とする、付記2記載の分散型ストレージシステム。
(付記7) 該指標値算出手段が、各記憶装置の最大利用可能総容量に、該モニタ手段によってモニタされた前記システム全体の使用率のM乗(M>1)を重みとして乗算した値と、該モニタ手段によってモニタされた、各記憶装置に格納されているデータ総量もしくは前記論理記憶領域ごとのデータ格納量との差を、前記指標値として算出し、
該配置手段が、該指標値算出手段によって算出された前記指標値を平準化するように、前記論理記憶領域の分散配置/再配置を行なうことを特徴とする、付記2記載の分散型ストレージシステム。
(付記8) 該指標値算出手段が、各記憶装置の最大利用可能総容量に、該モニタ手段によってモニタされた前記システム全体の使用率のM乗根(M>1)を重みとして乗算した値と、該モニタ手段によってモニタされた、各記憶装置に格納されているデータ総量もしくは前記論理記憶領域ごとのデータ格納量との差を、前記指標値として算出し、
該配置手段が、該指標値算出手段によって算出された前記指標値を平準化するように、前記論理記憶領域の分散配置/再配置を行なうことを特徴とする、付記2記載の分散型ストレージシステム。
(付記9) 該指標値算出手段が、該モニタ手段によってモニタされた、各記憶装置に格納されているデータ総量もしくは前記論理記憶領域ごとのデータ格納量と、各記憶装置の最大利用可能総容量との比の対数値と、当該比の幾何平均の対数値との差を、前記指標値として算出し、
該配置手段が、該指標値算出手段によって算出された前記指標値をゼロに近づけるように、前記論理記憶領域の分散配置/再配置を行なうことを特徴とする、付記1記載の分散型ストレージシステム。
(付記10) 該指標値算出手段が、該モニタ手段によってモニタされた、各記憶装置に格納されているデータ総量もしくは前記論理記憶領域ごとのデータ格納量と、各記憶装置の最大利用可能総容量との比と、該モニタ手段によってモニタされた前記システム全体の使用率との差を、前記指標値として算出し、
該配置手段が、該指標値算出手段によって算出された前記指標値をゼロに近づけるように、前記論理記憶領域の分散配置/再配置を行なうことを特徴とする、付記2記載の分散型ストレージシステム。
(付記11) 該指標値算出手段が、該モニタ手段によってモニタされた、各記憶装置に格納されているデータ総量もしくは前記論理記憶領域ごとのデータ格納量と、該モニタ手段によってモニタされた、全記憶装置に格納されているデータ総量もしくは前記論理記憶領域ごとのデータ格納量との比と、各記憶装置の最大利用可能総容量と全記憶装置の最大利用可能総容量との比との差を、前記指標値として算出し、
該配置手段が、該指標値算出手段によって算出された前記指標値をゼロに近づけるように、前記論理記憶領域の分散配置/再配置を行なうことを特徴とする、付記1記載の分散型ストレージシステム。
(付記12) 該複数の記憶装置が、サービス属性を予め設定された複数のクラスに分類されるとともに、
該データ処理装置のリード/ライト対象であるデータに、当該データに対する要求属性が予め設定され、
該配置手段が、分散配置/再配置対象であるデータの要求属性に応じたサービス属性を決定し、決定されたサービス属性を設定されたクラスに属する記憶装置上の物理記憶領域に、当該データの分散配置/再配置を行なうことを特徴とする、付記1〜付記11のいずれか一つに記載の分散型ストレージシステム。
(付記13) 前記サービス属性が、各記憶装置の有する性能に基づくものであることを特徴とする、付記12記載の分散型ストレージシステム。
(付記14) 該データ処理装置のリード/ライト対象であるデータに、当該データに対する要求属性が予め設定され、
該指標値算出手段が、該配置手段による分散配置/再配置対象であるデータの要求属性に応じた指標値算出手法を決定し、決定された指標値算出手法を用いて前記指標値を算出することを特徴とする、付記1〜付記11のいずれか一つに記載の分散型ストレージシステム。
(付記15) 該モニタ手段によってモニタされる、全記憶装置に格納されているデータ総量もしくは前記論理記憶領域ごとのデータ格納量と、全記憶装置の最大利用可能総容量との比である、システム全体の使用率が、予め設定された水準を超えた場合に、その旨をシステム管理者に通知する通知手段をさらにそなえたことを特徴とする、付記1〜付記14のいずれか一つに記載の分散型ストレージシステム。
(付記16) 該モニタ手段によってモニタされる、全記憶装置に格納されているデータ総量もしくは前記論理記憶領域ごとのデータ格納量と、全記憶装置の最大利用可能総容量との比である、システム全体の使用率の履歴に基づいて、当該使用率の近未来値を推定する推定手段と、
該推定手段によって推定された前記近未来値が予め設定された水準を超えた場合に、その旨をシステム管理者に通知する通知手段とをさらにそなえたことを特徴とする、付記1〜付記14のいずれか一つに記載の分散型ストレージシステム。
(付記17) 該モニタ手段によってモニタされる、全記憶装置に格納されているデータ総量もしくは前記論理記憶領域ごとのデータ格納量と、全記憶装置の最大利用可能総容量との比である、システム全体の使用率が、予め設定された水準を超えた場合に、予め用意された予備記憶装置を、該予備記憶装置用の制御モジュールを介して自動的に追加する手段をさらにそなえたことを特徴とする、付記1〜付記14のいずれか一つに記載の分散型ストレージシステム。
(付記18) 該モニタ手段によってモニタされる、全記憶装置に格納されているデータ総量もしくは前記論理記憶領域ごとのデータ格納量と、全記憶装置の最大利用可能総容量との比である、システム全体の使用率の履歴に基づいて、当該使用率の近未来値を推定する推定手段と、
該推定手段によって推定された前記近未来値が予め設定された水準を超えた場合に、予め用意された予備記憶装置を、該予備記憶装置用の制御モジュールを介して自動的に追加する手段をさらにそなえたことを特徴とする、付記1〜付記14のいずれか一つに記載の分散型ストレージシステム。
(付記19) 該指標値算出手段が、該制御モジュール,該データ処理装置,独立した専用モジュール,システム制御用モジュール,通信装置(該データ処理装置および該複数の制御モジュールの相互間を通信可能に接続する通信路上にそなえられたもの)のうちの少なくとも一つに実装されていることを特徴とする、付記1〜付記18のいずれか一つに記載の分散型ストレージシステム。
(付記20) 該配置手段が、該制御モジュール,該データ処理装置,独立した専用モジュール,システム制御用モジュール,通信装置(該データ処理装置および該複数の制御モジュールの相互間を通信可能に接続する通信路上にそなえられたもの)のうちの少なくとも一つに実装されていることを特徴とする、付記1〜付記19のいずれか一つに記載の分散型ストレージシステム。
(付記21) 該指標値算出手段と該配置手段との対が複数組実装され、これら複数組の対が独立して指標値算出機能および分散配置/再配置機能を果たすことを特徴とする、付記1〜付記20のいずれか一つに記載の分散型ストレージシステム。
(付記22) データを記憶するものであって最大利用可能総容量の異なるものを含む複数の記憶装置と、各記憶装置に結び付けられ各記憶装置に対するアクセスを制御するための制御モジュールと、該複数の記憶装置によるストレージ機能を利用するデータ処理装置がリード/ライト対象とする論理記憶領域と該記憶装置上の物理記憶領域とを対応付ける対応付け手段と、各記憶装置もしくは全記憶装置に格納されているデータ総量に係る情報をモニタするモニタ手段とをそなえて構成される分散型ストレージシステムを制御するための制御装置であって、
該モニタ手段によるモニタ結果に応じた指標値を算出する指標値算出手段と、
該指標値算出手段によって算出された前記指標値に基づき、該制御モジュールを介して、前記論理記憶領域を該複数の記憶装置上の物理記憶領域に分散して配置もしくは再配置する配置手段とをそなえたことを特徴とする、分散型ストレージシステム用制御装置。
(付記23) データを記憶するものであって、最大利用可能総容量の異なるものを含む複数の記憶装置と、
各記憶装置に結び付けられ、各記憶装置に対するアクセスを制御するための制御モジュールと、
該複数の記憶装置によるストレージ機能を利用するデータ処理装置がリード/ライト対象とする論理記憶領域と該記憶装置上の物理記憶領域とを対応付ける対応付け手段と、
各記憶装置もしくは全記憶装置に格納されているデータ総量もしくは使用可能残容量に係る情報をモニタするモニタ手段と、
該モニタ手段のモニタ結果を含むシステム情報に基づき、該複数の記憶装置を含んで構成される本システムの安定的運用に係る評価値(システム安定度)を算出する評価値算出手段と、
該評価値算出手段によって算出された前記評価値に応じて、システム管理者に対する通知を行なう通知手段とをそなえたことを特徴とする、分散型ストレージシステム。
(付記24) 該通知手段が、該評価値算出手段によって算出された前記評価値を、本システムを管理するためのモニタ画面上に表示することによって、前記システム管理者に通知することを特徴とする、付記23記載の分散型ストレージシステム。
(付記25) 該通知手段が、該評価値算出手段によって算出された前記評価値が所定条件を満たした場合に、その旨を、特定アドレスもしくは特定装置に対し信号を発信することによって、前記システム管理者に通知することを特徴とする、付記23記載の分散型ストレージシステム。
(付記26) 該モニタ手段が、該制御モジュールからの報告を受け取ることによって、前記情報をモニタすることを特徴とする、付記23〜付記25のいずれか一つに記載の分散型ストレージシステム。
(付記27) 該モニタ手段が、該制御モジュールの動作記録を参照することによって、前記情報をモニタすることを特徴とする、付記23〜付記25のいずれか一つに記載の分散型ストレージシステム。
(付記28) 該モニタ手段が、各記憶装置もしくは全記憶装置の使用状態を直接調査することによって、前記情報をモニタすることを特徴とする、付記23〜付記25のいずれか一つに記載の分散型ストレージシステム。
(付記29) 該モニタ手段が、該制御モジュールによって特定タイミングで予め収集・保存された各記憶装置の使用状態を、その保存場所から順次読み出すことによって、前記情報をモニタすることを特徴とする、付記23〜付記25のいずれか一つに記載の分散型ストレージシステム。
(付記30) 該評価値算出手段が、該モニタ手段のモニタ結果を含むシステム情報に基づき、該複数の記憶装置のうちの一つが障害発生によりデータを失った場合にそのデータを回復させるためのリカバー操作の実行可能回数を前記評価値(システム安定度)として算出することを特徴とする、付記23〜付記29のいずれか一つに記載の分散型ストレージシステム。
(付記31) 該評価値算出手段によって算出された前記評価値に応じて、予め用意された予備記憶装置を、該予備記憶装置用の制御モジュールを介して自動的に追加する自動追加手段をさらにそなえたことを特徴とする、付記23〜付記30のいずれか一つに記載の分散型ストレージシステム。
(付記32) データを記憶するものであって、最大利用可能総容量の異なるものを含む複数の記憶装置と、
各記憶装置に結び付けられ、各記憶装置に対するアクセスを制御するための制御モジュールと、
該複数の記憶装置によるストレージ機能を利用するデータ処理装置がリード/ライト対象とする論理記憶領域と該記憶装置上の物理記憶領域とを対応付ける対応付け手段と、
各記憶装置もしくは全記憶装置に格納されているデータ総量もしくは使用可能残容量に係る情報をモニタするモニタ手段と、
該モニタ手段によるモニタ結果に応じた指標値を算出する指標値算出手段と、
該指標値算出手段によって算出された前記指標値に基づき、該制御モジュールを介して、前記論理記憶領域を該複数の記憶装置上の物理記憶領域に分散して配置もしくは再配置する配置手段と、
該モニタ手段のモニタ結果を含むシステム情報に基づき、該複数の記憶装置を含んで構成される本システムの安定的運用に係る評価値(システム安定度)を算出する評価値算出手段と、
該評価値算出手段によって算出された前記評価値に応じて、システム管理者に対する通知を行なう通知手段とをそなえたことを特徴とする、分散型ストレージシステム。
(付記33) データを記憶するものであって最大利用可能総容量の異なるものを含む複数の記憶装置と、各記憶装置に結び付けられ各記憶装置に対するアクセスを制御するための制御モジュールと、該複数の記憶装置によるストレージ機能を利用するデータ処理装置がリード/ライト対象とする論理記憶領域と該記憶装置上の物理記憶領域とを対応付ける対応付け手段と、各記憶装置もしくは全記憶装置に格納されているデータ総量もしくは使用可能残容量に係る情報をモニタするモニタ手段とをそなえて構成される分散型ストレージシステムを制御するための制御装置であって、
該モニタ手段のモニタ結果を含むシステム情報に基づき、該複数の記憶装置を含んで構成される本システムの安定的運用に係る評価値(システム安定度)を算出する評価値算出手段と、
該評価値算出手段によって算出された前記評価値に応じて、システム管理者に対する通知を行なう通知手段とをそなえたことを特徴とする、分散型ストレージシステム用制御装置。
以上のように、本発明によれば、システム全体の使用率等に応じた分散配置/再配置処理を実行することが可能であり、各記憶装置の最大利用可能総容量や速度パフォーマンスなどの特性が大きく異なっているという状況下で、システム全体の使用率が変化しても、システムを効率的かつ安定的に動作制御することができる。
従って、本発明は、最大利用可能総容量の大きく異なる複数の記憶装置をそなえることになる分散型ストレージシステム、例えば、システム拡張性を事実上無限とみなすことができ、且つ、サービスを中断することなく連続遂行する大規模ネットワークストレージシステムに用いて好適であり、その有用性は極めて高いものと考えられる。
本発明の第1実施形態としての分散型ネットワークストレージシステム(分散型ストレージシステム)の構成を示すブロック図である。 本実施形態の動作を説明するためのグラフである。 本発明の第2実施形態としての分散型ネットワークストレージシステム(分散型ストレージシステム)の構成を示すブロック図である。 本発明の第3実施形態としての分散型ネットワークストレージシステム(分散型ストレージシステム)の構成を示すブロック図である。 本発明の第4実施形態としての分散型ネットワークストレージシステム(分散型ストレージシステム)の構成を示すブロック図である。 本発明の第4実施形態としての分散型ネットワークストレージシステム(分散型ストレージシステム)の構成の変形例を示すブロック図である。 本発明の第5実施形態としての分散型ネットワークストレージシステム(分散型ストレージシステム)の構成を示すブロック図である。 本発明の第6実施形態としての分散型ネットワークストレージシステム(分散型ストレージシステム)の構成を示すブロック図である。 本発明の第6実施形態としての分散型ネットワークストレージシステム(分散型ストレージシステム)の構成の変形例を示すブロック図である。 本発明の第7実施形態としての分散型ネットワークストレージシステム(分散型ストレージシステム)の構成を示すブロック図である。 本発明の第8実施形態としての分散型ネットワークストレージシステム(分散型ストレージシステム)の構成を示すブロック図である。 本発明の第9実施形態としての分散型ネットワークストレージシステム(分散型ストレージシステム)の構成を示すブロック図である。
符号の説明
10,10A,10B,10C,10D,10E,10F,10G,10H 分散型ネットワークストレージシステム(分散型ストレージシステム)
20,20−1〜20−6 記憶装置(物理記憶装置,ノード)
21,21−1〜21−6 制御モジュール
30 データ処理装置(ユーザ側端末)
31 対応付けマップ(対応付け手段)
40 ネットワーク(ネットワーク接続手段,通信路)
41 ハブ(通信装置)
50 モニタエージェント(モニタ手段)
60,60A,60B,60C 配置エージェント
61 指標値算出手段
62 配置手段(再配置手段)
63 停止手段
64 属性テーブル
65 変更手段
66 通知手段
67 自動追加手段
68 推定手段
70 予備記憶装置
71 予備記憶装置用制御モジュール
80 通知エージェント
81 判定部(評価値算出手段,比較手段)
81a 判定部(評価値算出手段,比較手段,第1比較手段,第2比較手段)
82 通知手段
90 補機追加手段(自動追加手段)
91 障害検知手段
92 障害回復(リカバー)手段
93 追加用補機容量の推奨値算出部(推奨値算出手段,推測エージェント)

Claims (9)

  1. データを記憶するものであって、最大利用可能総容量の異なるものを含む複数の記憶装置と、
    該複数の記憶装置にそれぞれ結び付けられ、各記憶装置に対するアクセスを制御するための複数の制御モジュールと、
    各記憶装置および全記憶装置に格納されているデータ総量に係る情報をモニタするモニタ手段と、
    該モニタ手段によるモニタ結果に応じた指標値を算出する指標値算出手段と、
    該指標値算出手段によって算出された前記指標値に基づき、該制御モジュールを介して、該複数の記憶装置へのデータ分散配置、もしくは、該複数の記憶装置間でのデータ移動を実行する配置手段と
    該配置手段によるデータ分散配置もしくはデータ移動の対象となる該複数の記憶装置に対し、リード/ライト対象とする論理記憶領域と該記憶装置上の物理記憶領域とを対応付けながら実物理データへの実アクセスを実行するデータ処理装置とをそなえ、
    該モニタ手段が、全記憶装置に格納されているデータ総量と、全記憶装置の最大利用可能総容量との比である、システム全体の使用率をモニタし、
    該モニタ手段によってモニタされた前記システム全体の使用率が第1所定値よりも小さい場合、該指標値算出手段が、前記指標値として、各記憶装置に格納されているデータ総量(使用容量)を該モニタ手段から取得し、該配置手段が、該指標値算出手段によって取得された、各記憶装置における前記使用容量を平準化するように、データ分散配置もしくはデータ移動を行なう一方、
    該モニタ手段によってモニタされた前記システム全体の使用率が第2所定値(>前記第1所定値)よりも大きい場合、該指標値算出手段が、前記指標値として、各記憶装置の最大利用可能総容量と各記憶装置に格納されているデータ総量との差(残容量)を、該モニタ手段によるモニタ結果に基づいて算出し、該配置手段が、該指標値算出手段によって算出された、各記憶装置における前記残容量を平準化するように、データ分散配置もしくはデータ移動を行なうことを特徴とする、分散型ストレージシステム。
  2. 該複数の記憶装置が、サービス属性を予め設定された複数のクラスに分類されるとともに、
    該データ処理装置のリード/ライト対象であるデータに、当該データに対する要求属性が予め設定され、
    該配置手段が、データ分散配置もしくはデータ移動の対象であるデータの要求属性に応じたサービス属性を決定し、決定されたサービス属性を設定されたクラスに属する記憶装置上の物理記憶領域に、当該データのデータ分散配置もしくはデータ移動を行なうことを特徴とする、請求項1記載の分散型ストレージシステム。
  3. 該モニタ手段によってモニタされる、全記憶装置に格納されているデータ総量と、全記憶装置の最大利用可能総容量との比である、システム全体の使用率が、予め設定された水準を超えた場合に、その旨をシステム管理者に通知する通知手段、および、予め用意された予備記憶装置を、該予備記憶装置用の制御モジュールを介して自動的に追加する手段のうちの少なくとも一方をさらにそなえたことを特徴とする、請求項1または請求項2に記載の分散型ストレージシステム。
  4. 該指標値算出手段もしくは該配置手段が、該制御モジュール,該データ処理装置,通信装置(該データ処理装置および該複数の制御モジュールの相互間を通信可能に接続する通信路上にそなえられたもの)のうちの少なくとも一つに実装されていることを特徴とする、請求項1〜請求項3のいずれか一項に記載の分散型ストレージシステム。
  5. 該モニタ手段のモニタ結果を含むシステム情報に基づき、該複数の記憶装置を含んで構成される本システムの安定的運用に係る評価値(システム安定度)を算出する評価値算出手段と、
    該評価値算出手段によって算出された前記評価値に応じて、システム管理者に対する通知を行なう通知手段とをそなえたことを特徴とする、請求項1〜請求項4のいずれか一項に記載の分散型ストレージシステム。
  6. 該評価値算出手段が、該モニタ手段のモニタ結果を含むシステム情報に基づき、該複数の記憶装置のうちの一つが障害発生によりデータを失った場合にそのデータを回復させるためのリカバー操作を何台の記憶装置に対して実行可能であるかを示す実行可能回数を前記評価値(システム安定度)として算出することを特徴とする、請求項5記載の分散型ストレージシステム。
  7. 該評価値算出手段が、該モニタ手段のモニタ結果を含むシステム情報に基づき、リカバー操作の成否判定処理を1回目から順次実行し、リカバー操作が成功したと判定された場合に次のリカバー操作の成否判定処理を実行し、M回目のリカバー操作の成否判定処理でリカバー操作が成功したと判定され且つM+1回目のリカバー操作の成否判定処理でリカバー操作が失敗したと判定された場合に「M」を前記実行可能回数として算出することを特徴とする、請求項6記載の分散型ストレージシステム。
  8. 記実行可能回数Mと予め設定された閾値とを比較する比較手段と、
    該比較手段による比較結果に応じて、予め用意された予備記憶装置を、該予備記憶装置用の制御モジュールを介して自動的に追加する自動追加手段とをさらにそなえたことを特徴とする、請求項7記載の分散型ストレージシステム。
  9. 記実行可能回数Mと予め設定された第1閾値および第2閾値(>前記第1閾値)とを比較する比較手段と、
    該比較手段による比較の結果、前記実行可能回数Mが前記第1閾値以下となった場合に、予め用意された予備記憶装置を、該予備記憶装置用の制御モジュールを介して自動的に追加する自動追加手段とをさらにそなえ、
    該比較手段による比較の結果、前記実行可能回数Mが前記第2閾値以下となった場合に、該通知手段が前記システム管理者に対する通知動作を行なうことを特徴とする、請求項7記載の分散型ストレージシステム。
JP2004116553A 2003-07-14 2004-04-12 分散型ストレージシステム Expired - Fee Related JP4418286B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004116553A JP4418286B2 (ja) 2003-07-14 2004-04-12 分散型ストレージシステム
US10/880,241 US7774572B2 (en) 2003-07-14 2004-06-29 Migrating data in a distributed storage system based on storage capacity utilization

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003274307 2003-07-14
JP2004116553A JP4418286B2 (ja) 2003-07-14 2004-04-12 分散型ストレージシステム

Publications (2)

Publication Number Publication Date
JP2005050303A JP2005050303A (ja) 2005-02-24
JP4418286B2 true JP4418286B2 (ja) 2010-02-17

Family

ID=34067385

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004116553A Expired - Fee Related JP4418286B2 (ja) 2003-07-14 2004-04-12 分散型ストレージシステム

Country Status (2)

Country Link
US (1) US7774572B2 (ja)
JP (1) JP4418286B2 (ja)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4596902B2 (ja) * 2004-12-10 2010-12-15 株式会社日立製作所 ストレージ管理装置、計算機システム、ストレージ管理方法及びストレージ管理プログラム
US20100195538A1 (en) * 2009-02-04 2010-08-05 Merkey Jeffrey V Method and apparatus for network packet capture distributed storage system
US7855974B2 (en) * 2004-12-23 2010-12-21 Solera Networks, Inc. Method and apparatus for network packet capture distributed storage system
JP4690783B2 (ja) * 2005-06-08 2011-06-01 株式会社日立製作所 ボリューム管理システムおよびその方法
US7363449B2 (en) * 2005-10-06 2008-04-22 Microsoft Corporation Software agent-based architecture for data relocation
US7590666B2 (en) * 2006-06-16 2009-09-15 Microsoft Corporation Predicting capacity consumption in a memory component
JP5379956B2 (ja) * 2007-03-19 2013-12-25 株式会社日立製作所 ストレージ装置及び記憶領域配置方法
US8370597B1 (en) 2007-04-13 2013-02-05 American Megatrends, Inc. Data migration between multiple tiers in a storage system using age and frequency statistics
US8006061B1 (en) 2007-04-13 2011-08-23 American Megatrends, Inc. Data migration between multiple tiers in a storage system using pivot tables
JP5217452B2 (ja) * 2008-01-25 2013-06-19 富士通株式会社 情報処理装置及びシステム、並びに、記憶領域管理方法及びプログラム
US8914340B2 (en) * 2008-02-06 2014-12-16 International Business Machines Corporation Apparatus, system, and method for relocating storage pool hot spots
US8423739B2 (en) * 2008-02-06 2013-04-16 International Business Machines Corporation Apparatus, system, and method for relocating logical array hot spots
US8321386B1 (en) * 2008-04-14 2012-11-27 Netapp, Inc. System and method for estimating a compressibility of data in a storage device
US8004998B2 (en) * 2008-05-23 2011-08-23 Solera Networks, Inc. Capture and regeneration of a network data using a virtual software switch
US20090292736A1 (en) * 2008-05-23 2009-11-26 Matthew Scott Wood On demand network activity reporting through a dynamic file system and method
US8625642B2 (en) 2008-05-23 2014-01-07 Solera Networks, Inc. Method and apparatus of network artifact indentification and extraction
US8521732B2 (en) 2008-05-23 2013-08-27 Solera Networks, Inc. Presentation of an extracted artifact based on an indexing technique
US8055835B2 (en) * 2008-06-23 2011-11-08 International Business Machines Corporation Apparatus, system, and method for migrating wear spots
JP2010072753A (ja) * 2008-09-16 2010-04-02 Hitachi Ltd 自動拡張ボリューム及び省電力機能を備えたストレージシステム
JP2010086424A (ja) * 2008-10-01 2010-04-15 Hitachi Ltd ストレージ装置の管理装置
JP5245934B2 (ja) 2009-03-11 2013-07-24 富士通株式会社 管理装置の管理プログラム、管理装置、管理装置の管理方法およびストレージシステム
JP2010250477A (ja) * 2009-04-14 2010-11-04 Fujitsu Ltd ストレージ制御プログラム、ストレージシステム、ストレージ制御装置、およびストレージ制御方法
CN102511030B (zh) * 2009-04-23 2015-05-20 株式会社日立制作所 计算机系统及其控制方法
US9015431B2 (en) * 2009-10-29 2015-04-21 Cleversafe, Inc. Distributed storage revision rollbacks
US20110125748A1 (en) * 2009-11-15 2011-05-26 Solera Networks, Inc. Method and Apparatus for Real Time Identification and Recording of Artifacts
US20110125749A1 (en) * 2009-11-15 2011-05-26 Solera Networks, Inc. Method and Apparatus for Storing and Indexing High-Speed Network Traffic Data
CN102640120B (zh) * 2010-01-28 2014-12-10 株式会社日立制作所 计算增设/减设的存储容量的管理系统
JP5585116B2 (ja) * 2010-02-19 2014-09-10 日本電気株式会社 ストレージシステム
US8849991B2 (en) 2010-12-15 2014-09-30 Blue Coat Systems, Inc. System and method for hypertext transfer protocol layered reconstruction
AU2012212980A1 (en) * 2011-01-10 2013-08-01 Storone Ltd. Large scale storage system
US8666985B2 (en) 2011-03-16 2014-03-04 Solera Networks, Inc. Hardware accelerated application-based pattern matching for real time classification and recording of network traffic
JP5733124B2 (ja) 2011-09-12 2015-06-10 富士通株式会社 データ管理装置、データ管理システム、データ管理方法、及びプログラム
US20130262811A1 (en) * 2012-03-27 2013-10-03 Hitachi, Ltd. Method and apparatus of memory management by storage system
US9448900B2 (en) 2012-06-25 2016-09-20 Storone Ltd. System and method for datacenters disaster recovery
JP6142599B2 (ja) * 2013-03-18 2017-06-07 富士通株式会社 ストレージシステム、ストレージ装置および制御プログラム
AU2014233753A1 (en) 2013-03-21 2015-10-01 Storone Ltd. Deploying data-path-related plugins
JP6001480B2 (ja) * 2013-03-25 2016-10-05 Kddi株式会社 マイグレーション処理方法及び処理装置
JP2014215666A (ja) 2013-04-23 2014-11-17 富士通株式会社 制御システム,制御装置及び制御プログラム
EP2942715B1 (en) 2013-09-24 2017-11-08 Huawei Technologies Co., Ltd. Data migration method, data migration apparatus and storage device
JP6280062B2 (ja) * 2015-02-17 2018-02-14 日本電信電話株式会社 加入者情報収容装置と加入者情報収容方法
US10715460B2 (en) * 2015-03-09 2020-07-14 Amazon Technologies, Inc. Opportunistic resource migration to optimize resource placement
US10146469B2 (en) * 2015-09-29 2018-12-04 EMC IP Holding Company, LLC Dynamic storage tiering based on predicted workloads
US10216862B1 (en) * 2016-09-26 2019-02-26 Splunk Inc. Predictive estimation for ingestion, performance and utilization in a data indexing and query system
TWI615710B (zh) * 2016-12-14 2018-02-21 群聯電子股份有限公司 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
US11316829B2 (en) * 2017-05-05 2022-04-26 Royal Bank Of Canada Distributed memory data repository based defense system
US10540370B2 (en) * 2017-06-26 2020-01-21 Huawei Technologies Co., Ltd. Self-balancing binary search capable distributed database
US11121981B1 (en) 2018-06-29 2021-09-14 Amazon Technologies, Inc. Optimistically granting permission to host computing resources
JP7131357B2 (ja) 2018-12-12 2022-09-06 富士通株式会社 通信装置、通信方法、および通信プログラム
CN114924910B (zh) * 2022-05-17 2023-11-03 江苏迈步信息科技有限公司 一种基于分布式存储系统的超融合数据管理的处理方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5018060A (en) * 1989-01-26 1991-05-21 Ibm Corporation Allocating data storage space of peripheral data storage devices using implied allocation based on user parameters
JPH0792775B2 (ja) * 1989-12-11 1995-10-09 株式会社日立製作所 外部記憶装置群のスペース管理方法
JP2924167B2 (ja) 1990-11-16 1999-07-26 株式会社日立製作所 記憶装置群の制御方法
JPH05151035A (ja) 1991-11-29 1993-06-18 Shikoku Nippon Denki Software Kk データベースシステム
JP2766424B2 (ja) 1992-06-04 1998-06-18 三菱電機株式会社 論理ボリューム装置
CA2108833A1 (en) * 1992-10-22 1994-04-23 Masanori Ishii File compression processor
JPH0773090A (ja) 1993-06-21 1995-03-17 Hitachi Ltd 計算機システムおよび二次記憶装置
US5619690A (en) 1993-06-21 1997-04-08 Hitachi, Ltd. Computer system including a computer which requests an access to a logical address in a secondary storage system with specification of a local address in the secondary storage system
JPH09223047A (ja) 1996-02-16 1997-08-26 Hitachi Ltd コンピュータネットワークの制御方法
JP3641872B2 (ja) 1996-04-08 2005-04-27 株式会社日立製作所 記憶装置システム
JP3817339B2 (ja) 1997-06-26 2006-09-06 株式会社日立製作所 ファイル入出力制御方法
US6061761A (en) * 1997-10-06 2000-05-09 Emc Corporation Method for exchanging logical volumes in a disk array storage device in response to statistical analyses and preliminary testing
US6332204B1 (en) * 1999-03-31 2001-12-18 International Business Machines Corporation Recovering and relocating unreliable disk sectors when encountering disk drive read errors
JP3541744B2 (ja) 1999-08-30 2004-07-14 株式会社日立製作所 ストレージサブシステム及びその制御方法
US6920153B2 (en) * 2000-07-17 2005-07-19 Nortel Networks Limited Architecture and addressing scheme for storage interconnect and emerging storage service providers
JP2002157091A (ja) 2000-11-20 2002-05-31 Hitachi Ltd ストレージサブシステム及びそのシステムに使用する記憶装置
JP4141665B2 (ja) 2001-07-10 2008-08-27 株式会社日立製作所 ストレージの運用方法およびこれに用いるストレージおよび遠隔ストレージ
JP2003131909A (ja) 2001-10-25 2003-05-09 Nec Infrontia Corp コンピュータネットワークシステムにおけるファイル管理装置およびファイル管理方法
JP2003140836A (ja) 2001-10-30 2003-05-16 Hitachi Ltd ストレージシステムの管理方法およびストレージシステム管理プログラムならびに記憶媒体およびストレージシステム
US7197618B2 (en) * 2001-12-14 2007-03-27 Storagency Method and device for distributing objects in a heterogeneous group of data storage devices
JP4167426B2 (ja) 2002-01-28 2008-10-15 株式会社東芝 情報蓄積管理装置
US7092975B2 (en) * 2003-02-12 2006-08-15 Ge Mortgage Holdings, Llc Methods and apparatus for management of data storage resources

Also Published As

Publication number Publication date
US7774572B2 (en) 2010-08-10
JP2005050303A (ja) 2005-02-24
US20050015547A1 (en) 2005-01-20

Similar Documents

Publication Publication Date Title
JP4418286B2 (ja) 分散型ストレージシステム
US11182213B2 (en) Application program management method and device
US7941630B2 (en) Storage system for a storage pool and virtual volumes
JP5423904B2 (ja) 情報処理装置、メッセージ抽出方法およびメッセージ抽出プログラム
JP5099128B2 (ja) ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法
EP2685380A1 (en) Operations management unit, operations management method, and program
US8060493B2 (en) Developing enterprise information life cycle management policies and solutions
US8868864B2 (en) Storage apparatus and storage apparatus control method
EP2026184B1 (en) Device, method, and program for selecting data storage destination from a plurality of tape recording devices
CN106844108B (zh) 一种数据存储方法、服务器以及存储系统
CN109445702A (zh) 一种块级数据去重存储系统
CN109271343A (zh) 一种应用于键值存储系统中的数据合并方法和装置
JPH09237266A (ja) 情報の表現を生成するために使用するための情報を維持するための方法
JP5672386B2 (ja) 計算機およびリソース検索方法
CN100487656C (zh) 资源管理的方法与系统
CN114154035A (zh) 一种动环监控的数据处理系统
JP6960444B2 (ja) 計算機システム及びリソース管理方法
US8756093B2 (en) Method of monitoring a combined workflow with rejection determination function, device and recording medium therefor
CN110209693A (zh) 高并发数据查询方法、装置、系统、设备及可读存储介质
CN103634167B (zh) 云环境中对目标主机进行安全配置检查的方法和系统
JP3461636B2 (ja) データ処理装置
CN104115127A (zh) 存储系统和数据管理方法
CN109254880B (zh) 一种处理数据库宕机的方法及装置
US20210374013A1 (en) Data placement method based on health scores
JP2009294699A (ja) ストレージ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090317

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090728

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090924

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: 20091110

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: 20091127

R150 Certificate of patent or registration of utility model

Ref document number: 4418286

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121204

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121204

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131204

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees